구글 블로거 색인 오류 해결: /search/label 페이지 noindex 완벽 설정 가이드

블로거(Blogger)를 운영하다 보면 어느 순간 Search Console에 이상한 URL들이 잔뜩 색인되어 있는 걸 발견하게 됩니다. '/search/label/여행', '/search/label/맛집' 같은 페이지들이 대표적이죠. 이런 페이지들은 실제로는 콘텐츠가 없는 "글 목록"일 뿐인데도 구글이 열심히 크롤링하고 있는 경우가 많습니다.

이번 글에서는 이런 서치/라벨 페이지를 색인에서 제외하는 방법을, 실제로 겪었던 시행착오까지 포함해서 공유하도록 하겠습니다.

1. 왜 서치/라벨 페이지는 색인에서 빼야 할까?

블로거의 라벨을 클릭하면 '/search/label/카테고리명' 형태의 URL로 이동합니다. 이 페이지는 해당 라벨이 붙은 글들을 자동으로 나열해주는 페이지인데, SEO 관점에서는 다음과 같은 문제가 있습니다.

- 얇은 콘텐츠(Thin Content): 새로운 정보 없이 기존 글 목록만 반복해서 보여줍니다. 실제 콘텐츠는 이미 개별 글 페이지에 다 있습니다.

- 무한 페이지네이션: 글이 쌓일수록 라벨의 개수도 늘어나므로 구글이 저가치 페이지를 크롤링하느라 크롤 예산(crawl budget)을 낭비하여 정작 중요한 글의 색인을 못하게 됩니다.

- 중복·기계적인 타이틀: "블로그명: 라벨명" 형태로 타이틀이 기계적으로 생성되고 글 목록만 표시되므로, 저품질 콘텐츠 문제의 근거가 될 수 있습니다.

2. 맞춤 로봇 헤더 태그 사용 설정 방법

블로거는 페이지 유형별로 색인 여부를 지정할 수 있는 기본 기능을 제공합니다. 블로거 대시보드 → 설정 → 크롤러 및 색인 생성에서 '맞춤 로봇 헤더 태그 사용 설정' 토글 버튼을 활성화 합니다. 3개 서브 항목을 클릭하여 아래와 같이 설정한 후 저장합니다.

  • 홈페이지 태그 → all
  • 자료실 및 검색 페이지 태그 → noindex
  • 게시물 및 페이지 태그 → all

이 설정이 정상 반영되면, 서치·라벨·날짜별 아카이브·검색결과 페이지 응답에 'X-Robots-Tag: noindex' HTTP 헤더가 자동으로 붙어 크롤러가 크롤링은 하지만 색인하지 않도록 합니다.

주의할 점은  robots.txt에 'Disallow: /search' 추가하는 것은 절대로 하면 안 됩니다. Disallow는 크롤링 자체를 막으므로 라벨과 연계된 페이지로 이동하는 것도 막게 됩니다. 따라서 크롤링은 허용하고, noindex로만 걸러내는 게 맞습니다.

서치 라벨 색인이 robots.txt에 의해 차단된 오류 이미지
서치 라벨 색인이 robots.txt에 의해 차단된 오류

만약 robots.txt 내용을 수정했다면 Search Console 결과가 바로 안 바뀌더라도 당황하지 마세요. 구글 공식 도움말에도 "라이브 URL을 변경했지만 그 변경사항이 아직 반영되지 않았을 수 있다"고 명시되어 있습니다. 반영까지 몇 시간~하루 정도 걸릴 수 있습니다.

3. 설정이 안 먹힐 때 — 템플릿에 조건문 삽입

위 2번 설정을 했는데도 아래 4번 과정으로 확인한 결과 실제로 반영이 안 될 수가 있는데 외부 템플릿을 사용하거나 기본 템플릿 수정 과정에서 맞춤 로봇 헤더 태그 적용에 오류가 발생했을 가능성이 있습니다.

이럴 땐 '맞춤 로봇 헤더 태그 사용' 대신 HTML <meta> 태그로 우회하는 방식으로 변경해야 합니다.

  • 블로거 대시보드 → 테마 → 맞춤설정 → HTML 편집
  • Ctrl+F <head> 태그를 찾습니다.
  • <head> 바로 아래에 다음 코드를 추가합니다.

<head>

<b:if cond='data:blog.searchLabel'>
  <meta content='noindex' name='robots'/>
</b:if>

'data:blog.searchLabel'은 블로거가 기본 제공하는 템플릿 변수로, 현재 페이지가 라벨(검색) 페이지일 때만 'true'가 되어 실행됩니다. 이 조건 덕분에 홈페이지나 개별 글에는 영향을 주지 않고, 라벨 페이지에만 정확히 'noindex' 메타태그가 삽입됩니다.

여기서 '맞춤 로봇 헤더 태그 설정' 자체를 굳이 다시 끌 필요는 없습니다. 어차피 작동을 안 하고 있었다면 꺼도 상태는 동일하고, 이 메타태그 방식은 헤더 설정과 완전히 독립적으로 작동하기 때문입니다. 제 경우엔 설정을 끄고 메타 태그 조건 코드만 넣었을 때 정상적으로 반영되는 걸 확인했습니다.

4. 색인 제외가 적용됐는지 확인하는 방법

설정만 해두고 끝내면 안 되고 반드시 실제로 검색 라벨 페이지는 색인 제외가 적용되는지 검증해야 합니다.

페이지 소스로 확인

브라우저에서 'view-source:https://내블로그주소/search/label/라벨명'으로 접속해서 'Ctrl+F'로 'noindex'를 검색합니다. <head> 안에 <meta content='noindex' name='robots'/>가 보이면 정상 적용된 것입니다. 반대로 홈페이지나 개별 글 소스에는 이 태그가 없어야 정상입니다.

개발자도구 Network 탭으로 헤더 확인 (선택)

'https://내블로그주소/search/label/라벨명' 접속 후 F12 → Network 탭 → Doc 필터 → 문서 요청 클릭 → Response Headers에서 'x-robots-tag' 값을 확인할 수도 있습니다. 다만 위 3번처럼 메타태그 방식으로 처리한 경우, 이 헤더는 안 뜨는 게 정상입니다 (헤더와 메타태그는 서로 다른 채널이라 어느 한쪽만 있어도 구글은 인식합니다).

Search Console 실시간 테스트로 최종 확인

구글 서치콘솔(Search Console)에서 URL 검사 → 라벨 페이지 URL를 입력하고 엔터를 누른 후 결과 화면에서 오른쪽 상단의 "실시간 테스트" 버튼을 클릭합니다.(기본으로 뜨는 결과는 예전에 캐시된 정보일 수 있으므로, 반드시 실시간 테스트로 다시 확인)

이제 "색인 생성 허용 여부: 아니요 (noindex 태그로 인해)"가 표시되면 검색 라벨의 색인 제외가 제대로 적용된 것입니다.

정리

robots.txt는 크롤링 차단용, noindex는 색인 제외용이라는 것만 헷갈리지 않으면 절반은 해결된 셈입니다. 아래 요약 내용도 다시 한  번 참조하시기 바랍니다.

  • '/search/label/*' 같은 자동 생성 페이지는 얇은 콘텐츠라 색인 금지 (noindex) 
  • 설정 → 크롤러 및 색인 생성 → 맞춤 로봇 헤더 태그 사용 설정 시도
  • 적용 안 되면 테마 HTML에 'data:blog.searchLabel' 조건문으로 메타 태그 직접 삽입
  • 페이지 소스 + Search Console 실시간 테스트 등으로 반드시 검증

[읽어 볼 만한 다른 추천 글]
구글 블로거 페이지 리디렉션 오류 ?m=1 문제와 해결 방법 총정리