robots.txt直接放在網(wǎng)站根目錄下,是蜘蛛訪(fǎng)問(wèn)網(wǎng)站時(shí),第一個(gè)抓取的文件。robots.txt是告訴蜘蛛網(wǎng)站的哪些文件允許抓取,哪些文件不允許抓取,甚至可以指定特定的蜘蛛能不能抓取特定的文件。沒(méi)有抓取就沒(méi)有收錄,沒(méi)有收錄就沒(méi)有排名。所以作為第一蜘蛛訪(fǎng)問(wèn)的文件,寫(xiě)好robots.txt是很重要的,寫(xiě)好robots.txt后,一定要再檢查一兩遍,以防出錯。這里總結下robots.txt寫(xiě)法,讓你看完秒懂robots.txt寫(xiě)法和注意事項 。
一.robots.txt具體作用
1.對搜索引擎做出規定,抓取或者不抓取。
2.由于有些信息規定了不讓抓取,所以可以保護到一些必要的信息,比如:網(wǎng)站后臺,用戶(hù)信息。
3.節省搜索引擎抓取資源。
二.robots.txt規則
1.User-agent,用于告訴識別蜘蛛類(lèi)型。比如,User-agent: Baiduspider 就是指百度蜘蛛。
各類(lèi)蜘蛛列舉如下:
百度蜘蛛:Baiduspider
谷歌機器人:GoogleBot
360蜘蛛:360Spider
搜狗蜘蛛:Sogou News Spider
雅虎蜘蛛:“Yahoo! Slurp China” 或者 Yahoo!
有道蜘蛛:Youdaobot 或者 Yodaobot
Soso蜘蛛:Sosospider
2.Allow,允許蜘蛛抓取指定目錄或文件,默認是允許抓取所有。
3.Disallow,不允許蜘蛛抓取指定目錄或文件。
4.通配符,“*”,匹配0或多個(gè)任意字符。
5.終止符,“$”,可以匹配以指定字符結尾的字符。
舉個(gè)例子:下面是一個(gè)wordpress程序的robots.txt
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: /feed
Disallow: /*/feed
Disallow: /comments/feed
Disallow: /*.js$
Disallow: /*?*
Sitemap: http://www.leheseo.com/sitemap.xml
解釋?zhuān)?/strong>
User-agent: *:對所有搜索引擎都使用下面的規則。
Disallow: /wp-admin/:不讓蜘蛛抓取根目錄下的wp-admin文件夾。
Disallow: /*.js$:不讓蜘蛛抓取根目錄下所有的js文件。
Disallow: /*?*:不抓取所有的動(dòng)態(tài)鏈接。
Sitemap: http://www.leheseo.com/sitemap.xml:給蜘蛛提供網(wǎng)站地圖,方便蜘蛛抓取網(wǎng)站內容。
三.robots.txt注意事項
1.如果你希望搜索引擎收錄網(wǎng)站上所有的內容,那么就不要建立robots.txt文件。
2.如果同時(shí)存在動(dòng)態(tài)和靜態(tài)鏈接,那么建議屏蔽動(dòng)態(tài)鏈接。
3.robots.txt只能是屏蔽站內文件的,對站外文件沒(méi)有屏蔽功能。
4.User-agent,Allow,Disallow,Sitemap的首字母都是大寫(xiě)的。
5.User-agent,Allow,Disallow,Sitemap的冒號后面都是有空格的,沒(méi)有寫(xiě)空格直接寫(xiě)接下來(lái)的內容會(huì )出錯。
6.網(wǎng)站通常會(huì )屏蔽搜索結果頁(yè)面。因為搜索結果頁(yè)和正常展示的內容頁(yè)相比,標題和內容上相同的,而這兩個(gè)頁(yè)面鏈接是不同的。那搜索引擎該將這篇文章歸屬于哪個(gè)內鏈呢?這樣就會(huì )造成內鏈之間相互競爭,造成內部資源損耗。
比如上面舉的例子,那個(gè)wordpress程序,在沒(méi)有設置偽靜態(tài),還是動(dòng)態(tài)鏈接的時(shí)候,搜索結果頁(yè)面鏈接都包含有/?s=,而 標題和內容 與 正常展示的動(dòng)態(tài)鏈接內容頁(yè)重復,可以通過(guò)Disallow: /?=*來(lái)屏蔽搜索結果頁(yè)面。
而現在那個(gè)wordpress程序已經(jīng)設置了偽靜態(tài),也設置了Disallow: /*?*,Disallow: /*?*本身就包含了Disallow: /?=*,所以Disallow: /?=*這句寫(xiě)不寫(xiě)都沒(méi)有關(guān)系
7.建議屏蔽js文件。Disallow: /*.js$,以 .js 結尾的路徑統統被屏蔽,這樣就屏蔽了js文件。
8.路徑是區分大小寫(xiě)的。Disallow: /ab/ 和 Disallow: /Ab/ 是不一樣的。
9.robots.txt會(huì )暴露網(wǎng)站相關(guān)目錄,寫(xiě)robots.txt時(shí)要考慮到這一點(diǎn)。
10.有些seo會(huì )將文件直接備份在服務(wù)器中,文件是 .zip 格式,然后在robots.txt中屏蔽。個(gè)人不建議這樣,這就是明顯告訴人家你的備份文件位置。建議文件和數據都備份到本地。
11.一些特殊規則對比:
①Disallow: /和Disallow: / ab (/后面有個(gè)空格,再有ab)是一樣的,/后面多了個(gè)空格,蜘蛛之認空格前面那一段,就是Disallow: /,所以?xún)蓚€(gè)都是屏蔽整站的。
②Disallow: /ab和Disallow: /ab*是一樣的。比如兩個(gè)都能屏蔽http://域名/ab,http://域名/abc,http://域名/abcd。
③Disallow: /ab/和Disallow: /ab是不一樣的。很明顯,Disallow: /ab范圍更廣,包含了Disallow: /ab/。因為Disallow: /ab/只能屏蔽http://域名/ab/,http://域名/ab/....這樣的路徑,也就是只能屏蔽ab目錄和ab目錄下的文件不被蜘蛛抓取。
四.驗證robots.txt文件的正確性和是否生效
當我們寫(xiě)好了robots.txt文件后,怎么確定文件的正確性呢?上傳到服務(wù)器根目錄后,怎么判斷robots.txt文件是否生效了呢?這時(shí)我們可以借助百度資源平臺Robots。比如輸入樂(lè )呵SEO測試服網(wǎng)址,得到如下結果。
驗證robots.txt文件是否生效
檢測到robots.txt文件的內容
驗證robots.txt文件的正確性
結果證明,http://wordpress.leheseo.com/robots.txt這個(gè)文件沒(méi)有語(yǔ)法錯誤,并且已經(jīng)生效了。
若是想測試某一個(gè)目錄或者文件是否被屏蔽了,百度也是提供了工具的。如下圖,由于 http://wordpress.leheseo.com 是測試服,我屏蔽了所有文件。所以無(wú)論我輸入根目錄下的任何目錄或者任何文件,都是檢測不到的,也就是說(shuō)蜘蛛是抓取不到的。
輸入了后臺目錄wp-admin:
后臺目錄檢測結果:
經(jīng)過(guò)測試,其他文件和目錄頁(yè)也檢測不到,所以這個(gè)功能還是很好用的。
更多robots.txt內容,可以參考百度提供的文檔哦。https://ziyuan.baidu.com/college/courseinfo?id=267&page=12
robots.txt寫(xiě)法和注意事項就總結到這里了,內容相對細致,結合了例子講解會(huì )很容易看懂,希望對您有所幫助咯。