Meta Robots 태그

robots 메타 태그의 모든 지시문, 크롤링 후 준수 원칙, 충돌 해결, 메타 태그와 X-Robots-Tag의 차이를 설명합니다.

최초 게시: 2026년 6월 23일 · 최근 업데이트: 2026년 8월 9일 · Advanced
언어
이 페이지의 근거 신호 1개

robots 메타 태그는 <head>의 <meta name="robots" content="noindex">처럼 검색엔진에 페이지 하나를 색인하고 검색결과에 제공하는 방법을 알립니다. 가장 중요한 원칙은 먼저 크롤링한 뒤 따른다는 것입니다. robots.txt로 차단된 페이지는 가져오지 않아 noindex를 보지 못합니다. 태그가 없으면 기본값은 index, follow입니다. 충돌하는 규칙은 가장 제한적인 규칙으로 해결되며 googlebot 태그와 일반 robots 태그가 함께 있으면 부정적 규칙의 합이 적용됩니다. HTML 전용 태그이므로 PDF, 이미지, 비 HTML 파일에는 X-Robots-Tag 헤더를 사용합니다.

요약 — <head><meta name="robots" content="…">는 페이지 하나가 색인되고 검색결과에 제공되는 방식을 제어하며, 태그가 없을 때 기본값은 index, follow입니다. 먼저 크롤링한 뒤 따르는 구조이므로 크롤러가 페이지에 접근할 수 있을 때만 설정을 읽고 따를 수 있습니다. 따라서 robots.txt로 차단한 URL은 가져오지 않아 noindex도 보지 못합니다. 충돌하는 규칙은 가장 제한적인 규칙으로 해결됩니다. googlebot 태그와 일반 robots 태그가 함께 있으면 Googlebot에는 부정적 규칙의 합이 적용됩니다. 이 태그는 HTML 전용이므로 비 HTML 파일과 대규모 적용에는 X-Robots-Tag 헤더를 사용하세요. Google은 크롤러 이름 토큰 중 googlebotgooglebot-news만 읽고 bingbot 같은 다른 검색엔진 토큰을 포함한 나머지는 무시합니다.

Evidence for this claim Google can read and follow page-level robots rules only when it is allowed to access the page. Scope: Google-supported robots meta and X-Robots-Tag rules; robots.txt blocking can prevent rule discovery. Confidence: high · Verified: Google Search Central: Robots meta tag specifications

정의, 위치, 기본값

Google의 표현을 빌리면 robots 메타 태그는 “use a granular, page-specific approach to controlling how an individual HTML page should be indexed and served to users in Google Search results.” (번역) 「개별 HTML 페이지가 Google 검색결과에서 색인되고 사용자에게 제공되는 방식을 세밀하게 페이지별로 제어」하게 합니다. 일반적이고 호환성 높은 위치는 <head>입니다.

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

head 배치는 모든 검색엔진이 기대하는 작성 관례지만 Google 검색에 반드시 필요한 조건은 아닙니다. Google은 “Google Search doesn’t enforce placement of meta robots in the HTML head and will respect robots meta tags in the body section of an HTML document as well.” (번역) 「Google 검색은 HTML head에 robots 메타 태그를 넣도록 강제하지 않으며 HTML 문서의 body에 있는 태그도 따른다」고 명시합니다. 이를 Google의 허용 범위로만 보고 보편적인 작성 지침으로 받아들이지는 마세요. 표준 위치를 기대하는 모든 크롤러와 검증 도구가 올바르게 읽도록 여전히 <head>에 작성해야 합니다.

name 속성은 대상을 정합니다. 많은 안내서가 이 지점에서 Google 지원 범위를 과장합니다. name="robots"는 태그를 읽는 모든 크롤러를 대상으로 합니다. 그 밖에 Google은 정확히 두 개의 크롤러 이름 토큰만 지원하고 나머지는 무시합니다. Google은 “Google supports two user agent tokens in the robots meta tag; other values are ignored: googlebot for all text results, and googlebot-news for news results.” (번역) 「robots meta 태그에서 두 사용자 에이전트 토큰을 지원하며 다른 값은 무시한다. 모든 텍스트 결과에는 googlebot, 뉴스 결과에는 googlebot-news를 쓴다」고 설명합니다. name="bingbot" 태그는 문서화된 Google 제어가 아닙니다. Bing은 자체 조건에 따라 자기 토큰을 읽지만 Google은 인식하지 못하는 모든 name 값을 건너뜁니다. Google에서는 namecontent 속성, X-Robots-Tag 헤더 이름과 값 모두 대소문자를 구분하지 않습니다.

**robots 메타 태그가 없을 때 기본값은 index, follow**입니다. 이는 all 규칙이며 Google은 명시적으로 적어도 효과가 없다고 설명합니다. Evidence for this claim For Google, the default robots meta behavior is index, follow when no restrictive rule is present. Scope: Google-supported robots meta rules; other crawlers publish their own support and defaults. Confidence: high · Verified: Google Search Central: Robots meta tag specifications 기본값을 바꾸려는 경우에만 태그가 필요합니다.

규칙은 한 태그에서 쉼표로 구분하거나(noindex, nofollow) 여러 <meta> 태그로 결합할 수 있습니다. Google은 “create a multi-rule instruction by combining robots meta tag rules with commas or by using multiple meta tags.” (번역) 「robots meta 태그 규칙을 쉼표로 결합하거나 여러 meta 태그를 사용해 다중 규칙 지시문을 만들 수 있다」고 설명합니다.

모든 것을 망가뜨리는 원칙: Google이 태그를 보려면 페이지를 크롤링해야 합니다

이 글의 핵심입니다. robots 메타 태그는 먼저 크롤링한 뒤 따르는 방식입니다. Google이 태그를 읽으려면 페이지를 가져와야 하므로 가져오기를 막는 것은 태그의 적용도 막습니다. 사양의 표현은 다음과 같습니다.

“Keep in mind that these settings can be read and followed only if crawlers are allowed to access the pages that include these settings.” (번역) 「크롤러가 이러한 설정이 있는 페이지에 접근할 수 있을 때만 설정을 읽고 따를 수 있다는 점을 기억하세요.」

Evidence for this claim Google can read and follow page-level robots rules only when it is allowed to access the page. Scope: Google-supported robots meta and X-Robots-Tag rules; robots.txt blocking can prevent rule discovery. Confidence: high · Verified: Google Search Central: Robots meta tag specifications

그 결과도 명확히 설명돼 있습니다.

“If a page is disallowed from crawling through the robots.txt file, then any information about indexing or serving rules will not be found and will therefore be ignored.” (번역) 「robots.txt 파일에서 페이지 크롤링을 허용하지 않으면 색인 또는 제공 규칙 정보를 찾을 수 없어 무시됩니다.」

따라서 같은 URL에 robots.txtDisallownoindex를 함께 쓰는 전형적인 실수는 조용히 noindex를 무력화합니다. Google은 페이지를 크롤링하지 못하고 태그를 보지 못해 URL이 색인에 오래 남을 수 있습니다. 링크가 있다면 콘텐츠 없는 스니펫 형태로 남기도 합니다. Google의 “검색 색인 차단” 문서도 같은 내용을 더 쉽게 설명합니다. noindex가 작동하려면 페이지가 “must not be blocked by a robots.txt file… If the page is blocked by a robots.txt file or the crawler can’t access the page, the crawler will never see the noindex rule, and the page can still appear in search results.” (번역) 「robots.txt 파일로 차단되어서는 안 되며, 페이지가 차단됐거나 크롤러가 접근할 수 없으면 noindex 규칙을 보지 못해 검색결과에 계속 표시될 수 있습니다.」

실제 데이터에서 이 원리의 반대쪽도 확인했습니다. 제 실험 *robots.txt로 순위가 높은 2개 페이지를 차단한 이야기*에서는 순위가 있던 2개 페이지를 일부러 robots.txt에서 차단했습니다. Google이 더는 페이지를 크롤링할 수 없어 정보를 갱신하지 못했고 페이지 순위는 대부분 유지됐습니다. “We lost a position here or there and all of the featured snippets for the pages.” (번역) 「몇몇 순위와 페이지의 모든 추천 스니펫을 잃었습니다.」 제 결론은 “Accidentally blocking pages (that Google already ranks) from being crawled using robots.txt probably isn’t going to have much impact on your rankings, and they will likely still show in the search results.” (번역) 「이미 순위가 있는 페이지를 robots.txt로 실수로 차단해도 순위에 큰 영향이 없고 검색결과에 계속 표시될 가능성이 높다」는 것이었습니다. noindex 문제와 같은 원리입니다. 차단된 URL은 갱신이 멈춥니다. 차단은 제거가 아닙니다. 페이지를 정말 없애려면 이 태그의 핵심인 **크롤링 가능한 noindex**가 필요합니다.

각 도구의 역할에 관해 제가 공개적으로 그은 선도 같습니다. Google이 robots.txt에서 noindex를 지원해야 하느냐는 질문에 “Google was clear they want robots.txt for crawl control only.” (번역) 「Google은 robots.txt를 크롤링 제어에만 쓰길 원한다고 분명히 밝혔다」고 답했습니다. 크롤링은 robots.txt의 역할이고 색인은 메타 태그 또는 헤더의 역할입니다. 둘은 겹치지 않습니다. robots.txt의 noindex 지시문은 공식 지원된 적이 없으며 Google은 2019년 9월 1일 파싱을 중단했습니다.

모든 robots 메타 지시문

Google이 지원하는 값과 사양의 원문 설명은 다음과 같습니다.

색인

  • all“There are no restrictions for indexing or serving. This rule is the default value and has no effect if explicitly listed.” (번역) 「색인 또는 제공에 제한이 없습니다. 기본값이며 명시해도 효과가 없습니다.」
  • noindex“Do not show this page, media, or resource in search results.” (번역) 「이 페이지, 미디어, 리소스를 검색결과에 표시하지 않습니다.」
  • none“Equivalent to noindex, nofollow.” (번역) 「noindex, nofollow와 같습니다.」
  • indexifembedded“Google is allowed to index the content of a page if it’s embedded in another page through iframes or similar HTML tags, in spite of a noindex rule.” (번역) 「noindex 규칙이 있어도 iframe이나 유사한 HTML 태그로 다른 페이지에 삽입된 경우 Google이 페이지 콘텐츠를 색인할 수 있습니다.」 삽입 콘텐츠에서 noindex재정의하는 유일한 지시문입니다.

링크

  • nofollow“Do not follow the links on this page.” (번역) 「이 페이지의 링크를 따라가지 않습니다.」 페이지 수준 규칙이며 링크 하나에 적용하는 rel="nofollow"와 범위가 다릅니다.

검색결과 제공과 스니펫

  • nosnippet“Do not show a text snippet or video preview in the search results for this page.” (번역) 「검색결과에서 이 페이지의 텍스트 스니펫이나 동영상 미리보기를 표시하지 않습니다.」 범위는 전통적인 텍스트 스니펫보다 넓습니다. Google은 “applies to all forms of search results (at Google: web search, Google Images, Discover, AI Overviews, AI Mode) and will also prevent the content from being used as a direct input for AI Overviews and AI Mode.” (번역) 「Google 웹 검색, Google 이미지, Discover, AI Overviews, AI Mode 등 모든 검색결과에 적용되며 콘텐츠가 AI Overviews와 AI Mode의 직접 입력으로 사용되는 것도 막는다」고 설명합니다.
  • max-snippet:[number]“Use a maximum of [number] characters as a textual snippet for this search result.” (번역) 「이 검색결과의 텍스트 스니펫에 최대 [number]자를 사용합니다.」 nosnippet과 같은 확장 범위이며 “applies to all forms of search results (such as Google web search, Google Images, Discover, Assistant, AI Overviews, AI Mode) and will also limit how much of the content may be used as a direct input for AI Overviews and AI Mode.” (번역) 「Google 웹 검색, Google 이미지, Discover, Assistant, AI Overviews, AI Mode 같은 모든 검색결과에 적용되며 콘텐츠가 AI Overviews와 AI Mode의 직접 입력으로 사용될 수 있는 양도 제한한다」고 설명합니다. 이는 Google 자체 AI 검색 기능의 직접 입력 자격 제어이지 일반적인 AI 학습 제외가 아닙니다. 모델 학습에서 제외하는 Google-Extended나 Search Console의 별도 생성형 AI 속성 수준 제어는 범위가 다른 시스템입니다. nosnippetmax-snippet이 둘까지 포괄한다고 생각하지 마세요.
  • max-image-preview:[setting]“Set the maximum size of an image preview for this page in search results.” (번역) 「검색결과에서 이 페이지의 이미지 미리보기 최대 크기를 설정합니다.」 값은 none, standard, large이며 large는 “A larger image preview, up to the width of the viewport, may be shown.” (번역) 「뷰포트 너비까지 더 큰 이미지 미리보기가 표시될 수 있음」을 뜻합니다.
  • max-video-preview:[number]“Use a maximum of [number] seconds as a video snippet for videos on this page in search results.” (번역) 「검색결과에서 이 페이지 동영상의 동영상 스니펫을 최대 [number]초 사용합니다.」
  • notranslate“Don’t offer translation of this page in search results.” (번역) 「검색결과에서 이 페이지의 번역을 제공하지 않습니다.」
  • noimageindex“Do not index images on this page.” (번역) 「이 페이지의 이미지를 색인하지 않습니다.」
  • unavailable_after:[date/time]“Do not show this page in search results after the specified date/time.” (번역) 「지정한 날짜와 시간 이후에는 검색결과에 이 페이지를 표시하지 않습니다.」

과거 지시문 — 더는 유효한 Google 제어가 아님

오래된 안내서에 여전히 등장하지만 Google이 더는 사용하지 않는다고 밝힌 지시문이 있습니다. 효과를 기대하며 추가하지 마세요.

  • noarchive“The noarchive rule is no longer used by Google Search to control whether a cached link is shown in search results, as the cached link feature no longer exists.” (번역) 「캐시 링크 기능이 더는 존재하지 않으므로 Google 검색은 검색결과의 캐시 링크 표시를 제어하는 데 noarchive 규칙을 사용하지 않습니다.」
  • nocache — 일부 검색엔진이 noarchive의 동의어로 사용했지만 “The nocache rule isn’t used by Google Search.” (번역) 「Google 검색에서는 nocache 규칙을 사용하지 않습니다.」
  • nositelinkssearchbox“The nositelinkssearchbox rule is no longer used by Google Search to control whether the sitelink search box is shown for a given page, as the feature no longer exists.” (번역) 「기능이 더는 존재하지 않으므로 Google 검색은 특정 페이지의 사이트링크 검색창 표시를 제어하는 데 이 규칙을 사용하지 않습니다.」

문단 수준 제어(메타 태그가 아님)

페이지 안의 일부만 제어하는 data-nosnippet 속성이 있습니다. Google은 span, div, section 요소에서 “designate textual parts of an HTML page not to be used as a snippet…” (번역) 「HTML 페이지의 텍스트 일부를 스니펫에 사용하지 않도록 지정」할 수 있다고 설명합니다. 메타 태그의 규칙은 페이지 전체에 적용됩니다. 나머지는 건드리지 않고 한 구절만 스니펫에서 제외할 때 nosnippet / data-nosnippet을 구분해 사용합니다.

지시문 결합과 충돌 해결

지시문이 충돌할 때 적용되는 원칙은 두 가지입니다.

1. 더 제한적인 규칙이 이깁니다. “In the case of conflicting robots rules, the more restrictive rule applies. For example, if a page has both max-snippet:50 and nosnippet rules, the nosnippet rule will apply.” (번역) 「robots 규칙이 충돌하면 더 제한적인 규칙이 적용됩니다. 페이지에 max-snippet:50과 nosnippet이 모두 있으면 nosnippet이 적용됩니다.」 nosnippet이 50자 상한보다 엄격하므로 최종 결과는 nosnippet입니다.

2. googlebotrobots — 부정적 규칙의 합. 많은 안내서가 틀리는 부분입니다. 이름이 googlebot인 태그가 일반 robots 태그를 단순히 대체하지 않습니다. 겹치는 범위에서는 Googlebot에 제한 규칙의 합집합이 적용됩니다. Google은 “For situations where multiple crawlers are specified along with different rules, the search engine will use the sum of the negative rules.” (번역) 「여러 크롤러에 서로 다른 규칙을 지정하면 검색엔진은 부정적 규칙의 합을 사용한다」고 설명합니다. 문서의 예시는 다음과 같습니다.

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

“The page containing these meta tags will be interpreted as having a noindex, nofollow rule when crawled by Googlebot.” (번역) 「Googlebot이 크롤링할 때 이 페이지에는 noindex와 nofollow가 함께 적용됩니다.」 robotsnofollowgooglebotnoindex가 합쳐져 Googlebot에 noindex, nofollow가 적용됩니다. googlebot 태그와 robots 태그가 같은 지시문을 서로 다르게 설정하면 크롤러 이름을 지정한 태그가 해당 크롤러에 적용됩니다.

Meta robots 태그와 X-Robots-Tag HTTP 헤더

robots 메타 태그는 <head>가 필요한 HTML 전용 제어입니다. HTML이 아닌 리소스에는 HTTP 응답 헤더로 같은 규칙 어휘를 전달하는 X-Robots-Tag를 사용합니다. Google은 “The X-Robots-Tag can be used as an element of the HTTP header response for a given URL. Any rule that can be used in a robots meta tag can also be specified as an X-Robots-Tag.” (번역) 「X-Robots-Tag는 특정 URL의 HTTP 헤더 응답 요소로 사용할 수 있으며 robots meta 태그에 쓸 수 있는 모든 규칙을 지정할 수 있다」고 설명합니다. 존재 이유도 “You can use the X-Robots-Tag for non-HTML files like image files where the usage of robots meta tags in HTML is not possible.” (번역) 「HTML robots meta 태그를 사용할 수 없는 이미지 같은 비 HTML 파일에 쓸 수 있다」고 밝힙니다.

따라서 다음처럼 선택합니다.

  • PDF, 이미지, 기타 비 HTML 파일인가요? <meta> 태그를 추가할 수 없으므로 X-Robots-Tag: noindex 같은 헤더를 사용하세요.
  • 디렉터리나 패턴 전체인가요? 헤더는 서버·CDN 수준에서 설정하므로 하나의 구성 규칙으로 전체 경로에 확장할 수 있습니다.
  • 검색엔진 하나만 대상으로 하나요? 헤더도 X-Robots-Tag: googlebot: noindex, nofollow처럼 크롤러를 지정할 수 있고 한 응답에서 여러 X-Robots-Tag 헤더를 결합할 수 있습니다.

규칙은 같고 전달 방식은 두 가지입니다. HTML 페이지에는 메타 태그를, 그 밖의 파일과 대규모 적용에는 헤더를 사용합니다.

Bing과 다른 검색엔진이 지원하는 지시문

지시문 집합이 모든 검색엔진에서 같다고 가정하지 마세요. 실제로 다릅니다. Bing은 핵심 색인·제공 규칙인 noindex, nofollow, noarchive(nocache는 동의어), nosnippet을 지원하고 비 HTML 리소스의 X-Robots-Tag도 따릅니다. 하지만 Bing은 none 축약형을 지원하지 않으므로 여러 검색엔진에서 안전하게 쓰려면 none 대신 noindex, nofollow를 명시하세요. max-snippet, max-image-preview, max-video-preview 미리보기 제어군과 noimageindex, notranslate, indexifembedded, unavailable_after는 사실상 Google 전용입니다. 확실하지 않으면 지시문을 풀어 쓰고 max-* 제어는 Google 기능으로 취급하세요.

흔한 실수와 해결책

  • 같은 URL에 Disallownoindex 사용. noindex가 보이지 않습니다. 페이지를 크롤링 가능하게 두고 noindex만 유지하세요.
  • noindex와 다른 페이지를 가리키는 rel=canonical 사용. 한편으로 페이지를 버리고 다른 한편으로 다른 페이지에 통합하라는 충돌 신호입니다. 하나를 선택하세요. 자세한 내용은 canonicalization을 참고하세요.
  • 스테이징 전체의 noindex를 프로덕션에 배포. 사이트 전체 색인 해제를 일으키는 치명적인 실수입니다. 출시 전에 확인하세요.
  • 클라이언트 JavaScript로만 noindex 삽입. Google이 태그를 보려면 페이지를 렌더링해야 하며 렌더링 HTML이 예상과 다르면 동작도 달라집니다. 원시 HTML이나 헤더를 권장합니다. rendering을 참고하세요.
  • Bing이 Google 전용 지시문을 따른다고 기대 (none, max-* 계열).
  • robots 지시문이 담당하지 않는 결과를 기대. noindexnosnippet만으로 크롤링 예산 절감, 보안, 순위 변화, 검색엔진 간 동일한 동작, 특정 제거 기간, 모든 AI·검색 표면 제외를 보장할 수 없습니다. 보안은 인증, 크롤링은 robots.txt, 검색엔진 간 차이는 각 문서, AI 범위는 Search Console이나 Google-Extended처럼 목적에 맞는 제어가 담당합니다. Google은 noindex 페이지가 사라지는 고정 기간을 제시하지 않으며 재크롤링 우선순위에 따라 중요도가 낮은 페이지는 “몇 달이 걸릴 수” 있습니다.

큰 그림에서 robots.txtcrawling은 크롤링 제어, noindexindexing은 색인 제어입니다. 페이지는 색인하되 표시 방식을 조정하려면 nosnippet / data-nosnippet, max-snippet, max-image-preview 같은 검색결과 제공 제어를 사용합니다. X-Robots-Tag는 비 HTML에 쓰는 같은 태그의 HTTP 헤더 버전입니다.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.