若是作一個站點,技術管理員須要保障安全,那麼來認識一下Robots.txt文件。作爲技術管理員,密切關注,分析站點數據日誌。很重要。日誌中能夠看到有些搜索引擎,爬蟲等來訪問你的robots.txt文件,若是你的站點沒有robots.txt文件,則返回404代碼。html
Robots.txt 是存放在站點根目錄下的一個純文本文件。雖然它的設置很簡單,可是做用卻很強大。它能夠指定搜索引擎蜘蛛只抓取指定的內容,或者是禁止搜索引擎蜘蛛抓取網站的部分或所有內容。安全
robots.txt是一個純文本文件,在這個文件中網站管理者能夠聲明該網站中不想被搜索引擎訪問的部分,或者指定搜索引擎只收錄指定的內容。dom
當一個搜索引擎(又稱搜索機器人或蜘蛛程序)訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,若是存在,搜索機器人就會按照該文件中的內容來肯定訪問的範圍;若是該文件不存在,那麼搜索機器人就沿着連接抓取。ide
一、引導搜索引擎蜘蛛抓取指定欄目或內容;優化
二、網站改版或者URL重寫優化時候屏蔽對搜索引擎不友好的連接;網站
三、屏蔽死連接、404錯誤頁面;搜索引擎
四、屏蔽無內容、無價值頁面;google
五、屏蔽重複頁面,如評論頁、搜索結果頁;spa
六、屏蔽任何不想被收錄的頁面;日誌
七、引導蜘蛛抓取網站地圖;
三個語法以下:
一、User-agent:(定義搜索引擎)
示例:
User-agent: *(定義全部搜索引擎)
User-agent: Googlebot (定義谷歌,只容許谷歌蜘蛛爬取)
User-agent: Baiduspider (定義百度,只容許百度蜘蛛爬取)
不一樣的搜索引擎的搜索機器人有不一樣的名稱,谷歌:Googlebot、百度:Baiduspider、MSN:MSNbot、Yahoo:Slurp。
二、Disallow:(用來定義禁止蜘蛛爬取的頁面或目錄)
示例:
Disallow: /(禁止蜘蛛爬取網站的全部目錄 "/" 表示根目錄下)
Disallow: /admin (禁止蜘蛛爬取admin目錄)
Disallow: /abc.html (禁止蜘蛛爬去abc.html頁面)
Disallow: /help.html (禁止蜘蛛爬去help.html頁面)
三、Allow:(用來定義容許蜘蛛爬取的頁面或子目錄)
示例:
Allow: /admin/test/(容許蜘蛛爬取admin下的test目錄)
Allow: /admin/abc.html(容許蜘蛛爬去admin目錄中的abc.html頁面)
兩個通配符以下:
四、匹配符 「$」
$ 通配符:匹配URL結尾的字符
五、通配符 「*」
* 通配符:匹配0個或多個任意字符
使用方法:
Robots.txt 文件應該放在網站根目錄下,而且該文件是能夠經過互聯網進行訪問的。
例如:若是您的網站地址是 http://www.yourdomain.com/那麼,該文件必須可以經過 http://www.yourdomain.com/robots.txt 打開並看到裏面的內容。
格式:
User-agent:
用於描述搜索引擎蜘蛛的名字,在" Robots.txt "文件中,若是有多條User-agent記錄說明有多個搜索引擎蜘蛛會受到該協議的限制,對該文件來講,至少要有一條User-agent記錄。若是該項的值設爲*,則該協議對任何搜索引擎蜘蛛均有效,在" Robots.txt "文件中,"User-agent:*"這樣的記錄只能有一條。
Disallow:
用於描述不但願被訪問到的一個URL,這個URL能夠是一條完整的路徑,也能夠是部分的,任何以Disallow開頭的URL均不會被Robot訪問到。
舉例:
例一:"Disallow:/help"是指/help.html 和/help/index.html都不容許搜索引擎蜘蛛抓取。
例二:"Disallow:/help/"是指容許搜索引擎蜘蛛抓取/help.html,而不能抓取/help/index.html。
例三:Disallow記錄爲空說明該網站的全部頁面都容許被搜索引擎抓取,在"/robots.txt"文件中,至少要有一條Disallow記錄。若是"/robots.txt"是一個空文件,則對於全部的搜索引擎蜘蛛,該網站都是開放的能夠被抓取的。
#:Robots.txt 協議中的註釋符。
綜合例子 :
例一:經過"/robots.txt"禁止全部搜索引擎蜘蛛抓取"/bin/cgi/"目錄,以及 "/tmp/"目錄和 /foo.html 文件,設置方法以下:
User-agent: *
Disallow: /bin/cgi/
Disallow: /tmp/
Disallow: /foo.html
例二:經過"/robots.txt"只容許某個搜索引擎抓取,而禁止其餘的搜索引擎抓取。如:只容許名爲"slurp"的搜索引擎蜘蛛抓取,而拒絕其餘的搜索引擎蜘蛛抓取 "/cgi/" 目錄下的內容,設置方法以下:
User-agent: *
Disallow: /cgi/
User-agent: slurp
Disallow:
例三:禁止任何搜索引擎抓取個人網站,設置方法以下:
User-agent: *
Disallow: /
例四:只禁止某個搜索引擎抓取個人網站如:只禁止名爲「slurp」的搜索引擎蜘蛛抓取,設置方法以下:
User-agent: slurp
Disallow: /
更多參考資料 (英文版)
下面,欣賞一下,只容許國內引擎抓取的 設置
User-agent: Baiduspider
Disallow:
User-agent: Sosospider
Disallow:
User-agent: sogou spider
Disallow:
User-agent: YodaoBot
Disallow:
User-agent: Googlebot
Disallow: /
User-agent: Bingbot
Disallow: /
User-agent: Slurp
Disallow: /
User-agent: Teoma
Disallow: /
User-agent: ia_archiver
Disallow: /
User-agent: twiceler
Disallow: /
User-agent: MSNBot
Disallow: /
User-agent: Scrubby
Disallow: /
User-agent: Robozilla
Disallow: /
User-agent: Gigabot
Disallow: /
User-agent: googlebot-image
Disallow: /
User-agent: googlebot-mobile
Disallow: /
User-agent: yahoo-mmcrawler
Disallow: /
User-agent: yahoo-blogs/v3.9
Disallow: /
User-agent: psbot
Disallow: /
Disallow: /bin/