페이지가 검색 엔진에 수집되지 않는 원인은 코드 구조나 서버 설정에 숨어 있을 수 있습니다.
예를 들어, 크롤러가 동적 콘텐츠를 “이해하지 못하거나”, 특정 매개변수 설정 오류로 인해 페이지가 중복으로 간주되어 수집이 차단될 수 있습니다.
이 글에서는 기술적인 점검 관점에서, 많은 사람들이 놓치기 쉬우나 직접적으로 수집에 영향을 주는 6가지 실무 문제를 정리했습니다.

Table of Contens
Toggle페이지 로딩 속도 저하로 크롤러 수집 실패
예를 들어, 서버 응답 시간이 3초를 초과하면 Googlebot이 크롤링을 포기하거나 페이지 일부만 불완전하게 수집할 수 있습니다.
이 문제는 많은 웹마스터들이 사용자 경험(예: 로딩 애니메이션 표시 여부)만 신경 쓰고, 크롤러의 “인내 한계”를 간과해 자주 발생합니다.
서버 응답 시간 과도
문제 진단: Google Search Console의 “핵심 웹 지표” 또는 GTmetrix 등의 도구를 통해 “첫 바이트 시간”(TTFB)을 확인하세요. 1.5초를 초과하면 최적화가 필요합니다.
해결 방안:
- 서버 사양 업그레이드(CPU/메모리) 또는 고성능 호스팅 업체(예: Cloudways, SiteGround)로 이전.
- 데이터베이스 쿼리 최적화: 복잡한 조인 쿼리 최소화 및 제품 테이블에 인덱스 추가.
- 서버 캐시(Redis/Memcached) 활성화로 동적 페이지 생성 빈도 감소.
최적화되지 않은 리소스 파일
대표적 문제:
- 제품 이미지 미압축 (예: PNG를 WebP로 변환하지 않음, 해상도 2000px 초과).
- CSS/JS 파일 미통합으로 수십 건의 HTTP 요청 발생.
수정 단계:
- Squoosh, TinyPNG 등으로 이미지 압축, 주 해상도(예: 가로 1200px)에 맞게 조정.
- Webpack이나 Gulp를 사용하여 CSS/JS 파일 통합, 요청 수 최소화.
- Gzip 또는 Brotli 압축 활성화로 리소스 전송 용량 절감.
렌더링 차단 스크립트
크롤러 시각: 크롤러가 HTML을 분석할 때 비동기 처리되지 않은 스크립트(예: 동기 Google Analytics 스크립트)를 만나면, 스크립트 실행이 끝날 때까지 렌더링이 멈춥니다.
최적화 방안:
- 불필요한 스크립트에
async또는defer속성 추가 (예:). - 고객센터 채팅, 히트맵 분석 등 제3자 도구는 페이지 로드 이후로 실행 지연.
점검 도구 및 우선순위 권장
자가 점검 체크리스트:
- PageSpeed Insights: 특정 리소스 로딩 문제 확인 (예: “JavaScript 실행 시간 단축”).
- Screaming Frog: 제품 페이지의 TTFB 대량 검사, 시간 초과 URL 선별.
- Lighthouse: “기회” 항목에서 최적화 제안 확인 (예: 사용되지 않는 CSS 제거).
긴급 최적화 우선순위: TTFB 2초 초과 페이지, HTTP 요청 수 50건 초과 페이지, 이미지 용량 500KB 초과 리소스 우선 처리.
참고 데이터: Google 공식 자료에 따르면, 페이지 로딩 시간이 1초에서 3초로 늘어나면 크롤링 실패 확률이 32% 증가합니다. 위 최적화를 통해 대부분의 제품 페이지는 2초 이내 로딩 가능해져 수집 성공률이 크게 향상됩니다.
robots.txt 파일의 제품 디렉토리 차단 실수
예를 들어, Disallow: /tmp/ 를 Disallow: /product/ 로 잘못 입력하면, 크롤러가 제품 페이지를 완전히 건너뛰게 되어 콘텐츠 품질이 우수해도 수집되지 않습니다.
robots.txt 차단 문제 신속 진단
점검 도구:
- Google Search Console: “색인” > “웹페이지” 보고서에서 제품 페이지가 “차단됨”으로 표시되면 상세정보에서 robots.txt 차단 기록 확인.
- 온라인 테스트 도구: robots.txt 테스트 도구 에서 URL 입력 후 크롤러 권한 시뮬레이션.
대표적 오류 사례:
- 경로 오탈자 (예:
/produc/를/product/로 오타). - 과도한
*와일드카드 사용 (예:Disallow: /*.jpg$로 모든 제품 이미지 차단).
잘못된 차단 규칙 수정 방법
작성 원칙:
- 경로 정확 매칭:모호한 차단을 피하고, 임시 디렉터리의 경우
Disallow: /old-product/를 사용하고Disallow: /product/는 피하십시오. - 크롤러 종류 구분:스팸 봇만 차단하려면 User-agent를 명시해야 합니다 (예:
User-agent: MJ12bot).
파라미터 처리:
- 필요한 파라미터 허용 (예: 페이지네이션
?page=2):Disallow: *?sort=를 사용해 정렬 파라미터만 차단합니다. $기호로 파라미터 끝을 명시적으로 지정 (예:Disallow: /*?print=true$).
긴급 복구 및 검증 절차
절차 예시:
- robots.txt 파일 수정: 잘못된 줄을 주석 처리하거나 삭제 (예:
# Disallow: /product/). - Google Search Console에서 robots.txt 업데이트 요청 제출.
- ‘URL 검사 도구’로 제품 페이지 크롤링 상태 수동 확인.
- 24시간 후 색인 상태 재확인, 복구되지 않으면 제품 페이지 sitemap을 수동 제출.
보호 조치:
- 버전 관리 도구(Git 등)로 robots.txt 수정 이력 관리, 롤백 가능하도록 함.
- 테스트 환경에서 규칙 변경 사전 테스트, 바로 라이브 파일 수정 금지.
실제 사례 분석
잘못된 설정:
User-agent: *
Disallow: /
Allow: /product/
문제점: Disallow: /가 모든 페이지를 차단해 이후 Allow 규칙이 무효화됨.
정확한 수정:
User-agent: *
Disallow: /admin/
Disallow: /tmp/
Allow: /product/
논리: 관리자 및 임시 디렉터리만 차단하고, 제품 경로는 명시적으로 허용.
제품 페이지의 내부 링크 경로 누락 문제
제품 페이지가 사이트 내에서 적절한 진입 경로(네비게이션, 추천 콘텐츠, 본문 링크 등)가 부족하면 ‘고립된 섬’처럼 돼서, 아무리 콘텐츠가 훌륭해도 크롤러가 색인하기 어려워집니다.
이런 경우는 신상품, 독립 캠페인 페이지, 외부 도구로 일괄 등록된 페이지에서 자주 발생합니다. 사이트 네비게이션 구조에 제대로 연결되지 않았기 때문입니다.
네비게이션 구조 누락 또는 비효율적 설계
대표적인 문제:
- 제품 페이지가 메인 네비게이션 메뉴나 카테고리 디렉터리에 포함되지 않음 (검색 결과 페이지에만 존재).
- 모바일에서 햄버거 메뉴 사용 시, 주요 제품 진입 경로가 여러 단계의 서브 메뉴에 숨겨짐.
해결 방안:
자체 점검 도구:Screaming Frog로 전체 사이트 크롤링 후, ‘내부 링크 수 ≤1’인 제품 페이지 필터링.
최적화 절차:
- 메인 네비게이션에 ‘인기 신상품’ 또는 ‘추천 카테고리’ 메뉴 추가, 주요 제품 모음 페이지로 직접 링크 연결.
- 모든 제품을 반드시 최소 하나의 카테고리 디렉터리에 포함 (
/category/shoes/product-A등).
추천 콘텐츠 모듈 활용 부족
크롤러 관점:‘추천 상품’ 등 동적 추천 콘텐츠가 JavaScript로 로드되면, 크롤러가 링크를 제대로 인식하지 못할 수 있습니다.





