robots.txt是搜尋引擎造訪網站時要查看的第一個文件,是用來規定搜尋引擎對網站內容抓取範圍的文字檔案。當一個搜尋蜘蛛造訪一個網站時,它會先檢查該網站根目錄下是否存在robots.txt,如果存在,則會依照檔案中的內容來決定造訪的範圍。
在網站建置過程中我們會有一部分內容不希望被搜尋引擎抓取到或不希望其在網路中出現,那麼該怎麼辦呢?我要怎麼跟搜尋引擎說你不要抓取我的xx內容呢?這時候robots就派上用場了。
robots.txt是搜尋引擎中造訪網站的時候要查看的第一個檔案。 Robots.txt檔案告訴蜘蛛程式在伺服器上什麼檔案是可以被檢視的。
當一個搜尋蜘蛛造訪一個網站時,它會先檢查該網站根目錄下是否存在robots.txt,如果存在,搜尋機器人就會按照該檔案中的內容來確定存取的範圍;如果該文件不存在,所有的搜尋蜘蛛將能夠存取網站上所有沒有被口令保護的頁面。
語法:最簡單的robots.txt 檔案使用兩個規則:
• User-Agent: 適用下列規則的漫遊器
• Disallow: 要攔截的網頁
但是我們需要注意的幾點:
1.robots.txt必須存放在網站的根目錄下,
2.其命名必須為robots.txt,且檔案名稱必須全部小寫。
3.Robots.txt是搜尋引擎存取網站的第一個頁面
4.Robots.txt中必須指明user-agent
robots.txt使用迷思
迷思一:我的網站上的所有檔案都需要蜘蛛抓取,那我就沒必要在新增robots.txt檔案了。反正如果該檔案不存在,所有的搜尋蜘蛛將預設能夠存取網站上所有沒有被口令保護的頁面。
每當使用者試圖存取某個不存在的URL時,伺服器都會在日誌中記錄404錯誤(無法找到檔案)。每當搜尋蜘蛛來尋找不存在的robots.txt檔案時,伺服器也會在日誌中記錄一條404錯誤,所以你應該做網站中新增一個robots.txt。
迷思二:在robots.txt檔案中設定所有的檔案都可以被搜尋蜘蛛抓取,這樣可以增加網站的收錄率。
網站中的程式腳本、樣式表等檔案即使被蜘蛛收錄,也不會增加網站的收錄率,只會浪費伺服器資源。因此必須在robots.txt檔案中設定不要讓搜尋蜘蛛索引這些檔案。
具體哪些檔案需要排除, 在robots.txt使用技巧一文中有詳細介紹。
迷思三:搜尋蜘蛛抓取網頁太浪費伺服器資源,在robots.txt檔案設定所有的搜尋蜘蛛都不能抓取全部的網頁。
如果這樣的話,會導致整個網站無法被搜尋引擎收錄。
robots.txt使用技巧
1. 每當使用者試圖存取某個不存在的URL時,伺服器都會在日誌中記錄404錯誤(無法找到文件)。每當搜尋蜘蛛來尋找不存在的robots.txt檔案時,伺服器也會在日誌中記錄一個404錯誤,所以你應該在網站中新增一個robots.txt。
2. 網站管理員必須將蜘蛛程式遠離某些伺服器上的目錄-保證伺服器效能。例如:大多數網站伺服器都有程式儲存在「cgi-bin」目錄下,因此在robots.txt檔案中加入「Disallow: /cgi-bin」是個好主意,這樣就能夠避免將所有程式檔案被蜘蛛索引,可以節省伺服器資源。一般網站中不需要蜘蛛抓取的文件有:後台管理文件、程式腳本、附件、資料庫文件、編碼文件、樣式表文件、範本文件、導覽圖片和背景圖片等等。
下面是VeryCMS裡的robots.txt檔案:
User-agent: *
Disallow: /admin/ 後台管理檔案
Disallow: / require/ 程式檔案
Disallow: /attachment/ 附件
Disallow: /images/ 圖片
Disallow: /data/ 資料庫檔案
Disallow: / template/ 範本檔案
Disallow: /css/ 樣式表檔案
Disallow: /lang/ 編碼檔案
Disallow: /script/ 腳本檔案
3. 如果你的網站是動態網頁,並且你為這些動態網頁創建了靜態副本,以供搜尋蜘蛛更容易抓取。那你需要在robots.txt檔案中設定避免動態網頁被蜘蛛索引,以確保這些網頁不會被視為含重複內容。
4. robots.txt檔案裡也可以直接包含在sitemap檔案的連結。就像這樣:
Sitemap: http://www.***.com/sitemap.xml
##目前對此表示支援的搜尋引擎公司有Google, Yahoo, Ask and MSN。而中文搜尋引擎公司,顯然不在這個圈子內。這樣做的好處就是,站長不用到每個搜尋引擎的站長工具或相似的站長部分,去提交自己的sitemap文件,搜尋引擎的蜘蛛自己就會抓取robots.txt文件,讀取其中的sitemap路徑,接著抓取其中相連結的網頁。
5. 合理使用robots.txt檔案還能避免存取時發生錯誤。例如,不能讓搜尋者直接進入購物車頁面。因為沒有理由讓購物車被收錄,所以你可以在robots.txt檔案中設定來阻止搜尋者直接進入購物車頁面
以上是什麼是robots.txt?的詳細內容。更多資訊請關注PHP中文網其他相關文章!