巧用robots文件管理引導(dǎo)搜索引擎蜘蛛對網(wǎng)站的抓取
許多年前,讓網(wǎng)站被搜索引擎選中包括填寫表格,注冊該網(wǎng)站,并手動編輯希望該網(wǎng)站被搜索的關(guān)鍵詞,這個過程隨著搜索引擎網(wǎng)絡(luò)爬蟲或網(wǎng)絡(luò)蜘蛛的出現(xiàn)而改變。本文就robots相關(guān)內(nèi)容,做詳細的介紹。
什么是搜索引擎蜘蛛?
搜索引擎蜘蛛是一種自動程序,它沿著從一個網(wǎng)頁到另一個網(wǎng)頁的鏈接在互聯(lián)網(wǎng)上爬行,為內(nèi)容編制索引并將其添加到數(shù)據(jù)庫中。這意味著,只要網(wǎng)站有一個來自其他網(wǎng)站且搜索引擎已經(jīng)知道的鏈接,然后它會找到隨著時間的推移。鏈接到站點越多,發(fā)生這種情況的速度就越快。
不幸的是,這些蜘蛛可以非常密集地訪問網(wǎng)站。這是因為他們加載每個頁面和文件,以便為數(shù)據(jù)庫編目。蜘蛛會導(dǎo)致虛擬專用數(shù)據(jù)庫負載過高,可能會給訪問者帶來問題。為了幫助解決這些負載問題,有一種標(biāo)準(zhǔn)化的方法來控制這些爬蟲的行為,方法是將名為robots.txt的文件放在網(wǎng)站的根目錄中。但是,沒有任何強制遵守此文件的內(nèi)容。所以,雖然大多數(shù)網(wǎng)絡(luò)搜索引擎爬蟲會服從它,但有些爬蟲可能不會。
robots.txt文件有特定的形式,請看以下示例:
User-agent: googlebot
Disallow: /images
Allow: /images/metadata
crawl-delay: 2
sitemap: /sitemap.xml
按順序查看每個指令行:
首先從“User-agent”(用戶代理)行開始:機器人或網(wǎng)絡(luò)瀏覽器將使用用戶代理來標(biāo)識自身,而各種搜索引擎爬蟲將擁有自己的用戶代理。遵循“User-agent”指令的任何其他指令將僅對給定的用戶代理有效。帶星號(*)的用戶代理將被視為引用所有用戶代理。在示例文件中,該指令與googlebot搜索引擎蜘蛛程序相關(guān)。
“Disallow”(禁止)指令用于告訴搜索引擎蜘蛛程序有關(guān)不加載的目錄或文件。需要注意的是,盡管搜索引擎蜘蛛不會加載文件,如果它跟蹤到它們的鏈接,它仍然會在搜索結(jié)果中列出這些文件。因此,它不能用來阻止頁面出現(xiàn)在搜索結(jié)果中?!癉isallow”可能是所有搜索引擎蜘蛛都支持的唯一指令。因此在示例中,不允許爬行/images目錄。
“Allow”(允許)指令可用于指定搜索引擎蜘蛛可以加載的禁止目錄中的文件或目錄。雖然并不是所有的搜索引擎蜘蛛都支持這個指令,但大多數(shù)蜘蛛都支持。在示例中,允許蜘蛛加載 /images/metadata目錄中的文件。
下一個指令是“crawl-delay”(爬行延遲),惠州網(wǎng)站建設(shè)它以秒為單位給出蜘蛛在加載下一頁之前將等待的數(shù)字。這是降低蜘蛛速度的最好方法,盡管可能不想讓數(shù)字太高,除非站點上只有很少的頁面,因為這將極大地限制蜘蛛每天可以加載的頁面數(shù)量。
最后,是“sitemap”(網(wǎng)站地圖)指令,可以將蜘蛛引導(dǎo)到網(wǎng)站的XML網(wǎng)站地圖文件,它也可以用來幫助網(wǎng)站進行索引。
控制搜索引擎蜘蛛
在robots.txt中可以填充盡可能多或很少的用戶代理,以控制訪問站點的方式。對于所有蜘蛛來說,從一個用戶代理區(qū)開始,然后為特定的蜘蛛添加單獨的部分是有意義的,因為它們可能會給站點帶來問題。創(chuàng)建了robots.txt之后,就需要對它進行測試,以確保它是有效的。如果語法中出現(xiàn)輸入錯誤或拼寫錯誤,則可能會導(dǎo)致蜘蛛忽略正在設(shè)置的規(guī)則。幸運的是,有很多測試它的工具,還有一些主要的搜索引擎,比如谷歌提供的測試工具。(來源:夫唯seo特訓(xùn)營)