有些時候我們會遇到這樣的困難:我們原本不想被搜索引擎收錄的網站後臺地址卻被搜索引擎“無情”的收錄,這樣只要在Google裏輸入一個“後臺、管理site:www.***.com”,自己的後臺地址就會顯露無疑,因此網站安全性也無從談起。遇到這樣的情況時,我們如何阻止搜索引擎收錄我們不想被收錄的文件呢?
一般在這個時候,我們常用的辦法有兩個,一個是編輯robots.txt文件,另外一個是在不想被收錄的頁面頭部放置META NAME="ROBOTS"標籤。
所謂的robots.txt文件,是每一個搜索引擎到你的網站之後要尋找和訪問的第一個文件,robots.txt是你對搜索引擎制定的一個如何索引你的網站的規則。通過這個文件,搜索引擎就可以知道在你的網站中,哪些文件是可以被索引的,哪些文件是被拒絕索引的。
在很多網站中,站長們都忽略了使用robots.txt文件。因爲很多站長都認爲,自己的網站沒有什麼祕密可言,而且自己也不太會使用robots.txt的語法,因此一旦寫錯了會帶來更多的麻煩,還不如干脆不用。
其實這樣的做法是不對的。在前面的文章中我們知道,如果一個網站有大量文件找不到的時候(404),搜索引擎就會降低網站的權重。而robots.txt作爲蜘蛛訪問網站的第一個文件,一旦搜索引擎要是找不到這個文件,也會在他的索引服務器上記錄下一條404信息。
雖然在百度的幫助文件中,有這樣的一句話“請注意,僅當您的網站包含不希望被搜索引擎收錄的內容時,才需要使用robots.txt文件。如果您希望搜索引擎收錄網站上所有內容,請勿建立robots.txt文件。”但是我個人還是認爲建立robots.txt還是必須的,哪怕這個robots.txt文件是一個空白的文本文檔都可以。因爲我們的網站畢竟不是僅僅會被百度收錄,同時也會被其他搜索引擎收錄的,所以,上傳一個robots.txt文件還是沒有什麼壞處的。
如何寫一個合理的robots.txt文件?
首先我們需要了解robots.txt文件的一些基本語法。
語法作用 |
寫法 |
允許所有搜索引擎訪問網站的所有部分 或者建立一個空白的文本文檔,命名爲robots.txt |
User-agent: * Disallow: 或者 User-agent: * Allow: / |
禁止所有搜索引擎訪問網站的所有部分 |
User-agent: * Disallow: / |
禁止百度索引你的網站 |
User-agent: Baiduspider Disallow: / |
禁止Google索引你的網站 |
User-agent: Googlebot Disallow: / |
禁止除Google外的一切搜索引擎索引你的網站 |
User-agent: Googlebot Disallow:
User-agent: * Disallow: / |
禁止除百度外的一切搜索引擎索引你的網站 |
User-agent: Baiduspider Disallow:
User-agent: * Disallow: / |
禁止蜘蛛訪問某個目錄 (例如禁止admin/css/images被索引) |
User-agent: * Disallow: /css/ Disallow: /admin/ Disallow: /images/ |
允許訪問某個目錄中的某些特定網址 |
User-agent: * Allow: /css/my Allow: /admin/html Allow: /images/index Disallow: /css/ Disallow: /admin/ Disallow: /images/ |
使用“*”,限制訪問某個後綴的域名 例如索引訪問admin目錄下所有ASP的文件 |
User-agent: * Disallow: /admin/*.htm |
使用“$”僅允許訪問某目錄下某個後綴的文件 |
User-agent: * Allow: .asp$ Disallow: / |
禁止索引網站中所有的動態頁面 (這裏限制的是有“?”的域名,例如index.asp?id=1) |
User-agent: * Disallow: /*?* |
有些時候,我們爲了節省服務器資源,需要禁止各類搜索引擎來索引我們網站上的圖片,這裏的辦法除了使用“Disallow: /images/”這樣的直接屏蔽文件夾的方式之外,還可以採取直接屏蔽圖片後綴名的方式。具體辦法如下。
語法作用 |
寫法 |
禁止Google搜索引擎抓取你網站上的所有圖片 (如果你的網站使用其他後綴的圖片名稱,在這裏也可以直接添加) |
User-agent: Googlebot Disallow: .jpg$ Disallow: .jpeg$ Disallow: .gif$ Disallow: .png$ Disallow: .bmp$ |
禁止百度搜索引擎抓取你網站上的所有圖片 |
User-agent: Baiduspider Disallow: .jpg$ Disallow: .jpeg$ Disallow: .gif$ Disallow: .png$ Disallow: .bmp$ |
除了百度之外和Google之外,禁止其他搜索引擎抓取你網站的圖片
(注意,在這裏爲了讓各位看的更明白,因此使用一個比較笨的辦法——對於單個搜索引擎單獨定義。) |
User-agent: Baiduspider Allow: .jpeg$ Allow: .gif$ Allow: .png$ Allow: .bmp$
User-agent: Googlebot Allow: .jpeg$ Allow: .gif$ Allow: .png$ Allow: .bmp$
User-agent: * Disallow: .jpg$ Disallow: .jpeg$ Disallow: .gif$ Disallow: .png$ Disallow: .bmp$ |
僅僅允許百度抓取網站上的“JPG”格式文件
(其他搜索引擎的辦法也和這個一樣,只是修改一下搜索引擎的蜘蛛名稱即可) |
User-agent: Baiduspider Allow: .jpg$ Disallow: .jpeg$ Disallow: .gif$ Disallow: .png$ Disallow: .bmp$ |
僅僅禁止百度抓取網站上的“JPG”格式文件 |
User-agent: Baiduspider Disallow: .jpg$ |
在瞭解了以上這些基礎的語法之後,對於robots.txt的寫法各位已經有了一個大概的概念了,不過在學習寫作robots.txt文件時,我們還必須要了解一些大型搜索引擎的蜘蛛名稱,這樣可以便於我們寫做robots.txt文件。
蜘蛛名稱 |
作用 |
Googlebot |
Google對一般網頁的索引蜘蛛 |
Googlebot-Mobile |
Google對於移動設備,如手機網頁的索引蜘蛛 |
Googlebot-Image |
Google專門用來抓取圖片的蜘蛛 |
Mediapartners-Google |
這是Google專門爲放置了Google Adsense廣告聯盟代碼的網站使用的專用蜘蛛,只有網站放置了Google Adsense代碼的情況下,Google纔會使用這個蜘蛛。這個蜘蛛的作用是專門抓取Adsense廣告內容 |
Adsbot-Google |
這是Google專門爲Google Adwords客戶設計的蜘蛛,如果你使用了Google的Adwords服務,那麼這個蜘蛛就會派出這個蜘蛛來衡量放置了你廣告的網站的質量。 |
百度蜘蛛Baiduspider |
百度的綜合索引蜘蛛 |
雅虎蜘蛛:Yahoo! Slurp |
雅虎的綜合索引蜘蛛 |
雅虎搜索引擎廣告蜘蛛Yahoo!-AdCrawler |
雅虎專門爲Yahoo!搜索引擎廣告開發的專用蜘蛛 |
網易有道蜘蛛YodaoBot |
網易有道搜索引擎綜合索引蜘蛛 |
騰訊SOSO蜘蛛Sosospider |
騰訊SOSO綜合索引蜘蛛 |
搜狗蜘蛛sogou spider |
搜狗綜合索引蜘蛛 |
MSNBot |
Live綜合索引蜘蛛 |
注意:以上蜘蛛名稱請按照圖表區分大小寫
在上面這些搜索引擎蜘蛛中,我們最常用的就是Googlebot和Baiduspider,因此對這兩個蜘蛛的用法要特別注意。
以上的robots.txt文件可以幫助我們對於搜索引擎的訪問做一個限制,這裏需要注意的有幾個方面。
1、 robots.txt文件必須處於網站根目錄下,而且必須命名爲robots.txt
2、 robots.txt文件的文件名全部是小寫字母,沒有大寫字母。
3、 如果對於robots.txt文件的寫法把握不準,那麼可以直接放一個空的文本文檔,命名爲robots.txt即可。
好了,以上我們介紹了robots.txt的寫法。這時候有一個問題,有些時候我們會遇到一些實際的特殊情況,那麼遇到特殊情況我們應當怎樣處理呢?一下就對限制搜索引擎的原標籤(META)做一個介紹。
第一種情況:限制網頁快照
很多搜索引擎都提供一個網頁快照的功能。但是網頁快照功能卻有很多的弊端,例如事實內容在網頁快照中更新不及時、索引網頁快照浪費大量的服務器資源等。因此,我們有些時候可能並不需要搜索引擎來索引我們某個頁面的網頁快照。
解決這樣問題的辦法很簡單,只需要在你的網頁元標記中(<head>和</head>之間)放置如下的一段代碼。
<meta name="robots" content="noarchive">
以上的一段代碼限制了所有的搜索引擎建立你的網頁快照。如果我們需要僅僅限制一個搜索引擎建立快照的話,就可以像如下這樣去寫
<meta name="Baiduspider" content="noarchive">
需要注意的是,這樣的標記僅僅是禁止搜索引擎爲你的網站建立快照,如果你要禁止搜索引擎索引你的這個頁面的話,請參照後面的辦法。
第二種情況:禁止搜索引擎抓取本頁面。
在SEO中,禁止搜索引擎抓取本頁面或者是允許搜索引擎抓取本頁面是經常會用到的。因此我們需要對這一部分重點做一次討論。
爲了讓搜索引擎禁止抓取本頁面,我們一般的做法是在頁面的元標記中加入如下的代碼:
<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">
在這裏,META NAME="ROBOTS"是泛指所有的搜索引擎的,在這裏我們也可以特指某個搜索引擎,例如META NAME="Googlebot"、META NAME="Baiduspide"等。content部分有四個命令:index、noindex、follow、nofollow,命令間以英文的“,”分隔。
INDEX命令:告訴搜索引擎抓取這個頁面
FOLLOW命令:告訴搜索引擎可以從這個頁面上找到鏈接,然後繼續訪問抓取下去。
NOINDEX命令:告訴搜索引擎不允許抓取這個頁面
NOFOLLOW命令:告訴搜索引擎不允許從此頁找到鏈接、拒絕其繼續訪問。
根據以上的命令,我們就有了一下的四種組合
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">:可以抓取本頁,而且可以順着本頁繼續索引別的鏈接
<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">:不許抓取本頁,但是可以順着本頁抓取索引別的鏈接
<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">:可以抓取本頁,但是不許順着本頁抓取索引別的鏈接
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">:不許抓取本頁,也不許順着本頁抓取索引別的鏈接。
這裏需要注意的是,不可把兩個對立的反義詞寫到一起,例如
<META NAME="ROBOTS" CONTENT="INDEX,NOINDEX">
或者直接同時寫上兩句
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">
這裏有一個簡便的寫法,如果是
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">的形式的話,可以寫成:
<META NAME="ROBOTS" CONTENT="ALL">
如果是
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">的形式的話,可以寫成:
<META NAME="ROBOTS" CONTENT="NONE">
當然,我們也可以把禁止建立快照和對於搜索引擎的命令寫到一個命令元標記中。從上面的文章中我們得知,禁止建立網頁快照的命令是noarchive,那麼我們就可以寫成如下的形式:<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW,noarchive">
如果是對於單獨的某個搜索引擎不允許建立快照,例如百度,我們就可以寫成:
<META NAME=" Baiduspider" CONTENT="INDEX,FOLLOW,noarchive">
如果在元標記中不屑關於蜘蛛的命令,那麼默認的命令即爲如下
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW, archive">
因此,如果我們對於這一部分把握不準的話,可以直接寫上上面的這一行命令,或者是直接留空。
在SEO中,對於蜘蛛的控制是非常重要的一部分內容,所以希望各位看官准確把握這部分的內容。
SEO培訓,相關資料可點擊下面連接查看,對於CSDN會員,費用降低到史上最低價700元!
報名獲得
·成爲永久VIP貴賓,隨時不定期獲得《Google、百度最新SEO辦法》
·獲得《Google Cash》中文版等多套網絡賺錢教程;
·獲得團隊所有出版的營銷書籍
·進入VIP羣,獲得和更多IT名流認識的機會!
·全程點對點指導您網站的SEO工作!
·優秀學員和我們達成兼職用工協議,每月分配數千元的SEO業務單!
第十二期前15位報名者,將參加子信立遠SEO大賽,贏取3000元現金大獎!
SEO培訓試聽QQ羣號碼:58769947
每週1、3、5、7試聽