구글 Search Console을 점검하다가 색인 생성 보류 목록에서 '발견됨 - 현재 색인 생성되지 않음' 문구를 보고 당황한 적이 있을 것이다. 사이트맵을 정상 등록했고 URL도 올바르게 생성되었는데 구글이 페이지를 가져가지도 않는 상황이다.

다만 대부분의 개발자나 웹마스터는 이 에러 메시지가 의미하는 정확한 원인과 크롤링 작동 원리를 모른 채 무작정 색인 생성 요청 버튼만 반복해서 누르곤 한다.

이번에는 '발견됨 - 현재 색인 생성되지 않음' 상태가 정확히 무엇을 의미하는지, 구글 크롤러가 왜 이 페이지를 크롤링조차 하지 않는지 원인을 분석하고, 이를 해결하기 위한 크롤링 예산 및 내부 링크 최적화 방법을 완벽하게 정리해서 소개하겠다.

 

'발견됨 - 현재 색인 생성되지 않음'의 원리 이해하기

구글 검색엔진이 웹 페이지를 색인하는 과정은 발견(Discovery), 크롤링(Crawling), 색인(Indexing)의 3단계로 이루어진다. '발견됨 - 현재 색인 생성되지 않음'은 구글이 사이트맵이나 다른 페이지의 링크를 통해 URL 존재는 확인했으나, 아직 해당 페이지를 실제로 방문(크롤링)해서 HTML 데이터를 긁어가지 않은 상태를 뜻한다.

이 상태는 '크롤링됨 - 현재 색인 생성되지 않음'과 명확히 구분해야 한다. 후자는 구글봇이 페이지를 읽어갔으나 콘텐츠 품질이나 중복 이슈로 색인에서 제외한 것이고, 전자는 구글봇이 아예 들어오지조차 않은 것이다.

 

구분발견됨 - 현재 색인 생성되지 않음크롤링됨 - 현재 색인 생성되지 않음
크롤링 여부구글봇이 페이지에 방문하지 않음구글봇이 페이지를 방문하여 수집함
주된 원인크롤링 예산 부족, 내부 링크 부실, 서버 부하 방지저품질 콘텐츠, 중복 페이지, canonical 미설정
해결 우선순위사이트 구조 및 크롤링 효율성 개선콘텐츠 독창성 확보 및 검색 의도 부합

 

핵심 원인 3가지와 상세 해결 방법

구글봇이 URL을 발견하고도 방문하지 않는 대표적인 이유는 크롤링 예산(Crawl Budget) 부족, 부실한 내부 링크 구조, 그리고 대량의 자동 생성 페이지 때문이다.

 

1. 크롤링 예산(Crawl Budget) 낭비 방지

구글봇은 특정 웹사이트의 서버 부하를 줄이기 위해 하루 동안 방문할 수 있는 요청 수를 제한한다. 불필요한 URL(검색 필터 파라미터, 정렬 옵션, 임시 페이지 등)이 사이트맵에 포함되어 있으면 중요한 페이지가 크롤링 우선순위에서 밀리게 된다.

 

2. 내부 링크(Internal Link) 강화

웹사이트 내부에서 해당 URL로 연결되는 링크가 없거나 너무 깊은 깊이(Depth)에 위치해 있다면 구글봇은 해당 페이지의 중요도가 낮다고 판단한다. 홈 화면이나 메인 카테고리 페이지에서 3번 이내의 클릭으로 접근 가능하도록 연결해야 한다.

 

3. 서버 응답 속도 및 서버 오류 개선

구글봇이 사이트에 접근할 때 5xx 서버 에러가 빈번하게 발생하거나 응답 속도가 현저히 느려지면, 구글은 서버를 보호하기 위해 크롤링 빈도를 급격히 줄인다.

 

실전 적용 예제

문제를 해결하려면 불필요한 파라미터 URL을 robots.txt로 차단하고, 중요한 페이지에는 고유한 앵커 텍스트가 포함된 HTML 내부 링크를 제공해야 한다.

 

잘못된 설정과 올바른 설정 비교

✗ 잘못된 방식 (자바스크립트 기반 이동 및 파라미터 남발):

<!-- 구글봇이 추적할 수 없는 이벤트 기반 이동 -->
<button onclick="location.href='/product?id=102&sort=price_asc&page=1'">상품 보기</button>

이 방식은 구글봇이 링크를 수집하기 어렵고, 쓸데없이 복잡한 쿼리 파라미터가 노출되어 크롤링 예산을 낭비시킨다.

✓ 올바른 방식 (표준 HTML semantic 링크 및 Canonical 지정):

<!-- 구글봇이 정확히 추적할 수 있는 a 태그 사용 -->
<a href="/product/102" title="최신 게이밍 마우스 정보">게이밍 마우스 상세보기</a>

출력 결과: 구글 크롤러가 HTML DOM을 해석하는 즉시 연결된 URL을 정식 탭으로 인지하고 크롤링 우선순위를 정상적으로 부여한다.

 

sitemap.xml 최적화 코드 예시

사이트맵에는 실제로 색인되어야 하는 유효한 200 OK 상태의 URL만 남겨두어야 한다. 아래는 PHP로 색인 불가능한 URL을 제외하고 깔끔한 XML 사이트맵을 동적 생성하는 예시이다.

<?php
// sitemap.php - 유효한 페이지로만 구성된 XML 사이트맵 생성
header('Content-Type: application/xml; charset=utf-8');

$pages = [
    ['loc' => 'https://example.com/posts/php-guide', 'lastmod' => '2024-03-20'],
    ['loc' => 'https://example.com/posts/seo-optimization', 'lastmod' => '2024-03-21']
];

echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

foreach ($pages as $page) {
    echo '<url>';
    echo '<loc>' . htmlspecialchars($page['loc']) . '</loc>';
    echo '<lastmod>' . $page['lastmod'] . '</lastmod>';
    echo '<changefreq>daily</changefreq>';
    echo '<priority>0.8</priority>';
    echo '</url>';
}

echo '</urlset>';
?>

출력 결과: 리다이렉트나 404 에러 페이지가 제거된 클린한 사이트맵이 만들어져 구글봇의 수집 효율이 올라간다.

 

주의사항 및 흔한 실수

✗ 색인이 되지 않는다고 해서 동일한 URL을 구글 서치 콘솔에서 매일 수동으로 '색인 생성 요청'하는 것은 아무런 도움이 되지 않는다. 요청 한도만 소모될 뿐, 사이트 자체의 크롤링 구조가 바뀌지 않으면 구글봇은 계속 우선순위를 미룬다.

✓ 새로운 글을 발행한 후에는 관련 주제를 다룬 기존 인기 포스트에 들어가 신규 포스트의 링크를 직접 추가하는 내부 링크 작업을 진행하자. 크롤러가 자주 방문하는 기존 페이지를 통해 신규 URL을 자연스럽게 수집하도록 유도하는 것이 가장 효과적이다.

 

마무리

'발견됨 - 현재 색인 생성되지 않음' 문제는 구글이 내 사이트의 크롤링 가치를 판단하는 과정에서 발생하는 구조적 지표다. 불필요한 URL 수집을 막고 중요한 페이지로의 내부 연결을 단단하게 구축하는 작은 최적화가 모여서 사이트 전체의 색인 속도와 검색 노출을 극대화한다는 점을 잊지 말자. 이 글의 사이트맵 최적화와 내부 링크 가이드를 참고해 사이트 구조를 재정비하면, 구글봇이 빠르게 모든 핵심 페이지를 수집하고 색인하는 최종 결과를 얻을 수 있을 것이다.