標籤或 X-Robots-Tag 頭部的值,一次性驗證所有指令。可檢測 noindex 與 index 並存等矛盾設定,以及 max-snippet 等引數的錯誤值,並以列表形式展示每個指令的明細。" />

Robots Meta 標籤/X-Robots-Tag 驗證工具

貼上 標籤或 X-Robots-Tag 頭部的值,一次性驗證所有指令。可檢測 noindex 與 index 並存等矛盾設定,以及 max-snippet 等引數的錯誤值,並以列表形式展示每個指令的明細。

使用技巧

  • 請避免同時對同一頁面設定 noindex 和 robots.txt 的 disallow。如果 disallow 已阻止抓取,爬蟲根本無法讀取頁面內的 noindex 標籤,反而可能導致該頁面無法按預期從索引中移除。
  • Google 不會將無法識別的指令名稱視為錯誤,而是直接忽略。這意味著混入未知指令並不致命,但也意味著拼寫錯誤如果不檢查就很難被發現。
  • max-snippet:-1 和 max-video-preview:-1 是表示「無限制」的特殊值,而 0 則表示「完全不顯示摘要」這一不同的含義,請勿混淆兩者。
  • X-Robots-Tag 頭部是對 PDF、圖片等非 HTML 檔案也能下達 noindex 等指令的唯一方式,因為 meta 標籤只能嵌入 HTML 文件中。
  • 同時指定多個指令時,應以逗號分隔併合併到同一個 content 屬性或頭部值中。重複書寫多個同名 meta 標籤並不會「後者生效」,而是各自獨立生效,需特別留意。

常見問題

robots.txt 是以網站或 URL 模式為單位,控制爬蟲是否可以獲取某個 URL 的檔案。robots meta 標籤(包括 X-Robots-Tag 頭部)則以頁面為單位,控制已抓取的頁面是否可以被索引、頁面內的連結是否可以被追蹤。前者負責能否抓取,後者負責能否索引及追蹤連結,是兩個不同的階段。

noindex 會指示 Google 將該頁面從搜尋結果中排除。nofollow 則指示不追蹤該頁面內的連結(不將其用於對連結目標的抓取)。兩者組合使用時,會形成一種嚴格的設定:頁面本身不出現在搜尋結果中,頁面內連結的評價也不會被傳遞。

meta 標籤只能嵌入 HTML 文件,因此無法用於 PDF 或圖片,但 X-Robots-Tag 是作為 HTTP 響應頭返回的,因此可以應用於 PDF、圖片、影片等任何格式的檔案。常見做法是在 Web 伺服器設定中按副檔名批次新增。

可以控制搜尋結果中顯示的說明文字(摘要)的最大字數。例如只想展示新聞文章的開頭部分,或不想讓付費內容的正文被完整顯示時,相比完全關閉顯示的 nosnippet,能更細緻地調整顯示量。

設定本身是可以的,但不會按預期生效。因為 robots.txt 的 disallow 會阻止爬蟲獲取該頁面,導致頁面內寫入的 noindex 標籤沒有機會被讀取,結果可能無法從索引中移除。如果想將頁面從搜尋結果中排除,正確做法是在允許抓取的前提下僅使用 noindex。
ツールくん

閒話 ― robots.txt 與 robots meta 標籤的區別 ― 抓取與索引的分工

robots.txt 與 robots meta 標籤都是面向搜尋引擎的指令,但各自負責不同的階段。robots.txt 是放置在網站根目錄的靜態文本檔案,以 URL 模式為單位控制「是否允許抓取」。而 robots meta 標籤(以及 X-Robots-Tag 頭部)則以頁面為單位,精細控制「已抓取的頁面是否可以被索引」「是否可以追蹤其中的連結」,兩者作為相互獨立的層級發揮作用。

正因為存在這種分工結構,即使在被 robots.txt 設定為 disallow 的頁面上寫入 noindex 標籤也不會生效。因為爬蟲根本無法獲取該頁面,自然也就沒有機會讀取頁面內的 noindex 指令。如果想將頁面從搜尋結果中排除,需要在保持允許抓取的前提下,僅使用 noindex 指令。

X-Robots-Tag 頭部是 Google 大約在 2007 年引入的機制,使得無法使用 meta 標籤的 PDF、圖片、影片等非 HTML 資源也能進行同樣的控制。由於可以在 Apache 等 Web 伺服器配置中按副檔名批次設定,因此也適合用於將大量 PDF 檔案一次性設為 noindex 等場景。

max-snippet、max-image-preview、max-video-preview 等帶值的指令出現時間相對較晚,是 Google 在 2019 年整理搜尋結果摘要顯示相關政策時新增的。在此之前,若要限制摘要顯示,只能使用 nosnippet 將其完全關閉,因此能夠細緻調整顯示量的變化,對釋出者而言是值得歡迎的改進。