SEO優化-使用robots.txt阻止搜尋引擎抓取你的網站
為了你的網站可以被別人搜尋到,搜尋引擎爬蟲,有時也稱為搜尋機器人(bots)或是搜尋蜘蛛(spiders),會爬取你的網站,搜尋有變動的內容並且重新更新搜尋引擎的搜尋檢索。
網站站長可以使用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文件時,會去理解文件內容,不會禁止全部目錄的爬取。
如果想只想要一網頁部被抓取檢索請參考(使用標籤來阻擋搜尋蜘蛛檢索網頁)