什麼是網頁設計?背景
認識網頁設計Q & A

認識網頁設計 - SEO搜尋引擎最佳化

如何使用robots.txt阻止搜尋引擎爬(抓取)你的網站?

為了你的網站可以被別人搜尋到,搜尋引擎爬蟲,有時也稱為搜尋機器人(bots)或是搜尋蜘蛛(spiders),會爬取你的網站,搜尋有變動的內容並且重新更新搜尋引擎的搜尋檢索。

如何用robts.txt 這個檔案去控制搜尋蜘蛛

網站站長可以使用robots.txt這個文件,來指導搜尋蜘蛛應該如何爬取這個網站,當搜尋引擎爬取網站時,會先讀取robots.tx 文件,並且依照規則爬取網站。

※ robots.txt 規則雖然是重要的,但是搜尋機器人不一定會遵守 robot.txt 規則,它只是一個執行方針。
※ 以Google而言,要設定Crawl-delay,是必須在Google管理工具裡設定。
※ 對於浮濫爬取你的網站的劣質搜尋蜘蛛,應該研究如何憑藉.htaccess裡的User-agent去阻擋不好的搜尋蜘蛛。

編輯與創建robots.txt 文件

Robots.txt 文件是必須放在網站根目錄裡,如果你的網址是example.com 是可以讀取到的。

網址位置:

http://example.com/robots.txt

伺服器位置:

/home/userna5/public_html/robots.txt

如果沒有這個檔案的話,你可以使用純文件檔案建立一個新的robots.txt文件。

搜尋引擎的使用者代理

以搜尋引擎蜘蛛的User-agent來說,使用robots.txt文件來控制,是最普通的規範方式。

當搜尋蜘蛛爬取網站時,他們會以使用者代理User-agent來識別、以下提供些參考範例

前三名美國最常發現的搜尋引擎使用者代理:

Googlebot
Yahoo! Slurp
bingbot

最常被阻擋的搜尋引擎使用者代理:

AhrefsBot
Baiduspider
Ezooms
MJ12bot
YandexBot

搜尋引擎蜘蛛是會以robots.txt文件規則來抓取網站

robots.txt 文件有許多的規則,可以控制搜尋蜘蛛如何爬取你得網站。

User-agent:可以具體指定哪一個User-agent是適用的,如*是萬用搭配於全部的User-agent。

Disallow:設定檔案或是資料夾,不允許被搜尋蜘蛛爬取。

設定全部搜尋引擎延遲爬取

如果你的網站有1000頁,搜尋蜘蛛可能在幾分鐘內檢索全部的網站,然而這有可能導致系統資源使用過度,在短時間內讓全部的網頁超過負荷,導致網頁無法瀏覽。

延遲30秒的時間,將允許搜尋蜘蛛在8.3小時內檢索1000張網頁。

延遲500秒的時間,將允許搜尋蜘蛛在5.8天內檢索1000張網頁。

你也可以設定Crawl-delay:所有的搜尋蜘蛛立即搜尋。

User-agent: *
Crawl-delay: 30

允許搜尋蜘蛛爬取全部網站

在預設空白情況下,搜尋引擎蜘蛛還是會爬取你的網站,不過你還是可以指定它是允許的。

User-agent: *
Disallow:

不允許搜尋蜘蛛爬取全部網站

User-agent: *
Disallow: /

不允許搜尋蜘蛛爬取特定一個網站

你可以運用這些規則,不允許特定的搜尋引擎蜘蛛爬取你的網站。

User-agent: Baiduspider
Disallow: /

不允許全部搜尋蜘蛛爬取特定的檔案

如果有些檔案如contactus.htm, index.htm, 或是store.htm我們不想要搜尋蜘蛛爬取,我可以使用:

User-agent: *
Disallow: /contactus.htm
Disallow: /index.htm
Disallow: /store.htm

除了指定的以外,不允許全部搜尋蜘蛛爬取

如果我們只想讓Googlebot爬取我們的/private/目錄,但是不允許其他搜尋蜘蛛爬取,我們可以這樣使用:

User-agent: *
Disallow: /
User-agent: Googlebot
Disallow: /private/

當Googlebot讀取我的robots.txt文件時,會去理解文件內容,不會禁止全部目錄的爬取。

如果想只想要一網頁部被抓取檢索請參考(使用<META>標籤來阻擋搜尋蜘蛛檢索網頁)


歡迎推廣本文,請務必連結(LINK)本文出處