X-Robots-Tag 標頭

X-Robots-Tag 響應頭定義了爬蟲如何索引 URL。雖然它不是任何規範的一部分,但它是一個事實上的標準方法,用於與搜尋機器人、網路爬蟲和類似使用者代理進行通訊。與搜尋相關的爬蟲使用 X-Robots-Tag 標頭中的規則來調整如何在搜尋結果中呈現網頁或其他資源。

索引規則在 X-Robots-Tag 標頭或 <meta name="robots"> HTML 元素(通常稱為“robots 標籤”)中定義,並在 URL 被爬取時發現。在 HTTP 標頭中指定索引規則對於非 HTML 文件(如影像、PDF 或其他媒體)非常有用。

注意:只有合作的機器人會遵循這些規則,爬蟲首先需要訪問資源以讀取標頭和 meta 元素(參見與 robots.txt 的互動)。如果您想透過爬蟲防止頻寬消耗,限制性的 robots.txt 檔案比索引規則更有效,因為它會阻止資源被爬取。

頭型別 響應頭
禁止請求頭

語法

http
X-Robots-Tag: <indexing-rule>
X-Robots-Tag: <indexing-rule>, …, <indexing-ruleN>

可選的 <bot-name>: 指定後續規則應適用於的使用者代理。

http
X-Robots-Tag: <indexing-rule>, <bot-name>: <indexing-rule>
X-Robots-Tag: <bot-name>: <indexing-rule>, …, <indexing-ruleN>

有關示例,請參見指定使用者代理

指令

可以使用以下任何索引規則

all

在搜尋結果中索引或提供沒有限制。此規則是預設值,如果明確列出則無效。

noindex

不要在搜尋結果中顯示此頁面、媒體或資源。如果省略,頁面、媒體或資源可能會被索引並顯示在搜尋結果中。

nofollow

不要追蹤此頁面上的連結。如果省略,搜尋引擎可能會使用頁面上的連結來發現那些連結的頁面。

none

等同於 noindex, nofollow

nosnippet

不要在此頁面的搜尋結果中顯示文字摘要或影片預覽。靜態影像縮圖(如果可用)可能仍然可見。如果省略,搜尋引擎可能會根據頁面上找到的資訊生成文字摘要和影片預覽。要將內容的某些部分排除在搜尋結果摘要之外,請使用 data-nosnippet HTML 屬性

indexifembedded

即使有 noindex 規則,如果頁面內容透過 iframe 或類似的 HTML 元素嵌入到另一個頁面中,搜尋引擎也允許索引該內容。indexifembedded 僅在與 noindex 同時使用時才有效。

max-snippet: <number>

為此搜尋結果的文字摘要最多使用 <number> 個字元。如果未指定有效的 <number>,則忽略。

max-image-preview: <setting>

此頁面在搜尋結果中的影像預覽的最大大小。如果省略,搜尋引擎可能會顯示預設大小的影像預覽。如果您不希望搜尋引擎使用較大的縮圖,請將 max-image-preview 值指定為 standardnone。值包括

none

不顯示影像預覽。

standard

可以顯示預設影像預覽。

large

可以顯示更大的影像預覽,最大可達視口寬度。

max-video-preview: <number>

對於此頁面中的影片,在搜尋結果中最多使用 <number> 秒作為影片摘要。如果省略,搜尋引擎可能會在搜尋結果中顯示影片摘要,並且搜尋引擎決定預覽的時長。如果未指定有效的 <number>,則忽略。特殊值如下

0

最多可以使用靜態影像,並遵循 max-image-preview 設定。

-1

無影片長度限制。

notranslate

不要在搜尋結果中提供此頁面的翻譯。如果省略,搜尋引擎可能會將搜尋結果標題和摘要翻譯成搜尋查詢的語言。

noimageindex

不要索引此頁面上的影像。如果省略,頁面上的影像可能會被索引並顯示在搜尋結果中。

unavailable_after: <date/time>

請求在指定的 <date/time> 之後不要在搜尋結果中顯示此頁面。如果未指定有效的 <date/time>,則忽略。日期必須以 RFC 822RFC 850 或 ISO 8601 等格式指定。

預設情況下,內容沒有到期日期。如果省略,此頁面可能會無限期地顯示在搜尋結果中。爬蟲預計在指定的日期和時間之後會大大降低 URL 的爬取速度。

描述

透過 <meta name="robots">X-Robots-Tag 的索引規則在 URL 被爬取時發現。大多數爬蟲支援 X-Robots-Tag HTTP 標頭中的規則,這些規則可以在 <meta name="robots"> 元素中使用。

X-Robots-Tag 內部或 X-Robots-Tag HTTP 標頭與 <meta name="robots"> 元素之間存在衝突的機器人規則時,將應用更嚴格的規則。例如,如果一個頁面同時具有 max-snippet:50nosnippet 規則,則 nosnippet 規則將適用。如果路徑被 robots.txt 檔案阻止爬取,則索引規則將不會被發現或應用。

某些值是互斥的,例如 indexnoindex,或 follownofollow。在這些情況下,爬蟲的行為是未定義的,並且可能會有所不同。

與 robots.txt 的互動

如果資源透過 robots.txt 檔案被阻止爬取,那麼使用 <meta name="robots">X-Robots-Tag HTTP 標頭指定的任何關於索引或提供規則的資訊都不會被檢測到,因此將被忽略。

如果一個頁面被另一個文件引用,它可能仍然會被索引(參見 nofollow 指令)。如果您想從搜尋索引中刪除一個頁面,X-Robots-Tag: noindex 通常會起作用,但機器人必須首先重新訪問該頁面才能檢測到 X-Robots-Tag 規則。

示例

使用 X-Robots-Tag

以下 X-Robots-Tag 標頭添加了 noindex,要求爬蟲不要在搜尋結果中顯示此頁面、媒體或資源

http
HTTP/1.1 200 OK
Date: Tue, 03 Dec 2024 17:08:49 GMT
X-Robots-Tag: noindex

多個標頭

以下響應有兩個 X-Robots-Tag 標頭,每個標頭都指定了一個索引規則

http
HTTP/1.1 200 OK
Date: Tue, 03 Dec 2024 17:08:49 GMT
X-Robots-Tag: noimageindex
X-Robots-Tag: unavailable_after: Wed, 03 Dec 2025 13:09:53 GMT

指定使用者代理

可以指定規則應適用於哪個使用者代理。以下示例包含兩個 X-Robots-Tag 標頭,它們要求 googlebot 不要追蹤此頁面上的連結,並且虛構的 BadBot 爬蟲也不要索引該頁面或追蹤其上的任何連結

http
HTTP/1.1 200 OK
Date: Tue, 03 Dec 2024 17:08:49 GMT
X-Robots-Tag: BadBot: noindex, nofollow
X-Robots-Tag: googlebot: nofollow

在下面的響應中,定義了相同的索引規則,但在單個標頭中。每個索引規則都適用於其後指定的使用者代理

http
HTTP/1.1 200 OK
Date: Tue, 03 Dec 2024 17:08:49 GMT
X-Robots-Tag: BadBot: noindex, nofollow, googlebot: nofollow

對於同時指定了多個爬蟲和不同規則的情況,搜尋引擎將使用負面規則的總和。例如

http
X-Robots-Tag: nofollow
X-Robots-Tag: googlebot: noindex

googlebot 爬取時,包含這些標頭的頁面將被解釋為具有 noindex, nofollow 規則。

規範

不屬於任何當前規範。

另見