Robots文件的作用和規(guī)范寫法
控制頁面的抓取、索引是SEO優(yōu)化網(wǎng)站結構時經(jīng)常需要用到的技術。常見的工具包括:
robots文件
頁面的noindex標簽
鏈接的nofollow屬性
頁面的301轉向
頁面的canonical標簽等
這幾個工具各有各的特定應用場景,但都是用于控制網(wǎng)站內部結構,之間容易混淆,還經(jīng)常需要配合使用,SEO們必須準確理解這幾個工具的機制和原理,不然很容易出錯。
這篇貼子討論robots文件。
Robots文件的作用
robots文件是一個放置在域名(或子域名)根目錄下的、文件名固定為robots.txt的(全部小寫)、UTF8編碼的、純ASCII文本文件,用來通知搜索引擎,網(wǎng)站的哪些部分可以抓取,哪些禁止抓取。robots.txt只對所在的域名(或子域名)、協(xié)議和端口號起作用。
搜索引擎蜘蛛在抓取網(wǎng)站頁面前,會先看一下robots.txt的內容,哪些頁面可以抓取,哪些頁面被站長禁止抓取。當然,是否遵守robots文件的規(guī)則就靠自覺了,某些壞蜘蛛就不遵守,站長是沒辦法的,比如采集內容的、克隆網(wǎng)站的。
所以,robots.txt文件是站長禁止搜索引擎抓取某些頁面的指令。但是要注意,頁面沒有被抓取,不意味著頁面就不會被索引和收錄,這是兩個概念。詳情參考爬行、抓取、索引的概念介紹貼子。
怎樣寫Robots文件
Robots文件的每行記錄均由一個字段、一個冒號和一個值組成,標準格式是:
<field>:<optional space><value><optional space><#optional-comment>
其中<optional space>指的是可以加一個空格,但不是必須,通常建議加這個空格,比較容易讀。
<#optional-comment>是另一個可選項,用于寫些注釋。
通常robots文件中的記錄通常以User-agent開始,后面加上若干Disallow和Allow行。User-agent指定本記錄用于哪個搜索引擎蜘蛛,Disallow是指定禁止抓取的文件或目錄,Allow是指定允許抓取的文件或記錄。
所有搜索引擎都支持的robots文件記錄包括:
Disallow – 告訴蜘蛛不要抓取某些文件或目錄。如下面代碼將阻止所有蜘蛛抓取所有的網(wǎng)站文件:
User-agent: *
Disallow: /
Allow – 告訴蜘蛛應該抓取某些文件。Allow和Disallow配合使用,可以告訴蜘蛛某個目錄下,大部分都不抓取,只抓取一部分。如下面代碼將使蜘蛛不抓取ab目錄下其他文件,而只抓取其中cd下的文件:
User-agent: *
Disallow: /ab/
Allow: /ab/cd
$通配符 – 匹配URL結尾的字符。如下面代碼將允許蜘蛛訪問以.htm為后綴的URL:
User-agent: *
Allow: .htm$
*通配符 – 告訴蜘蛛匹配任意一段字符。如下面一段代碼將禁止所有蜘蛛抓取所有htm文件:
User-agent: *
Disallow: /*.htm
Sitemaps位置 – 告訴蜘蛛你的網(wǎng)站地圖在哪里,格式為:
Sitemap: <sitemap_location>
Robots文件的注意事項
另外提醒大家注意的是,robots.txt文件可以不存在,返回404錯誤,意味著允許蜘蛛抓取所有內容。但抓取robots.txt文件時卻發(fā)生超時之類的錯誤,可能導致搜索引擎不收錄網(wǎng)站,因為蜘蛛不知道robots.txt文件是否存在或者里面有什么內容,這與確認文件不存在是不一樣的。
另外,如果robots.txt文件不存在,而404頁面上包含一些URL,可能會造成搜索引擎誤將404頁面的內容當作robots文件的內容,導致無法預測的后果。所以,即使想開放所有搜索引擎蜘蛛抓取所有內容,也最好放一個robots文件,哪怕是空的文件。
Robots文件的檢測
寫好robots文件后如果不確定是否寫得正確,可以用搜索引擎官方工具檢測驗證。如百度資源平臺的robots文件驗證工具 https://ziyuan.baidu.com/robots/index
robots文件檢測驗證工具
輸入網(wǎng)址后,驗證工具會告訴你這個URL是否允許被抓取。
掌握robots文件用法和寫法是SEO的基本功。遇到頁面不被收錄或收錄驟降,robots文件也是第一個要檢查的。
來源:seo每天一貼 Zac 昝輝