WordPress 目前全球有數千萬使用者,包括獨立部落格和部落格平臺,且很多人把 WordPress 開發成 CMS 來使用。 WordPress 程式的優越性就不用多說了。

講 WordPress 的 robots.txt 最佳化之前,先對 robots.txt 的相關知識普及一下。

robots.txt 是一個存放在網站根目錄下的純文字檔案 (ASCII 編碼),這個檔案用於指定 spider 在您網站上的抓取範圍,一定程度上保護站點的安全和隱私。同時也是網站最佳化利器,例如遮蔽捉取站點的重複內容頁面。

robots.txt 目前並不是一種標準,只是一種協議!所以現在很多搜尋引擎對 robots.txt 裡的指令引數都有不同的看待。

使用 robots.txt 需要注意的幾點地方:

1 、指令區分大小寫,忽略未知指令,下圖是本部落格的 robots.txt 檔案在 Google 管理員工具裡的測試結果;

好像還是不支援中文等非英文字元,如需新增中文地址指令,請先轉碼 (UTF-8 和 GBK 會有不同的轉碼結果) 。

如果想第一時間知道自己寫的 robots.txt 是否規範,可以用 Google 管理員工具的 「像 Googlebot 一樣抓取」 功能。捉取後,點選 「成功」 那個連結進去,就可以看到 Google 眼中的 robots.txt 了。

2 、每一行代表一個指令,空白和隔行會被忽略;

3 、 「#」 號後的字元引數會被忽略;

4 、有獨立 User-agent 的規則,會排除在通配 「*」User agent 的規則之外;

5 、可以寫入 sitemap 檔案的連結,方便搜尋引擎蜘蛛爬行整站內容。

6 、儘量少用 Allow 指令,因為不同的搜尋引擎對不同位置的 Allow 指令會有不同看待。

想了解更多關於 robots.txt 的 「標準化」 說明,可以檢視 robots.txt 官網和 Google 關於 robots.txt 的說明頁。

轉入正題。因為 WordPress 建站設定不同的固定連結 (或者安裝不同的外掛),在寫指令的時候,相應的地址會不同。本部落格固定連結設定為:/a/%post_id%.html,供參考。

下面開始 WordPress 的 robots.txt 最佳化之旅,同時請下載本部落格的 robots.txt 邊看邊學最佳化。

一般部落格的 robots.txt 指令設定都是面對所有 spider 程式,用萬用字元 「*」 即可。如果有獨立 User-agent 的指令規則,儘量放在通配 「*」User agent 規則的上方。

Disallow: /wp-admin/

Disallow: /wp-content/

Disallow: /wp-includes/

遮蔽 spider 捉取程式檔案,同時也節約了搜尋引擎蜘蛛資源。

每個預設的文章頁面程式碼裡,都有一段 trackback 的連結,如果不遮蔽讓蜘蛛去捉取,網站會出現重複頁面內容問題。

Disallow: /feed

Disallow: /*/feed

Disallow: /comments/feed

頭部程式碼裡的 feed 連結主要是提示瀏覽器使用者可以訂閱本站,而一般的站點都有 RSS 輸出和網站地圖,故遮蔽搜尋引擎捉取這些連結,節約蜘蛛資源。

Disallow: /?s=*

Disallow: /*/?s=*

這個就不用解釋了,遮蔽捉取站內搜尋結果。站內沒出現這些連結不代表站外沒有,如果收錄了會造成和 TAG 等頁面的內容相近。

遮蔽留言連結外掛留下的變形留言連結。 (沒安裝相關外掛當然不用這條指令)

Disallow: /*.jpg$

Disallow: /*.jpeg$

Disallow: /*.gif$

Disallow: /*.png$

Disallow: /*.bmp$

遮蔽捉取任何圖片檔案,在這裡主要是想節約點寬頻,不同的網站管理員可以按照喜好和需要設定這幾條指令。

遮蔽捉取短連結。預設頭部裡的短連結,百度等搜尋引擎蜘蛛會試圖捉取,雖然最終短連結會 301 重定向到固定連結,但這樣依然造成蜘蛛資源的浪費。

Disallow: /*/comment-page-*

Disallow: /*?replytocom*

遮蔽捉取留言資訊連結。一般不會收錄到這樣的連結,但為了節約蜘蛛資源,也遮蔽之。

Disallow: /a/date/

Disallow: /a/author/

Disallow: /a/category/

Disallow: /?p=*&preview=true

Disallow: /?page_id=*&preview=true

Disallow: /wp-login.php

遮蔽其他的一些形形色色的連結,避免造成重複內容和隱私問題。

Sitemap:http://***.com/sitemap.txt

網站地圖地址指令,主流是 txt 和 xml 格式。告訴搜尋引擎網站地圖地址,方便搜尋引擎捉取全站內容,當然你可以設定多個地圖地址。要注意的就是 Sitemap 的 S 要用大寫,地圖地址也要用絕對地址。

上面的這些 Disallow 指令都不是強制要求的,可以按需寫入。也建議站點開通谷歌管理員工具,檢查站點的 robots.txt 是否規範。