robots.txt 無效

robots.txt 檔案會告訴搜尋引擎可以檢索網站上的哪些網頁。無效的 robots.txt 設定可能會導致以下兩種問題:

  • 這麼做可防止搜尋引擎檢索公開網頁,降低您的內容在搜尋結果中的顯示頻率。
  • 這可能會導致搜尋引擎檢索您不想顯示在搜尋結果中的網頁。

Lighthouse robots.txt 稽核失敗

Lighthouse 標記無效的 robots.txt 檔案:

Lighthouse 稽核顯示無效的 robots.txt

展開報表中的 robots.txt 無效稽核項目,瞭解 robots.txt 的問題。

常見錯誤包括:

  • No user-agent specified
  • Pattern should either be empty, start with "/" or "*"
  • Unknown directive
  • Invalid sitemap URL
  • $ should only be used at the end of the pattern

Lighthouse 不會檢查 robots.txt 檔案是否位於正確位置。檔案必須位於網域或子網域的根目錄,才能正常運作。

如何修正 robots.txt 相關問題

確認 robots.txt 不會傳回 HTTP 5XX 狀態碼

如果您的伺服器針對 robots.txt 傳回伺服器錯誤 (500 秒中的 HTTP 狀態碼),搜尋引擎就無法知道要檢索哪些網頁。也可能停止檢索整個網站,導致系統無法為新內容建立索引。

如要檢查 HTTP 狀態碼,請在 Chrome 中開啟 robots.txt,然後在 Chrome 開發人員工具中查看要求

robots.txt 小於 500 KiB

如果檔案大於 500 KiB,搜尋引擎可能會在中途停止處理 robots.txt。這會造成搜尋引擎混淆,導致檢索網站的錯誤。

如要讓 robots.txt 保持精簡,請盡量減少關注個別排除的網頁,並著重在較廣泛的模式。舉例來說,如果您需要禁止 Google 檢索 PDF 檔案,請勿使用個別檔案。請改用 disallow: /*.pdf 來禁止所有包含 .pdf 的網址。

修正所有格式錯誤

  • robots.txt 僅允許使用符合「name: value」格式的空白行、註解和指令。
  • 確認 allowdisallow 值為空白,或是以 /* 開頭。
  • 請勿在值的中間部分使用 $,例如 allow: /file$html

確認「user-agent」已設有值

使用者代理程式名稱來告訴搜尋引擎檢索器應遵循哪些指令。您必須為 user-agent 的每個例項提供值,讓搜尋引擎知道是否要遵循相關的指令組合。

如要指定特定搜尋引擎檢索器,請使用該搜尋引擎發布清單中的使用者代理程式名稱。(例如,Google 的檢索用使用者代理程式清單)。

使用 * 比對所有其他不相符的檢索器。

錯誤做法
user-agent:
disallow: /downloads/

未定義任何使用者代理程式。

正確做法
user-agent: *
disallow: /downloads/

user-agent: magicsearchbot
disallow: /uploads/

定義了一般使用者代理程式和 magicsearchbot 使用者代理程式。

確認 user-agent 前沒有 allowdisallow 指令

使用者代理程式名稱會定義 robots.txt 檔案的部分,搜尋引擎檢索器會根據這些區段來判斷要遵循哪些指令。如果在第一個使用者代理程式名稱「之前」放置指令,任何檢索器就不會追蹤該指令。

錯誤做法
# start of file
disallow: /downloads/

user-agent: magicsearchbot
allow: /

沒有任何搜尋引擎檢索器讀取 disallow: /downloads 指令。

正確做法
# start of file
user-agent: *
disallow: /downloads/

不允許所有搜尋引擎檢索 /downloads 資料夾。

搜尋引擎檢索器只會遵循最具體的使用者代理程式名稱章節中的指令。舉例來說,如果設定了 user-agent: *user-agent: Googlebot-Image 指令,Googlebot 圖片只會遵循 user-agent: Googlebot-Image 區段中的指令。

sitemap 提供絕對網址

如要讓搜尋引擎瞭解你網站上的網頁,使用 Sitemap 檔案是不錯的方法。一般而言,Sitemap 檔案會列出您網站上的網址清單,以及網址上次變更時間的相關資訊。

如果您選擇透過 robots.txt 提交 Sitemap 檔案,請務必使用絕對網址

錯誤做法
sitemap: /sitemap-file.xml
正確做法
sitemap: https://example.com/sitemap-file.xml

資源