詳解robots協(xié)議文件的相關(guān)問題,主要談?wù)剅obots.txt是什么、配置怎么寫、有什么作用;以及,怎么給自己的網(wǎng)站合理配置robots.txt規(guī)則。

robots.txt是什么?robots協(xié)議配置怎么寫

什么是robots.txt協(xié)議?

簡單地說,robots協(xié)議就是網(wǎng)站空間目錄里的一個(gè)txt文件。通過在這個(gè)文件里添加相應(yīng)的規(guī)則內(nèi)容,我們可以規(guī)定搜索引擎蜘蛛如何爬取網(wǎng)站頁面。robots.txt是目前幾乎所有主流搜索引擎共同遵守的一項(xiàng)互聯(lián)網(wǎng)準(zhǔn)則,讓網(wǎng)站管理者可以掌控自己網(wǎng)站在搜索引擎上的展現(xiàn)。實(shí)質(zhì)上,robots的規(guī)則主要就是兩種指令:Allow指令(允許抓?。┖?Disallow指令(禁止抓取)。

也就是說,robots.txt協(xié)議文件其實(shí)是給搜索引擎準(zhǔn)備的。搜索引擎比如谷歌的蜘蛛來到網(wǎng)站,首先就會檢查網(wǎng)站的robots規(guī)則,然后根據(jù)這些規(guī)則的指導(dǎo)進(jìn)行爬取工作。所以,一般網(wǎng)站都是需要配置合適的robots規(guī)則,尤其是網(wǎng)站的某些類目或者頁面不想被搜索引擎抓取到。如果網(wǎng)站沒有配置robots文件,那就相當(dāng)于默認(rèn)全站可抓取。

robots.txt的指令規(guī)則

上文已經(jīng)提到,robots.txt主要指令就是Allow和Disallow這兩個(gè)。但,要組成一個(gè)完整的robots配置,還需要有其他指令的加入。接下來,我們逐一看下robots.txt的指令規(guī)則。

User-agent指令

任何指令都要有命令對象,robots規(guī)則指令也是如此。可能有人會疑惑:命令的對象不就是搜索引擎爬蟲嗎?是的,robots.txt就是指導(dǎo)這些爬蟲的抓??;但是,全球的搜索引擎這么多,如果有些內(nèi)容你就想給谷歌抓取,而不想給百度抓取,那怎么辦呢?所以,User-agent指令還是必不可少的,通過它我們可以規(guī)定robots規(guī)則的限定對象。比如,對象限定為谷歌,就可以用:User-agent: Googlebot,Googlebot就是谷歌的爬蟲代號,其他主要的搜索引擎爬蟲代號還有:

搜索引擎 蜘蛛代號
谷歌 Googlebot
百度 Baiduspider
360搜索 360Spider
搜狗 Sogou News Spider
必應(yīng) bingbot
MSN msnbot

一個(gè)搜索引擎可能不止有一種蜘蛛,比如谷歌,除了常見的Googlebot外,它還有Googlebot-Image之類的爬蟲,專門用于爬取圖片等內(nèi)容。如果你想了解所有搜索引擎的爬蟲代號,可以查看這里。

Disallow指令

Disallow指令就是規(guī)定網(wǎng)站中哪些內(nèi)容不想被搜索引擎抓取。舉幾個(gè)例子:

Disallow: /folder/(folder這個(gè)網(wǎng)站目錄,包括里面所有頁面不要抓?。?/p>

Disallow: /file.html(不要抓取網(wǎng)站中file.html這個(gè)頁面)

Disallow: /image.png(不要抓取image.png這個(gè)圖片)

Allow指令

和Disallow指令的作用相反,Allow指令告訴搜索引擎哪些頁面可以被抓取,這個(gè)指令一般是配合著Disallow指令發(fā)揮作用,畢竟如果沒有Disallow,那就已經(jīng)默認(rèn)可以抓取了。同樣,舉個(gè)例子:

User-agent: * (指令針對所有搜索引擎,*代表所有)
Disallow: /photos(不允許抓取photos這個(gè)目錄內(nèi)容)
Allow: /photos/car.jpg(只有car.jpg這個(gè)圖片可以抓取)

注意:括號里都是講解內(nèi)容,真正使用這些指令規(guī)則時(shí),不能加括號。

Crawl-delay指令

這個(gè)指令可以規(guī)定搜索引擎抓取頁面前需要等待一段時(shí)間。比如:Crawl-delay: 100,意味著需要等待100毫秒。這個(gè)指令一般用不到,而且谷歌不會執(zhí)行這個(gè)指令。

Sitemap指令

Sitemap指令就是告訴搜索引擎網(wǎng)站的Sitemap站點(diǎn)地圖在什么位置(一般位于網(wǎng)站根目錄中)。比如,我們網(wǎng)站的robots.txt文件就含有sitemap指令,大家可以自行查看:fukebing120.com.cn/robots.txt

Sitemap指令

只有Google,Ask,Bing和Yahoo支持此項(xiàng)指令。

模糊匹配指令

在實(shí)際應(yīng)用中,有時(shí)候我們需要制定某類文件或者頁面不被谷歌等搜索引擎抓取。這時(shí),就需要應(yīng)用到模糊匹配指令。robots規(guī)則中的匹配指令是兩個(gè)符號:*和$。符號*前面也有說過,是代表全部的意思;符號$則是用于結(jié)尾,代表符合結(jié)尾格式的地址。例如:Disallow: /*.gif$,表示不抓取網(wǎng)站中結(jié)尾格式為gif的所有文件。

常用的robots.txt配置

robots.txt規(guī)則

功能說明

User-agent: *

Disallow: /

禁止所有搜索引擎抓取網(wǎng)站任何頁面;一般用于網(wǎng)站尚未建設(shè)完成時(shí)使用,屏蔽搜索引擎抓取。
User-agent: *

Disallow: /abc/

禁止所有搜索引擎抓取abc這個(gè)目錄內(nèi)容;比如,wordpress網(wǎng)站需要禁止抓取wp-admin這個(gè)管理登錄的目錄。另外,不要使用robots規(guī)則限定你的隱私內(nèi)容,仍然有可能泄露。隱私頁面最好還是設(shè)置為普通用戶不可見最為安全。
User-agent: Googlebot

Allow: /

User-agent: *

Disallow: /

只允許谷歌蜘蛛爬取網(wǎng)站,其他搜索引擎禁止爬取。
User-agent: Googlebot

Disallow: /

User-agent: *

Allow: /

除了谷歌不可以抓取,其他搜索引擎均可爬取網(wǎng)站。
User-agent: *

Disallow: /abc.html

禁止所有搜索引擎抓取abc這個(gè)html頁面;此規(guī)則可用于禁止抓取網(wǎng)站中某個(gè)頁面。
User-agent: *

Disallow: /images/abc.jpg

禁止所有搜索引擎抓取網(wǎng)站images目錄下的abc這個(gè)jpg圖片。禁止抓取某個(gè)頁面或者圖片等文件,需要正確填寫所在位置。
User-agent: Googlebot

Disallow: /*xls$

禁止谷歌抓取網(wǎng)站中所有以xls為結(jié)尾格式的文件。

使用robots.txt的注意事項(xiàng)

  • 如果使用robots.txt協(xié)議,首先一點(diǎn)就是確保配置正確,不要影響到正常內(nèi)容的抓取。網(wǎng)站如果長時(shí)間沒被谷歌收錄,有可能就是因?yàn)閞obots.txt配置錯(cuò)誤導(dǎo)致的。
  • 為了方便搜索引擎查找、識別,robots.txt一般放在網(wǎng)站的根目錄中最好,也就是空間最開始的文件目錄里。
  • robots文件,必須是txt格式結(jié)尾,并且全稱為robots.txt,不要大些首字母變成Robots.txt或者其他任何形式。
  • robots.txt規(guī)則主流搜索引擎都會遵守,但不排除有些網(wǎng)站或者軟件的爬蟲會忽視這個(gè)文件,比如一些內(nèi)容采集軟件就不會遵守規(guī)則,所以不要指望robots規(guī)則可以把這類軟件攔截在外。
  • 如果有些頁面信息是比較私人的或者含有隱私,不要把它添加到robots文件內(nèi)容中,雖然搜索引擎不會抓取,但訪客是可以直接打開robots文件,查看到該頁面地址的。
  • 如果一個(gè)網(wǎng)站有二級域名,那么二級域名的網(wǎng)站也是需要配置robots.txt文件的,如果它含有不想被抓取的內(nèi)容,主域名配置的robots文件對二級域名不起作用。
  • robots.txt最好含有sitemap地址,能夠幫助搜索引擎更快地找到網(wǎng)站的站點(diǎn)地圖。站點(diǎn)地圖利于搜索引擎的抓取和收錄,網(wǎng)站如果還沒有sitemap,可以參照此篇文章進(jìn)行創(chuàng)建:Sitemap站點(diǎn)地圖生成工具

如何制作robots.txt文件

制作robots.txt文件的方法很簡單:在電腦桌面創(chuàng)建一個(gè)txt文本,然后命名為robots即可。書寫規(guī)則內(nèi)容時(shí),注意:

  1. 每行一個(gè)規(guī)則指令,如果是兩段規(guī)則,中間空一行;
  2. 使用英文輸入法,不要使用中文輸入法,: 號后面空一格。

示例

User-agent: *
Disallow: /(第一段)

User-agent: Googlebot
Allow: /(第二段)

如何提交robots.txt給谷歌

網(wǎng)站中已經(jīng)有了robots.txt文件,可以通過robots測試工具提交給Google,讓其盡快識別。打開工具:https://www.google.com/webmasters/tools/robots-testing-tool,選擇資源(先得到谷歌站長工具中驗(yàn)證網(wǎng)站所有權(quán)):

選擇資源

測試無誤后,點(diǎn)擊提交:

提交robots.txt

有什么想說的?歡迎評論留言

2 回復(fù)

發(fā)表評論

Want to join the discussion?
Feel free to contribute!

發(fā)表評論

您的電子郵箱地址不會被公開。 必填項(xiàng)已用*標(biāo)注