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