시리즈물/데이터 수집을 위한 크롤링

X-Robots-Tag 헤더 기준 정리

포도알77 2026. 7. 21. 17:48

X-Robots-Tag 헤더 기준 정리

X-Robots-Tag는 HTTP 응답 헤더에서 검색엔진의 색인 생성과 검색결과 노출 방식을 제어하는 방법이다. 2026년 7월 21일 확인 기준 Google Search Central 문서는 HTML 문서에는 robots meta 태그를, PDF·이미지·동영상 같은 비HTML 리소스에는 X-Robots-Tag를 사용할 수 있다고 설명한다.

실무에서는 "PDF를 검색결과에서 빼고 싶을 때 무엇을 써야 하는가", "robots.txt만으로 충분한가", "여러 규칙이 충돌하면 무엇이 우선하는가"가 핵심 질문이 된다. 이 글은 Google 공식 문서에 나온 범위 안에서 X-Robots-Tag의 의미와 선택 기준만 정리한다.

X-Robots-Tag는 언제 써야 할까?

가장 대표적인 용도는 HTML <meta name="robots">를 넣기 어려운 리소스를 제어할 때다. Google 문서는 PDF, 동영상 파일, 이미지 파일처럼 비HTML 리소스의 색인 생성을 막으려면 X-Robots-Tag 응답 헤더를 대신 사용하라고 안내한다.

반대로 일반 HTML 페이지라면 보통은 <meta name="robots">가 더 직관적이다. 다만 운영 정책을 서버 레벨에서 일괄 적용해야 하거나, 정규식 기반으로 특정 확장자 전체에 동일한 규칙을 붙여야 한다면 헤더 방식이 관리 측면에서 더 편할 수 있다.

robots meta 태그와 무엇이 다를까?

Google 문서 기준으로 두 방법은 같은 규칙 집합을 공유한다. 즉 noindex, nofollow, nosnippet 같은 지시어는 robots meta 태그와 X-Robots-Tag에 모두 쓸 수 있다. 차이는 설정 위치다.

  • robots meta 태그: 개별 HTML 문서 안에서 페이지 단위로 설정하기 쉽다.
  • X-Robots-Tag: HTTP 응답 헤더에서 동작하므로 비HTML 리소스에도 적용할 수 있다.
  • 헤더 방식: 웹 서버 설정으로 특정 경로, 파일명, 확장자 묶음에 일괄 적용하기 좋다.

따라서 "어느 방식이 더 강력한가"보다 "어떤 리소스에 붙여야 하는가"를 먼저 보는 편이 정확하다. HTML 페이지는 meta 태그가, 정적 파일과 서버 단 일괄 정책은 헤더가 더 잘 맞는다.

어떤 규칙을 넣을 수 있을까?

Google Search Central은 robots meta 태그와 X-Robots-Tag에 공통으로 사용할 수 있는 유효 규칙을 문서화한다. 이 중 실무에서 자주 보는 값은 다음과 같다.

  • noindex: 해당 페이지나 리소스를 검색결과에 표시하지 않는다.
  • nofollow: 해당 페이지의 링크를 따라가지 않도록 지시한다.
  • none: noindex, nofollow와 같다.
  • nosnippet: 텍스트 스니펫과 동영상 미리보기를 막는다.
  • max-snippet, max-image-preview, max-video-preview: 노출 범위를 제한한다.
  • unavailable_after: 지정 시점 이후 검색결과 표시를 중단하도록 지시한다.

이 규칙은 검색엔진마다 완전히 동일하게 처리된다고 보장되지 않는다. Google 문서도 다른 검색엔진에서 같은 방식으로 처리되지 않을 수 있다고 밝힌다. 따라서 이 글의 기준은 Google 검색 동작에 한정해 이해하는 편이 맞다.

robots.txt만으로는 왜 부족할까?

가장 자주 생기는 오해가 여기 있다. Google 문서는 robots meta 태그와 X-Robots-Tag 규칙은 URL을 실제로 크롤링할 때 발견되며, robots.txt로 크롤링을 금지하면 해당 규칙 정보를 읽지 못해 무시된다고 설명한다.

즉 어떤 PDF를 검색결과에서 빼고 싶다면, 그 PDF를 단순히 robots.txt로 막는 것만으로는 충분하지 않을 수 있다. Google의 noindex 안내 문서도 규칙이 동작하려면 크롤러가 페이지에 접근 가능해야 하고 robots.txt에 의해 차단되지 않아야 한다고 명시한다.

실무 기준은 단순하다. "크롤링 자체를 막을지"와 "검색결과 노출을 막을지"를 분리해서 생각해야 한다. 색인 제외가 목적이면 noindex 규칙을 읽을 수 있게 URL 접근은 허용해야 한다.

헤더는 어떻게 작성할까?

가장 단순한 형태는 아래처럼 응답 헤더 한 줄을 추가하는 방식이다.

X-Robots-Tag: noindex

Google 문서는 여러 개의 X-Robots-Tag 헤더를 함께 보내거나, 하나의 헤더 안에 쉼표로 구분된 규칙 목록을 넣을 수 있다고 설명한다. 예를 들어 이미지 검색 노출 제한과 기간 제한을 함께 둘 수 있다.

X-Robots-Tag: noimageindex
X-Robots-Tag: unavailable_after: 25 Jun 2010 15:00:00 PST

또한 사용자 에이전트를 앞에 붙여 특정 크롤러에만 다른 규칙을 줄 수도 있다. 사용자 에이전트를 생략한 규칙은 모든 크롤러에 적용된다.

X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow

규칙이 충돌하면 무엇이 적용될까?

Google 문서는 충돌하는 로봇 지시어가 있으면 더 제한적인 규칙이 적용된다고 설명한다. 예를 들어 max-snippet:50nosnippet이 함께 있으면 nosnippet이 우선한다.

이 기준은 운영 정책을 섞어 쓸 때 중요하다. 애플리케이션이 응답 헤더를 넣고, 프록시나 CDN이 다른 헤더를 덧붙이는 구조라면 최종 응답에 어떤 조합이 남는지 확인해야 한다. 의도하지 않은 더 강한 제한이 붙으면 검색 노출이 줄어들 수 있다.

indexifembedded는 언제 봐야 할까?

indexifembedded는 흔히 쓰는 값은 아니지만 예외 규칙으로 알아둘 만하다. Google 문서는 이 값이 noindex와 함께 있을 때만 효과가 있으며, 다른 페이지에 iframe 같은 방식으로 삽입된 콘텐츠의 색인 생성을 허용하는 용도라고 설명한다.

따라서 일반 페이지 제어에서는 거의 기본값이 아니다. 임베드 전용 문서를 운영하고 있고, 직접 방문 URL은 검색결과에서 빼되 삽입된 맥락에서는 색인을 허용하려는 경우에만 검토할 만하다.

실무 체크리스트

  • HTML이 아닌 PDF, 이미지, 동영상 리소스라면 X-Robots-Tag를 먼저 검토한다.
  • 검색결과 제외가 목적이면 robots.txt 차단만으로 끝내지 말고 noindex를 읽을 수 있게 한다.
  • 서버, CDN, 애플리케이션이 같은 응답에 서로 다른 규칙을 추가하지 않는지 확인한다.
  • 여러 헤더를 쓸 때는 사용자 에이전트 범위와 쉼표 구분 규칙을 함께 검토한다.
  • 검색엔진별 차이가 있을 수 있으므로 Google 기준 정책과 범용 웹 크롤러 정책을 구분한다.

FAQ

Q. PDF를 검색결과에서 제외하려면 meta 태그를 넣어야 할까?

보통은 어렵다. PDF는 HTML 문서가 아니므로 Google 문서는 이런 경우 X-Robots-Tag 응답 헤더를 사용하라고 안내한다.

Q. robots.txt에 막아 두면 noindex 없이도 충분할까?

Google 공식 문서 기준으로는 그렇지 않다. noindex 규칙이 동작하려면 크롤러가 해당 URL에 접근해 규칙을 읽을 수 있어야 하며, robots.txt 차단 상태에서는 그 규칙이 무시될 수 있다.

Q. nonenoindex, nofollow는 다른 의미일까?

Google 문서는 nonenoindex, nofollow와 같은 값으로 정의한다. 팀 규칙상 더 읽기 쉬운 쪽을 선택하면 된다.

정리

X-Robots-Tag는 비HTML 리소스까지 포함해 검색 노출 정책을 HTTP 응답에서 제어할 수 있게 해 주는 방법이다. 2026년 7월 21일 확인 기준 Google Search Central 문서는 이 헤더가 robots meta 태그와 같은 규칙을 공유하며, 특히 PDF·이미지·동영상 같은 리소스에 유용하다고 설명한다.

운영 기준으로는 "비HTML 리소스인가", "색인 제외를 위해 크롤링 허용이 필요한가", "중복 규칙이 더 제한적으로 합쳐지지 않는가" 세 가지를 먼저 보면 된다. 대부분의 경우 검색결과 제외가 목적이라면 robots.txt만으로 처리하지 말고, 실제 응답에 X-Robots-Tag: noindex가 전달되는지 확인하는 편이 가장 안전하다.

참고 자료

반응형
페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사