로봇 메타 태그 및 X-Robots-Tag HTTP 헤더 사양

초록

본 문서에서는 사용자가 페이지 단위의 색인 생성 설정을 통해 Google의 검색결과에 나오는 콘텐츠를 어떻게 제어하는지 설명합니다. 사용자는 (X)HTML 페이지나 HTTP 헤더에 메타 태그를 삽입하여 색인 생성을 조정할 수 있습니다.

로봇 메타 태그 사용

로봇 메타 태그를 사용하면 페이지별로 자세하게 개별 페이지에 대한 색인을 생성하고 검색결과에서 사용자에게 게재되는 방식을 제어할 수 있습니다. 다음과 같이 로봇 메타 태그를 페이지의 <head> 섹션에 삽입합니다.

<!DOCTYPE html>
<html><head>
<meta name="robots" content="noindex" />
(…)
</head>
<body>(…)</body>
</html>

위 예에서 로봇 메타 태그는 검색결과에 해당 페이지를 표시하지 않도록 대부분의 검색엔진에 지시합니다. name 속성의 값(robots)은 명령어가 모든 크롤러에 적용됨을 지정합니다. 특정 크롤러를 지정하려면, robots 속성의 name 값을 지정하는 크롤러의 이름으로 바꿉니다. 특정 크롤러는 사용자 에이전트로도 알려져 있습니다. 즉, 크롤러는 사용자 에이전트를 사용하여 페이지를 요청합니다. Google의 표준 웹 크롤러에는 Googlebot이라는 사용자 에이전트가 있습니다. Googlebot만 페이지를 크롤링하지 못하게 하려면 태그를 다음과 같이 업데이트합니다.

<meta name="googlebot" content="noindex" />

이제 이 태그는 웹 검색결과에 이 페이지를 표시하지 않도록 Google에만(다른 검색엔진은 제외) 지시합니다. namecontent 속성은 대소문자를 구분하지 않습니다.

검색엔진들은 다른 특성을 가진 다양한 용도의 크롤러를 운용할 수 있습니다. Google 크롤러의 전체 목록을 참조하세요. 예를 들어 Google 웹 검색결과에는 허용하되 Google 뉴스에는 나오지 않게 하려면 다음 메타 태그를 사용합니다.

<meta name="googlebot-news" content="noindex" />

여러 개의 크롤러를 개별적으로 지정해야 하는 경우 다음과 같이 로봇 메타 태그를 여러 개 사용해도 좋습니다.

<meta name="googlebot" content="noindex">
<meta name="googlebot-news" content="nosnippet">

크롤러가 경쟁 관계의 명령어를 만나게 되면 그중 가장 제한적인 명령어를 사용합니다.

X-Robots-Tag HTTP 헤더 사용

X-Robots-Tag는 URL의 HTTP 헤더 응답 요소로 사용될 수 있습니다. 로봇 메타 태그에서 사용할 수 있는 명령어는 모두 X-Robots-Tag로도 지정될 수 있습니다. 다음은 페이지의 색인을 생성하지 않도록 크롤러에 지시하는 X-Robots-Tag가 있는 HTTP 응답의 예입니다.

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noindex
(…)

HTTP 응답 내에서 X-Robots-Tag 헤더를 여러 개 결합하거나 쉼표로 구분된 명령어 목록을 지정할 수 있습니다. 다음은 noarchive X-Robots-Tagunavailable_after X-Robots-Tag가 결합되어 있는 HTTP 헤더 응답의 예입니다.

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noarchive
X-Robots-Tag: unavailable_after: 25 Jun 2010 15:00:00 PST
(…)

X-Robots-Tag는 명령어 앞에 user-agent를 지정할 수도 있습니다. 예를 들어 다음 X-Robots-Tag HTTP 헤더 집합은 다른 검색엔진에 대해 조건에 따라 페이지를 검색결과에 표시하는 데 사용될 수 있습니다.

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow
(…)

user-agent가 없이 지정된 명령어는 모든 크롤러에 유효합니다. 다음 섹션은 결합된 명령어를 처리하는 방법을 보여줍니다. 이름과 지정된 값은 모두 대소문자를 구분하지 않습니다.

유효한 색인 생성 및 게재 명령어

로봇 메타 태그 및 X-Robots-Tag를 사용해 색인을 생성하거나 게재할 때 다른 명령어들을 함께 사용해 이를 제어할 수 있습니다. 각 값은 특정 명령어를 나타냅니다. 다음 표는 Google에서 유효한 모든 명령어 및 그 의미를 표시합니다. 참고: 이 명령어는 다른 검색엔진 크롤러에서는 똑같이 처리되지 않을 수 있습니다. 여러 개의 명령어를 쉼표로 구분된 목록으로 결합할 수 있습니다. 결합된 명령어 처리에 대한 자세한 내용은 아래를 참조하세요. 다음 명령어는 대소문자를 구분하지 않습니다.

명령어
all 색인 생성이나 게재에 대한 제한이 없습니다. 참고: 이 명령어는 기본값이므로 명시적으로 표시해도 아무 효과가 없습니다.
noindex 검색결과에 페이지를 표시하지 않으며 검색결과에 '저장된 페이지' 링크를 표시하지 않습니다.
nofollow 이 페이지의 링크를 따라가지 않습니다.
none noindex, nofollow와 같습니다.
noarchive 검색결과에 '저장된 페이지' 링크를 표시하지 않습니다.
nosnippet 이 페이지에 대한 검색결과에 스니펫을 표시하지 않습니다. 정적 썸네일 이미지(사용 가능한 경우)는 이와 무관하게 표시됩니다.
notranslate 검색결과에 페이지의 번역을 제공하지 않습니다.
noimageindex 이 페이지의 이미지에 대한 색인을 생성하지 않습니다.
unavailable_after: [RFC-850 date/time] 지정된 날짜/시간 이후 검색결과에 이 페이지를 표시하지 않습니다. 날짜/시간은 RFC 850 형식으로 지정해야 합니다.

robots.txt 파일(또는 파일의 부재)로 페이지 크롤링 권한이 생기면 기본적으로 페이지가 크롤링, 색인 생성 및 보관 가능한 것으로 취급되며 로봇 메타 태그나 X-Robots-Tag에서 특별히 권한을 거부하지 않는 한 해당 콘텐츠를 검색결과에 표시되는 스니펫에 사용할 수 있습니다.

결합된 색인 생성 및 게재 명령어 처리

로봇 메타 태그 명령어를 쉼표로 결합하여 여러 명령어가 있는 지침을 만들 수 있습니다. 다음은 웹 크롤러에 페이지의 색인을 생성하지 않으며 페이지의 모든 링크를 크롤링하지 않도록 지시하는 로봇 메타 태그의 예입니다.

<meta name="robots" content="noindex, nofollow">

여러 크롤러가 다른 명령어와 함께 지정된 경우 검색엔진은 부정 명령어를 모두 사용합니다. 예:

<meta name="robots" content="nofollow">
<meta name="googlebot" content="noindex">

이 메타 태그가 포함된 페이지는 Googlebot이 크롤링할 때 noindex, nofollow 명령어가 있는 것으로 해석됩니다.

Apache로 실용적인 X-Robots-Tag 구현

Apache 기반 웹 서버에서 기본적으로 사용할 수 있는 .htaccess 및 httpd.conf 파일을 사용하여 사이트의 HTTP 응답에 X-Robots-Tag를 추가할 수 있습니다. HTTP 응답에 X-Robots-Tag를 사용하면 사이트 전체에 적용되는 크롤링 명령어를 지정할 수 있다는 장점이 있습니다. 정규 표현식이 지원되어 매우 유연하게 명령어를 지정할 수 있습니다.

예를 들어 전체 사이트에서 모든 .PDF 파일의 HTTP 응답에 noindex, nofollow X-Robots-Tag를 추가하려면 다음과 같이 사이트의 루트 .htaccess 파일이나 httpd.conf 파일에 다음 스니펫을 추가합니다.

<Files ~ "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

로봇 메타 태그를 사용할 수 없는 이미지 파일처럼 HTML이 아닌 파일에 X-Robots-Tag를 사용할 수 있습니다. 다음은 전체 사이트에서 이미지 파일(.png, .jpeg, .jpg, .gif)에 대해 noindex X-Robots-Tag 명령어를 추가하는 예입니다.

<Files ~ "\.(png|jpe?g|gif)$">
  Header set X-Robots-Tag "noindex"
</Files>

크롤링과 색인 생성/게재 명령어 결합

로봇 메타 태그와 X-Robots-Tag HTTP 헤더는 URL이 크롤링될 때 발견됩니다. robots.txt 파일을 통해 페이지 크롤링이 금지된 경우 색인 생성 또는 게재 명령어에 대한 정보는 찾을 수 없으므로 무시됩니다. 색인 생성 또는 게재 명령어를 따라야 하는 경우 해당 명령어가 포함된 URL의 크롤링을 금지하면 안 됩니다.

다음에 대한 의견 보내기...