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

초록

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

참고: 본 문서에서 설명하는 설정방식은 크롤러가 해당 설정이 포함된 페이지에 액세스할 수 있어야만 읽히고 적용될 수 있습니다.

맨위로

로봇 메타 태그 사용

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

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

위 예에서 로봇 메타 태그는 검색결과에 해당 페이지를 표시하지 않도록 모든 검색엔진에 지시합니다. name 속성의 값(robots)은 명령어가 모든 크롤러에 적용됨을 지정합니다. 특정 크롤러를 지정하려면 name 속성의 robots 값을 지정하는 크롤러의 이름으로 바꿉니다. 크롤러의 이름은 user-agent로 알려져 있습니다. 즉, 크롤러는 user-agent를 사용하여 페이지를 요청합니다. Google의 표준 웹 크롤러에는 (Googlebot)이라는 user-agent가 있습니다. 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
(…)

여러 X-Robots-Tag 헤더가 HTTP 응답에 결합되거나 쉼표로 구분된 명령어 목록을 지정할 수 있습니다. 다음은 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 이 페이지에 대한 검색결과에 스니펫을 표시하지 않습니다.
noodp 이 페이지에 대해 표시된 제목이나 스니펫에 오픈 디렉토리 프로젝트(Open Directory project)의 메타데이터를 사용하지 않습니다.
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를 추가할 수 있습니다. X-Robots-Tag를 HTTP 응답과 함께 사용하는 경우 좋은 점은 사이트에 전체적으로 적용되는 크롤링 명령어를 지정할 수 있다는 것입니다. 정규 표현식을 사용하면 매우 유연하게 명령어를 지정할 수 있습니다.

예를 들어 전체 사이트에서 모든 .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의 크롤링을 금지하면 안 됩니다.

맨위로