站內搜尋
關於網站優化robots.txt的相關知識介紹
一.robots.txt具體作用
1.對搜尋引擎做出規定,抓取或者不抓取。
2.由於有些訊息規定了不讓抓取,所以可以保護到一些必要的訊息,比如:網站後台,用戶訊息。
3.節省搜尋引擎抓取資源。
二.robots.txt規則
1.User-agent,用於告訴識別GoogleBot類型。比如,User-agent: GoogleBot 就是指谷歌機器人。
各類GoogleBot列舉如下:
谷歌機器人:GoogleBot
雅虎GoogleBot:「Yahoo! Slurp China」 或者 Yahoo!
2.Allow,允許GoogleBot抓取指定目錄或文件,默認是允許抓取所有。
3.Disallow,不允許GoogleBot抓取指定目錄或文件。
4.通配符,「*」,匹配0或多個任意字符。
5.終止符,「$」,可以匹配以指定字符結尾的字符。
舉個例子:下面是一個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.iware.com.tw/sitemap.xml
解釋:
User-agent: *:對所有搜尋引擎都使用下面的規則。
Disallow: /wp-admin/:不讓GoogleBot抓取根目錄下的wp-admin文件夾。
Disallow: /*.js$:不讓GoogleBot抓取根目錄下所有的js文件。
Disallow: /*?*:不抓取所有的動態連結。
Sitemap: http://www.znbo.com/sitemap.xml:給GoogleBot提供網站地圖,方便GoogleBot抓取網站內容。
三.robots.txt注意事項
1.如果你希望搜尋引擎收錄網站上所有的內容,那麼就不要建立robots.txt文件。
2.如果同時存在動態和靜態連結,那麼建議屏蔽動態連結。
3.robots.txt只能是屏蔽站內文件的,對站外文件沒有屏蔽功能。
4.User-agent,Allow,Disallow,Sitemap的首字母都是大寫的。
5.User-agent,Allow,Disallow,Sitemap的冒號後面都是有空格的,沒有寫空格直接寫接下來的內容會出錯。
6.網站通常會屏蔽搜索結果頁面。因為搜索結果頁和正常展示的內容頁相比,標題和內容上相同的,而這兩個頁面連結是不同的。那搜尋引擎該將這篇文章歸屬於哪個內鏈呢?這樣就會造成內鏈之間相互競爭,造成內部資源損耗。
比如上面舉的例子,那個wordpress程式,在沒有設置偽靜態,還是動態連結的時候,搜索結果頁面連結都包含有/?s=,而 標題和內容 與 正常展示的動態連結內容頁重複,可以通過Disallow: /?=*來屏蔽搜索結果頁面。
而現在那個wordpress程式已經設置了偽靜態,也設置了Disallow: /*?*,Disallow: /*?*本身就包含了Disallow: /?=*,所以Disallow: /?=*這句寫不寫都沒有關係
7. 建議屏蔽js文件。Disallow: /*.js$,以 .js 結尾的路徑統統被屏蔽,這樣就屏蔽了js文件。
8.路徑是區分大小寫的。Disallow: /ab/ 和 Disallow: /Ab/ 是不一樣的。
9.robots.txt會暴露網站相關目錄,寫robots.txt時要考慮到這一點。
10.有些seo會將文件直接備份在伺服器中,文件是 .zip 格式,然後在robots.txt中屏蔽。個人不建議這樣,這就是明顯告訴人家你的備份文件位置。建議文件和數據都備份到本地。
11.一些特殊規則對比:
①Disallow: /和Disallow: / ab (/後面有個空格,再有ab)是一樣的,/後面多了個空格,GoogleBot之認空格前面那一段,就是Disallow: /,所以兩個都是屏蔽整站的。
②Disallow: /ab和Disallow: /ab*是一樣的。比如兩個都能屏蔽http://網域/ab,http://網域/abc,http://網域/abcd。
③Disallow: /ab/和Disallow: /ab是不一樣的。很明顯,Disallow: /ab範圍更廣,包含了Disallow: /ab/。因為Disallow: /ab/只能屏蔽http://網域/ab/,http://網域/ab/....這樣的路徑,也就是只能屏蔽ab目錄和ab目錄下的文件不被GoogleBot抓取。