robots協議可以說是各種網絡爬蟲程序與網站之間的一種約定,前段時間etao和京東就360buy內容的抓取鬧得像兩個孩子(PS:這篇文章寫了一段時間了),且不論京東與etao的對錯是非,從中我們可以知道robots可以將一些內容不開放給網絡爬蟲抓取,網絡爬蟲呢也完全可以不理會robots協議,按照自己的喜好獲取你的信息,縱然是需要登錄的網站爬蟲也能注冊賬號登錄,只是看想與不想。
也許有人說這樣看robots協議一點作用也沒有了,zhihu也曾討論過robots是否涉及法律,協議的存在有其一定的約束力,但對於流氓行徑連法律都不能完全阻止更別說協議了。
robots協議在遵守其約束的行為中能對SEO幫助很大的,下面看下都能做些什麼?
第一:robots能規范網站的URL
網站有兩種甚至3種以上地址的時候,該協議就能禁止蜘蛛爬去你不想展示的幾種URL,而使網站解決站內重復問題集中權重。
網站有時候為了數據分析會在url接受後添加一些參數以區分來路,這樣也是能用該協議解決的
第二:鑒於網站不想通過搜索引擎展示給用戶的一些內容,也可以使用 robots.txt解決
第三:控制蜘蛛抓取,以減輕服務器負擔,對於內容數量比較大的網站 蜘蛛抓取對於服務器資源的消耗是十分大的。
第四:和nofollow配合控制蜘蛛對網站的充分抓取
第五:robots.txt 支持添加網站地址以促進網站抓取和收錄,語法:Sitemap: http://www.sem.cm/sitemap.xml
robots.txt文件用法舉例
例1.禁止所有搜索引擎訪問網站的任何部分
User-agent: *
Disallow: /
例2.允許所有的robot訪問
(或者也可以建一個空文件 “/robots.txt”)
User-agent: *
Allow: /
另一種寫法是
User-agent: *
Disallow:
例3. 僅禁止Baiduspider訪問您的網站
User-agent: Baiduspider
Disallow: /
例4. 僅允許Baiduspider訪問您的網站
User-agent: Baiduspider
Allow:/
例5. 禁止spider訪問特定目錄
在這個例子中,該網站有三個目錄對搜索引擎的訪問做了限制,即robot不會訪問這三個目錄。需要注意的是對每一個目錄必須分開聲明,而不能寫成 “Disallow: /cgi-bin/ /tmp/”。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
例6. 允許訪問特定目錄中的部分url
User-agent: *
Allow: /cgi-bin/see
Allow: /tmp/hi
Allow: /~joe/look
例7. 使用”*”限制訪問url
禁止訪問/cgi-bin/目錄下的所有以”.htm”為後綴的URL(包含子目錄)。
User-agent: *
Disallow: /cgi-bin/*.htm
例8. 使用”$”限制訪問url
僅允許訪問以”.htm”為後綴的URL。
User-agent: *
Allow:/ .htm$
例9. 禁止訪問網站中所有的動態頁面
User-agent: *
Disallow: /*?*
例10. 禁止Baiduspider抓取網站上所有圖片
僅允許抓取網頁,禁止抓取任何圖片。
User-agent: Baiduspider
Disallow: /*.jpg$
Disallow: /* .jpeg$
Disallow:/* .gif$
Disallow:/* .png$
Disallow: /*.bmp$
例11. 僅允許Baiduspider抓取網頁和。gif格式圖片
允許抓取網頁和gif格式圖片,不允許抓取其他格式圖片
User-agent: Baiduspider
Allow: .gif$
Disallow: /.jpg$
Disallow:/ .jpeg$
Disallow:/ .png$
Disallow: /.bmp$
例12. 僅禁止Baiduspider抓取。jpg格式圖片
User-agent: /Baiduspider
Disallow:/ .jpg$
robots.txt的寫法是否正確可以使用google網站管理員工具後台測試。