robots 是站點(diǎn)與 spider 溝通的重要渠道,站點(diǎn)通過 robots 文件聲明該網(wǎng)站中不想被搜索引擎收錄的部分或者指定搜索引擎只收錄特定的部分。請(qǐng)注意,僅當(dāng)您的網(wǎng)站包含不希望被搜索引擎收錄的內(nèi)容時(shí),才需要使用 robots.txt 文件。
什么是robots.txt
robots 是站點(diǎn)與 spider 溝通的重要渠道,站點(diǎn)通過 robots 文件聲明該網(wǎng)站中不想被搜索引擎收錄的部分或者指定搜索引擎只收錄特定的部分。請(qǐng)注意,僅當(dāng)您的網(wǎng)站包含不希望被搜索引擎收錄的內(nèi)容時(shí),才需要使用 robots.txt 文件。
Robots協(xié)議(也稱為爬蟲協(xié)議、機(jī)器人協(xié)議等)的全稱是“網(wǎng)絡(luò)爬蟲排除標(biāo)準(zhǔn)”(Robots Exclusion Protocol),網(wǎng)站通過Robots協(xié)議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。
搜索引擎機(jī)器人訪問網(wǎng)站時(shí),首先會(huì)尋找站點(diǎn)根目錄有沒有 robots.txt文件,如果有這個(gè)文件就根據(jù)文件的內(nèi)容確定收錄范圍,如果沒有就按默認(rèn)訪問以及收錄所有頁面。另外,當(dāng)搜索蜘蛛發(fā)現(xiàn)不存在robots.txt文件時(shí),會(huì)產(chǎn)生一個(gè)404錯(cuò)誤日志在服務(wù)器上,從而增加服務(wù)器的負(fù)擔(dān),因此為站點(diǎn)添加一個(gè)robots.txt文件還是很重要的。
SEO中的作用
從SEO角度來說,剛上線的網(wǎng)站,由于頁面較少,robots.txt做不做都可以,但隨著頁面的增加,robots.txt的SEO作用就體現(xiàn)出來了,主要表現(xiàn)在以下幾個(gè)方面。
- 優(yōu)化搜索引擎機(jī)器人的爬行抓取
- 阻止惡意抓取,優(yōu)化服務(wù)器資源
- 減少重復(fù)內(nèi)容出現(xiàn)在搜索結(jié)果中
- 隱藏頁面鏈接出現(xiàn)在搜索結(jié)果中
如何查看
如:http://www.kartiktrivedi.com/robots.txt
訪問此鏈接,即可看到本站的robots.txt文件。
如何設(shè)置
方法一:安裝插件:XML Sitemap & Google News feeds,詳見:
方法二: 新建一個(gè)名稱為robots.txt文本文件,將相關(guān)內(nèi)容放進(jìn)去,然后上傳到網(wǎng)站根目錄即可。
放置什么
推薦放入以下內(nèi)容:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /*/comment-page-*
Disallow: /*?replytocom=*
Disallow: /category/*/page/
Disallow: /tag/*/page/
Disallow: /*/trackback
Disallow: /feed
Disallow: /*/feed
Disallow: /comments/feed
Disallow: /?s=*
Disallow: /*/?s=*
Disallow: /*?*
Disallow: /attachment/

具體放啥需要你閱讀以下文件后決定,以上僅為推薦。
各項(xiàng)作用
robots.txt的寫法包括User-agent,Disallow,Allow和Crawl-delay。
- User-agent: 后面填你要針對(duì)的搜索引擎,*代表全部搜索引擎
- Disallow: 后面填你要禁止抓取的網(wǎng)站內(nèi)容和文件夾,/做前綴
- Allow: 后面填你允許抓取的網(wǎng)站內(nèi)容,文件夾和鏈接,/做前綴
- Crawl-delay: 后面填數(shù)字,意思是抓取延遲,小網(wǎng)站不建議使用
1、Disallow: /wp-admin/、Disallow: /wp-content/和Disallow: /wp-includes/
用于告訴搜索引擎不要抓取后臺(tái)程序文件頁面。
2、Disallow: /*/comment-page-*和Disallow: /*?replytocom=*
禁止搜索引擎抓取評(píng)論分頁等相關(guān)鏈接。
3、Disallow: /category/*/page/和Disallow: /tag/*/page/
禁止搜索引擎抓取收錄分類和標(biāo)簽的分頁。
4、Disallow: /*/trackback
禁止搜索引擎抓取收錄trackback等垃圾信息
5、Disallow: /feed、Disallow: /*/feed和Disallow: /comments/feed
禁止搜索引擎抓取收錄feed鏈接,feed只用于訂閱本站,與搜索引擎無關(guān)。
6、Disallow: /?s=*和Disallow: /*/?s=*
禁止搜索引擎抓取站內(nèi)搜索結(jié)果
7、Disallow:?/*?*
禁止搜索抓取動(dòng)態(tài)頁面
8、Disallow: /attachment/
禁止搜索引擎抓取附件頁面,比如毫無意義的圖片附件頁面。
文件詳解
robots文件往往放置于根目錄下,包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL,?or?NL作為結(jié)束符),每一條記錄的格式如下所示:
???? ?“<field>:<optional?space><value><optionalspace>”
?在該文件中可以使用#進(jìn)行注解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,后面加上若干Disallow和Allow行,詳細(xì)情況如下:
????User-agent:該項(xiàng)的值用于描述搜索引擎robot的名字。在”robots.txt”文件中,如果有多條User-agent記錄說明有多個(gè)robot會(huì)受到”robots.txt”的限制,對(duì)該文件來說,至少要有一條User-agent記錄。如果該項(xiàng)的值設(shè)為*,則對(duì)任何robot均有效,在”robots.txt”文件中,”User-agent:*”這樣的記錄只能有一條。如果在”robots.txt”文件中,加入”User-agent:SomeBot”和若干Disallow、Allow行,那么名為”SomeBot”只受到”User-agent:SomeBot”后面的?Disallow和Allow行的限制。
????Disallow:該項(xiàng)的值用于描述不希望被訪問的一組URL,這個(gè)值可以是一條完整的路徑,也可以是路徑的非空前綴,以Disallow項(xiàng)的值開頭的URL不會(huì)被?robot訪問。例如”Disallow:/help”禁止robot訪問/help.html、/helpabc.html、/help/index.html,而”Disallow:/help/”則允許robot訪問/help.html、/helpabc.html,不能訪問/help/index.html。”Disallow:”說明允許robot訪問該網(wǎng)站的所有url,在”/robots.txt”文件中,至少要有一條Disallow記錄。如果”/robots.txt”不存在或者為空文件,則對(duì)于所有的搜索引擎robot,該網(wǎng)站都是開放的。
????Allow:該項(xiàng)的值用于描述希望被訪問的一組URL,與Disallow項(xiàng)相似,這個(gè)值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項(xiàng)的值開頭的URL?是允許robot訪問的。例如”Allow:/hibaidu”允許robot訪問/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一個(gè)網(wǎng)站的所有URL默認(rèn)是Allow的,所以Allow通常與Disallow搭配使用,實(shí)現(xiàn)允許訪問一部分網(wǎng)頁同時(shí)禁止訪問其它所有URL的功能。
????使用”*”and”$”:Baiduspider支持使用通配符”*”和”$”來模糊匹配url。
????“*”?匹配0或多個(gè)任意字符
?????“$”?匹配行結(jié)束符。
最后需要說明的是:百度會(huì)嚴(yán)格遵守robots的相關(guān)協(xié)議,請(qǐng)注意區(qū)分您不想被抓取或收錄的目錄的大小寫,百度會(huì)對(duì)robots中所寫的文件和您不想被抓取和收錄的目錄做精確匹配,否則robots協(xié)議無法生效。
用發(fā)舉例:

來源于:https://blog.csdn.net/aa3236925/article/details/78993924
但是在實(shí)際的操作中,絕大多數(shù)的網(wǎng)站,在其撰寫上都存在或多或少的欠缺,甚至由于技術(shù)性的錯(cuò)誤撰寫,還會(huì)導(dǎo)致網(wǎng)站降權(quán)、不收錄、被K等一系列問題的出現(xiàn)。對(duì)于這一點(diǎn),A5營(yíng)銷,包括我,在對(duì)客戶的SEO診斷過程中,會(huì)經(jīng)常遇到,可以算是很多站點(diǎn)的通病。今天寫出這篇文章,就是來做一個(gè)分享:關(guān)于robots.txt協(xié)議,你寫對(duì)了嗎?
一:設(shè)置成Allow全站點(diǎn)抓取
百度收錄的越多,網(wǎng)站的排名越高?這是絕大多數(shù)站長(zhǎng)的認(rèn)為,事實(shí)上也是如此。但是也并非絕對(duì)成立:低質(zhì)量的頁面收錄,會(huì)降低網(wǎng)站的排名效果,這一點(diǎn)你考慮到了嗎?
如果你的網(wǎng)站結(jié)構(gòu)不是非常的清晰,以及不存在多余的“功能”頁面,不建議對(duì)網(wǎng)站開全站點(diǎn)的抓取,事實(shí)上,在A5的SEO診斷中,只遇到極少數(shù)的一部分網(wǎng)站,可以真正的做到全站點(diǎn)都允許抓取,而不做屏蔽。隨著功能的豐富,要做到允許全站點(diǎn)抓取,也不太可能。
二:什么樣的頁面不建議抓取
對(duì)于網(wǎng)站功能上有用的目錄,有用的頁面,在用戶體驗(yàn)上可以得到更好的提升。但是搜索引擎方面來講,就會(huì)造成:服務(wù)器負(fù)擔(dān),比如:大量的翻頁評(píng)論,對(duì)優(yōu)化上則沒有任何的價(jià)值。
除此外還包含如:網(wǎng)站做了偽靜態(tài)處理后,那么就要將動(dòng)態(tài)鏈接屏蔽掉,避免搜索引擎抓取。用戶登錄目錄、注冊(cè)目錄、無用的軟件下載目錄,如果是靜態(tài)類型的站點(diǎn),還要屏蔽掉動(dòng)態(tài)類型的鏈接Disallow: /*?* 為什么呢?我們舉個(gè)例子來看:
上面是某客戶網(wǎng)站發(fā)現(xiàn)的問題,被百度收錄的原因是:有人惡意提交此類型的鏈接,但是網(wǎng)站本身又沒有做好防護(hù)。
三:撰寫上的細(xì)節(jié)注意事項(xiàng)
方法上來講,絕大多數(shù)的站長(zhǎng)都明白,這里就不做多說了,不明白的站長(zhǎng),可以上百度百科看一下。今天這里說一些不常見的,可能是不少站長(zhǎng)的疑問。
1、舉例:Disallow; /a 與Disallow: /a/的區(qū)別,很多站長(zhǎng)都見過這樣的問題,為什么有的協(xié)議后加斜杠,有的不加斜杠呢?筆者今天要說的是:如果不加斜杠,屏蔽的是以a字母開頭的所有目錄和頁面,而后者代表的是屏蔽當(dāng)前目錄的所有頁面和子目錄的抓取。
通常來講,我們往往選擇后者更多一些,因?yàn)槎x范圍越大,容易造成“誤殺”。
2、JS文件、CSS需要屏蔽嗎?不少網(wǎng)站都做了這個(gè)屏蔽,但是筆者要說的是:google站長(zhǎng)工具明確的說明:封禁css與js調(diào)用,可能會(huì)影響頁面質(zhì)量的判斷,從而影響排名。而對(duì)此,我們做了一些了解,百度方面同樣會(huì)有一定影響。
3、已經(jīng)刪除的目錄屏蔽,很多站長(zhǎng)往往刪除一些目錄后,怕出現(xiàn)404問題,而進(jìn)行了屏蔽,禁止搜索引擎再抓取這樣的鏈接。事實(shí)上,這樣做真的好嗎?即使你屏蔽掉了,如果之前的目錄存在問題,那么沒有被蜘蛛從庫中剔除,同樣會(huì)影響到網(wǎng)站。
建議最佳的方式是:將對(duì)應(yīng)的主要錯(cuò)誤頁面整理出來,做死鏈接提交,以及自定義404頁面的處理,徹底的解決問題,而不是逃避問題。