搜索引擎經過一種程序robot(又稱spider),自動訪問互聯網上的網頁並獲取網頁信 息。您能夠在您的網站中建立一個純文本文件robots.txt,在這個文件中聲明該網站中不想被robot 訪問的部分,這樣,該網站的部分或所有內容就能夠不被搜索引擎收錄了,或者指定搜 索引擎只收錄指定的內容。css
robots.txt文件應該放在網站根目錄下。舉例來講,當搜索引擎[1] 訪問一個網站時,首先會檢查該網站中是否存在robots.txt這個文件,若是robots機器人程序找到這個文件,它就會根據這個文件的內容,來肯定它訪問權限的範圍。網絡
wordpress的robots文件位置ide
沒在wordpress網站根節目上傳過robots.txt,當搜尋引擎和用戶拜訪某個文件時,wordpress程序會主動生成一個robots.txt給搜尋引擎和用戶;如果咱們上傳編寫的robots.txt到網站根節目,用戶和搜尋引擎蛛蛛拜訪的就是咱們上傳的文件,wordpress就不會再產生那個文件了。只有服務器找不到robots的時候wordpress纔會生成這個文件。wordpress
「robots.txt」文件包含一條或多條記錄,這些記錄經過空行分開(以CR、CR/NL、or NL做爲結束符),每一條記錄的格式以下所示:工具
「<field>:<optionalspace><value><optionalspace>」
在該文件中可使用#進行註釋,具體使用方法和UNIX中的慣例同樣。該文件中的記錄一般以一行或多行User-agent開始,後面加上若干Disallow行,詳細狀況以下:
User-agent:
該項的值用於描述搜索引擎機器人robot的名字。在「robots.txt」文件中,若是有多條 User-agent記錄,說明有多個robot會受到該協議的約束。因此,「robots.txt」文件中至少要有一條User- agent記錄。若是該項的值設爲*(通配符),則該協議對任何搜索引擎機器人均有效。在「robots.txt」文件 中,「User-agent:*」這樣的記錄只能有一條。
Disallow:
該項的值用於描述不但願被訪問到的一個URL,這個URL能夠是一條完整的路徑,也能夠 是部分的,任何以Disallow開頭的URL均不會被robot訪問到。例如:
「Disallow: /help」對/help.html 和/help/index.html都不容許搜索引擎訪問, 而「Disallow: /help/」則容許robot訪問/help.html,而不能訪問/help/index.html。
任何一條Disallow記錄爲空,說明該網站的全部部分都容許被訪問,在 「/robots.txt」文件中,至少要有一條Disallow記錄。若是「/robots.txt」是一個空文 件,則對於全部的搜索引擎robot,該網站都是開放的。
有些人會問,既然robots文件沒弄好,或出錯了,會影響整個網站的收錄,那爲何還要這個文件呢?
其實robots是爲有特別狀況的站長準備的,由於有些網站,有一些頁面是站長不想被任何搜索引擎收錄的,因此纔有了這個robots文件。
robots.txt文件用法舉例:
例一、禁止全部搜索引擎訪問網站的任何部分
User-agent: *
Disallow: /
例二、容許全部的robot訪問
User-agent: *
Disallow:
(或者也能夠建一個空文件 "/robots.txt" file)
例三、禁止某個搜索引擎的訪問
User-agent: BadBot
Disallow: /
例四、容許某個搜索引擎的訪問
User-agent: Baiduspider
Disallow:
User-agent: *
Disallow: /
例五、假設某個網站有三個目錄對搜索引擎的訪問作了限制,能夠這麼寫:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /joe/
須要注意的是,對每個目錄必須分開聲明,而不要寫成:「Disallow: /cgi-bin/ /tmp/」。
User-agent:後的*(通配符) 具備特殊的含義,表明「any robot」,因此在該文件中不能有 「Disallow: /tmp/*」 or 「Disallow: *.gif 」這樣的記錄出現。
另外,robots.txt主要做用是保障網絡安全與網站隱私,百度蜘蛛遵循robots.txt協議。經過根目錄中建立的純文本文件robots.txt,網站就能夠聲明哪些頁面不想被百度蜘蛛爬行並收錄,每一個網站均可以自主控制網站是否願意被百度蜘蛛收錄,或者指定百度蜘蛛只收錄指定的內容。當百度蜘蛛訪問某個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,若是該文件不存在,那麼爬蟲就沿着連接抓取,若是存在,爬蟲就會按照該文件中的內容來肯定訪問的範圍。
屏蔽隱私頁面,後臺登錄頁面,緩存頁面,圖片目錄,css目錄,模板頁面,屏蔽雙頁面的內容,同時能夠屏蔽一些質量比較差的頁面,例如金網的全部會員用戶空間頁面,dz的動態連接也能夠設置屏蔽。經過Disallow:命令來進行設置。
每當用戶試圖訪問某個不存在的URL時,服務器都會在日誌中記錄404錯誤(沒法找到文件)。每當搜索蜘蛛來尋找並不存在的robots.txt文件時,服務器也將在日誌中記錄一條404錯誤,因此你應該在網站中添加一個robots.txt。
網站管理員必須使搜索引擎機器人程序遠離服務器上的某些目錄,以保證服務器性能。好比:大多數網站服務器都有程序儲存在「cgi-bin」目錄下,所以在robots.txt文件中加入「Disallow: /cgi-bin」是個好主意,這樣可以避免全部程序文件都被蜘蛛索引,以達到節省服務器資源的效果。
通常網站中不須要蜘蛛抓取的文件有:後臺管理文件、程序腳本、附件、數據庫文件、編碼文件、樣式表文件、模板文件、導航圖片和背景圖片等等。
下面是VeryCMS裏的robots.txt文件:
User-agent: *
Disallow: /admin/ 後臺管理文件
Disallow: /require/程序文件
Disallow: /p_w_upload/ 附件
Disallow: /p_w_picpaths/ 圖片
Disallow: /data/數據庫文件
Disallow: /template/ 模板文件
Disallow: /css/ 樣式表文件
Disallow: /lang/ 編碼文件
Disallow: /script/腳本文件
Disallow: /js/js文件
若是你的網站是動態網頁,而且你爲這些動態網頁建立了靜態副本,以供搜索蜘蛛更容易抓取。那麼你須要在robots.txt文件裏設置避免動態網頁被蜘蛛索引,以保證這些網頁不會被視爲是網站重複的內容。
robots.txt文件裏還能夠直接包括在sitemap文件的連接。就像這樣:
Sitemap: http://www.***.com/sitemap.xml
目 前對此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,顯然不在這個圈子內。這樣作的好處就是,站長不用到每一個搜索引擎的站長工具或者類似的站長部分,去提交本身的sitemap文件,搜索引擎的蜘蛛本身就會抓取robots.txt文件,讀取其中的sitemap路徑,接着抓取其中相連接的網頁。
合理使用robots.txt文件還能避免訪問時出錯。好比,不能讓搜索者直接進入購物車頁面。由於沒有理由使購物車被收錄,因此你能夠在robots.txt文件裏設置來阻止搜索者直接進入購物車頁面。