robots文件是網(wǎng)站和各大搜索引擎建立良好溝通的橋梁,也是網(wǎng)站從搜索引擎獲得流量的開端第一步,因為robots的設(shè)置不當(dāng),很有可能會失去很大一部分的流量。對于SEO優(yōu)化的從業(yè)者或者是愛好者,必須要知道其中的原理和設(shè)置方法,對于網(wǎng)站管理員及相關(guān)的開發(fā)技術(shù)人員,了解robots.txt文件的設(shè)置方法是一項額外加分的工作技能。網(wǎng)上也有很多的相關(guān)教程,但總是殘缺不全或難以理解,所以決定詳細(xì)的梳理一遍。
robots.txt文件只有一個作用:用于屏蔽一個或多個搜索引擎禁止收錄你網(wǎng)站上的內(nèi)容。默認(rèn)情況下網(wǎng)站都是允許任何搜索引擎抓取和收錄頁面的,但出于某種目的,你可以屏蔽某個或多個搜索引擎收錄你網(wǎng)站上的頁面,為了達(dá)成這一共識,于是robots協(xié)議就順利誕生了,所有的搜索引擎都遵循robots協(xié)議。
每個搜索引擎都一個被稱為蜘蛛(spider)或機(jī)器人(bot)的程序,我們習(xí)慣上稱之為“蜘蛛”,在決定是否抓取你的網(wǎng)站頁面時,蜘蛛會首先檢查你網(wǎng)站的根目錄里面是否存在robots.txt文件,如果沒有robots.txt則說明是允許全部抓取的;如果存在robots.txt文件,蜘蛛會識別里面有沒有自己的名稱在被拒絕之列,然后再判斷你設(shè)置的那些內(nèi)容是不允許抓取的,再進(jìn)行網(wǎng)頁的抓取和收錄。
robots.txt文件的寫法
默認(rèn)情況下是整個網(wǎng)站全部允許被任何搜索引擎抓取收錄的,robots.txt只用于禁止搜索引擎收錄,所以只需要添加搜索引擎蜘蛛的名稱(User-agent)和disallow(禁止收錄的內(nèi)容)即可,特殊情況下也可以使用allow語法。
User-agent: * Disallow: / Allow: *.html$ #seo
需要注意首字母大寫,冒號后面是英文狀態(tài)下的一個空格,用“井號”來表示注釋說明,支持 "*" 匹配0或多個任意字符,"$" 匹配行結(jié)束符,對大小寫敏感,所以要注意文件或文件夾的名稱精確匹配,為了搜索引擎能更好地識別robots.txt文件,建議保存編碼設(shè)置為ANSI編碼,下面舉例說明各種用法及設(shè)置。
robots.txt各種寫作方法
屏蔽搜索引擎的搜索引擎只需要把user-agent設(shè)置為*即可,如下所示,而disallow后面的斜杠則表示根目錄,自根目錄以下的任何內(nèi)容均不允許收錄,兩行代碼即可。
User-agent: * Disallow: /
所有的搜索引擎均允許,可以把robots.txt文件里面的內(nèi)容全部刪除,即保留一個空文件就行,還可以使用下面的代碼來說明。
User-agent: * Allow: /
需要把搜索引擎蜘蛛的名稱寫在前面,最后使用*來匹配全部,代碼如下。僅允許百度和谷歌收錄,其他搜索引擎全部禁止。
User-agent: baiduspider Allow: / User-agent: googelebot Allow: / User-agent: * Disallow: /
第5、6兩句是禁止所有的,前面允許了指定的蜘蛛名稱,所以除了被允許的百度和谷歌蜘蛛,其他的搜索引擎都不能收錄的網(wǎng)站頁面了。
如果只是想有針對性的屏蔽某個或多個搜索引擎,比如禁止百度和谷歌蜘蛛,寫法如下。
User-agent: baiduspider Disallow: / User-agent: googelebot Disallow: / User-agent: * Allow: /
由于默認(rèn)是allow狀態(tài)的,所以第5句、6句一般不寫。只寫disallow的部分。你可能已經(jīng)發(fā)現(xiàn)了,user-agent后面只能是具體的蜘蛛名稱或星號,而disallow和allow后面的內(nèi)容是全站時均使用斜杠而不是其他符合,因為他們后面的是指網(wǎng)站的目錄,所以在指向目錄時就不能使用別的符合,比如“disallow:*”這個寫法就錯了。
禁止抓取和收錄目錄及文件的寫作語法,下面分別舉例說明。
User-agent: * Disallow: /asf/ Disallow: /2020/
上的意思是對于所有的搜索引擎,均禁止收錄asf和2020文件夾里面的任何內(nèi)容。在屏蔽文件夾時最后要加斜杠結(jié)束,如果這樣寫“Disallow: /2020”,結(jié)尾沒有加斜杠,則表示根目錄下以2020開頭的網(wǎng)址均被禁止,如/2020.html、/2020abc.html、/2020/df.html均被禁止收錄,所以在寫作disallow屏蔽目錄時千萬不要弄錯了。
如果屏蔽了某個目錄“df”,但是又希望df這個目錄中指定的網(wǎng)頁被收錄怎么辦,使用下面的語法即可。
User-agent: * Allow: /df/111.html Allow: /df/*22c.php Disallow: /df/
allow要寫在前面,后面再緊跟著寫屏蔽的目錄名稱。這種寫法比較少用,一般都是直接屏蔽目錄就沒有必要再允許其中的某幾個或某一類url還要被收錄了,上面代碼第2句指允許收錄根目錄df文件夾里面的111.html這個頁面,第3句指允許收錄根目錄df目錄下包含“22c.php”的所有url均允許收錄,第4句是禁止收錄df目錄下的全部url,允許收錄的寫在前面。
星號可以匹配一種類型的網(wǎng)址,極大地提高了設(shè)置的方便性,在使用過程中要熟練掌握,SEO優(yōu)化的設(shè)置中如果經(jīng)常會遇到屏蔽某一類型的網(wǎng)址,使用*就非常常見。
User-agent: * Disallow: /abc/ Disallow: /*?* Disallow: /rt/jc* Disallow: /*.php Disallow: /*ps*
第3句禁止收錄動態(tài)網(wǎng)址,第4句禁止收錄rt目錄下以jc開頭的url,第5句禁止收錄包含“.php”的url(包含以.php結(jié)尾的url在內(nèi),如h.php、as.php?id=2、dd.php23.html均被禁止),第6句禁止收錄網(wǎng)址中含有“ps”的url。
如果需要屏蔽某類型結(jié)尾的url或文件,此時就需要用到結(jié)束匹配符號“$”。
User-agent: *Disallow: /abc/*ty.php$Disallow: /*.php$Disallow: /*.jpg$
上面第2句禁止收錄abc目錄下以ty.php結(jié)尾的url,第3句禁止收錄全站以.php結(jié)尾的url,第4句禁止收錄全站jpg格式的圖片??梢钥吹饺绻瞧帘尉唧w的某一類后綴名url則需要以$作為結(jié)束。
禁止收錄網(wǎng)站圖片主要用到$和*匹配符,寫法也是很簡單的。
User-agent: * Disallow: /*.jpg$ Disallow: /*.jpeg$ Disallow: /*.png$ Disallow: /*.gif$
以上分別是禁止收錄全站jpg/jpeg/png/gif格式的圖片。
User-agent: * Allow: /*.html$ Disallow: /
配合allow來使用,禁止收錄全站任何url,然后使用allow來允許收錄以“.html”結(jié)尾的url即可。
以上就是全部robots文件的寫法,其中難點是通配符星號的是用和結(jié)束符$的使用,要學(xué)會靈活的舉一反三,在每寫完一條記錄時都要確保沒有屏蔽錯url,每行一條記錄。對于robots.txt文件,每一次在寫完之后都認(rèn)真檢查一遍,寫錯了損失就大了。
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: robots.txt文件詳細(xì)教程