robots.txt的正確寫法,robots.txt如何禁止某個目錄,圖片等搜索的方法
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
今天給自己的網站加了一個robots.txt,在網上收集整理了一些資料,給自己網站也加上了robots.txt ! 順便給大家分享一下!
一、robots.txt是什么?
robots.txt是一個純文本文件,在這個文件中網站管理者可以聲明該網站中不想被搜索引擎訪問的部分,或者指定搜索引擎只收錄指定的內容。
當一個搜索引擎(又稱搜索機器人或蜘蛛程序)訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的范圍;如果該文件不存在,那么搜索機器人就沿著鏈接抓取。
二、robots.txt的作用
1、引導搜索引擎蜘蛛抓取指定欄目或內容;
2、網站改版或者URL重寫優化時候屏蔽對搜索引擎不友好的鏈接;
3、屏蔽死鏈接、404錯誤頁面;
4、屏蔽無內容、無價值頁面;
5、屏蔽重復頁面,如評論頁、搜索結果頁;
6、屏蔽任何不想被收錄的頁面;
7、引導蜘蛛抓取網站地圖;三、Robots的語法(三個語法和兩個通配符)
三個語法如下:
1、User-agent:(定義搜索引擎)
示例:
User-agent: *(定義所有搜索引擎)
User-agent: Googlebot (定義谷歌,只允許谷歌蜘蛛爬取)
User-agent: Baiduspider (定義百度,只允許百度蜘蛛爬取)
不同的搜索引擎的搜索機器人有不同的名稱,谷歌:Googlebot、百度:Baiduspider、MSN:MSNbot、Yahoo:Slurp。
2、Disallow:(用來定義禁止蜘蛛爬取的頁面或目錄)
示例:
Disallow: /(禁止蜘蛛爬取網站的所有目錄 "/" 表示根目錄下)
Disallow: /admin (禁止蜘蛛爬取admin目錄)
Disallow: /abc.html (禁止蜘蛛爬去abc.html頁面)
Disallow: /help.html (禁止蜘蛛爬去help.html頁面)
3、Allow:(用來定義允許蜘蛛爬取的頁面或子目錄)
示例:
Allow: /admin/test/(允許蜘蛛爬取admin下的test目錄)
Allow: /admin/abc.html(允許蜘蛛爬去admin目錄中的abc.html頁面)
兩個通配符如下:
4、匹配符 “$”
$ 通配符:匹配URL結尾的字符
5、通配符 “*”
* 通配符:匹配0個或多個任意字符
四、robots.txt 綜合示例
1、禁止搜索引擎抓取特定目錄
在這個例子中,該網站有三個目錄對搜索引擎的訪問做了限制,即搜索引擎不會訪問這三個目錄。
User-agent: * Disallow: /admin/
Disallow: /tmp/
Disallow: /abc/
2、禁止admin目錄,但允許抓取admin目錄下的seo子目錄
User-agent: * Allow: /admin/seo/
Disallow: /admin/
3、禁止抓取/abc/目錄下的所有以".htm”為后綴的URL(包含子目錄)
User-agent: * Disallow: /abc/*.htm$
4、禁止抓取網站中所有的動態頁面
User-agent: * Disallow: /?
屏蔽所有帶“?”的文件,這樣就屏蔽所有的動態路徑。
5、禁止百度蜘蛛抓取網站所有的圖片:
User-agent: Baiduspider
Disallow: /.jpg$
Disallow: /.jpeg$
Disallow: /.gif$
Disallow: /.png$
Disallow: /*.bmp$
6、要在阻止網站頁面被抓取的同時仍然在這些頁面上顯示 AdSense 廣告
User-agent: * Disallow: /folder1/
User-agent: Mediapartners-Google
Allow: /folder1/
請禁止除 Mediapartners-Google 以外的所有漫游器。 這樣可使頁面不出現在搜索結果中,同時又能讓 Mediapartners-Google 漫游器分析頁面,從而確定要展示的廣告。 Mediapartners-Google 漫游器并不與其他 Google User-agent 共享網頁。
7、禁止所有搜索引擎訪問網站的任何部分(也就是網站徹底的拒絕所有搜索引擎收錄)
User-agent: *
Disallow: /
8、允許所有的robot訪問(也就是網站允許所有搜索引擎收錄)
User-agent: *
Disallow:
9、禁止某個搜索引擎的訪問(比如禁止百度收錄,按如下的方式寫)
User-agent: baiduspider
Disallow: /
10、允許某個搜索引擎的訪問(比如允許百度收錄,按如下的方式寫)
User-agent: baiduspider
Disallow:
User-agent: *
Disallow: /
五、注意事項
1、robots.txt 文件必須放在網站的根目錄,不可以放在子目錄。
以老梁博客網站為例:比如通過 http://arunagnihotri.com/robots.txt 你就可以訪問到robots.txt文件。
2、robots.txt 文件名命名必須小寫,記得在robot面加“s”。
3、User-agent、Allow、Disallow的 “:” 后面有一個字符的空格。
4、路徑后面加斜杠“/” 和不加斜杠的是有區別的
Disallow: /help
禁止蜘蛛訪問 /help.html、/helpabc.html、/help/index.html
Disallow: /help/
禁止蜘蛛訪問 /help/index.html。 但允許訪問 /help.html、/helpabc.html
5、Disallow與Allow行的順序是有意義的:
舉例說明:
允許蜘蛛訪問 /admin/ 目錄下的seo文件夾
User-agent: * Allow: /admin/seo/
Disallow: /admin/
如果Allow 和 Disallow 的順序調換一下:
User-agent: * Disallow: /admin/
Allow: /admin/seo/
蜘蛛就無法訪問到 /admin/ 目錄下的 seo 文件夾,因為第一個 Disallow: /admin/ 已匹配成功。
六、關于Robots Meta
Robots.txt文件主要是限制整個站點或者目錄的搜索引擎訪問情況,而Robots Meta標簽則主要是針對一個個具體的頁面。和其他的META標簽(如使用的語言、頁面的描述、關鍵詞等)一樣,Robots Meta標簽也是放在頁面中,專門用來告訴搜索引擎ROBOTS如何抓取該頁的內容。
Robots Meta 標簽中沒有大小寫之分,name="Robots" 表示所有的搜索引擎,可以針對某個具體搜索引擎(如google)寫為 name="Googlebot", content部分有四個指令選項:index、noindex、follow、nofollow,指令間以 “,” 分隔。
Index 指令告訴搜索機器人抓取該頁面;
NoIndex命令:告訴搜索引擎不允許抓取這個頁面
Follow 指令表示搜索機器人可以沿著該頁面上的鏈接繼續抓取下去;
NoFollow命令:告訴搜索引擎不允許從此頁找到鏈接、拒絕其繼續訪問。
Robots Meta 標簽的缺省值是Index和Follow;
根據以上的命令,我們就有了一下的四種組合:
可以抓取本頁,而且可以順著本頁繼續索引別的鏈接=
不許抓取本頁,但是可以順著本頁抓取索引別的鏈接
可以抓取本頁,但是不許順著本頁抓取索引別的鏈接
不許抓取本頁,也不許順著本頁抓取索引別的鏈接。
七、關于 rel="nofollow"
將"nofollow"放在超鏈接中,告訴搜索引擎不要抓取特定的鏈接。
如某博客上有垃圾評論:灌水
就是這些注意事項了,大家去試試robots.txt吧!
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!