搜索引擎統一Robots文件標準

搜索引擎三巨頭打的不亦樂乎,但偶爾也合作一下。去年Google,雅虎,微軟就合作,共同遵守統一的Sitemaps標準。前兩天三巨頭又同時宣佈,共同遵守的robots.txt文件標準。Google,雅虎,微軟各自在自己的官方博客上發瞭一篇帖子,公佈三傢都支持的robots.txt文件及Meta標簽的標準,以及一些各自特有的標準。下面做一個總結。

三傢都支持的robots文件記錄包括:

Disallow – 告訴蜘蛛不要抓取某些文件或目錄。如下面代碼將阻止蜘蛛抓取所有的網站文件:

User-agent: *

Disallow: /

Allow – 告訴蜘蛛應該抓取某些文件。Allow和Disallow配合使用,可以告訴蜘蛛某個目錄下,大部分都不抓取,隻抓取一部分。如下面代碼將使蜘蛛不抓取ab目錄下其他文件,而隻抓取其中cd下的文件:

User-agent: *

Disallow: /ab/

Allow: /ab

$通配符 – 匹配URL結尾的字符。如下面代碼將允許蜘蛛訪問以.htm為後綴的URL:

User-agent: *

Allow: .htm$

*通配符 – 告訴蜘蛛匹配任意一段字符。如下面一段代碼將禁止蜘蛛抓取所有htm文件:

User-agent: *

Disallow: /*.htm

Sitemaps位置 – 告訴蜘蛛你的網站地圖在哪裡,格式為:Sitemap: <sitemap_location>

三傢都支持的Meta標簽包括:

NOINDEX – 告訴蜘蛛不要索引某個網頁。

NOFOLLOW – 告訴蜘蛛不要跟蹤網頁上的鏈接。

NOSNIPPET – 告訴蜘蛛不要在搜索結果中顯示說明文字。

NOARCHIVE – 告訴蜘蛛不要顯示快照。

NOODP – 告訴蜘蛛不要使用開放目錄中的標題和說明。

上面這些記錄或標簽,現在三傢都共同支持。其中通配符好像以前雅虎微軟並不支持。百度現在也支持Disallow,Allow及兩種通配符。Meta標簽我沒有找到百度是否支持的官方說明。

隻有Google支持的Meta標簽有:

UNAVAILABLE_AFTER – 告訴蜘蛛網頁什麼時候過期。在這個日期之後,不應該再出現在搜索結果中。

NOIMAGEINDEX – 告訴蜘蛛不要索引頁面上的圖片。

NOTRANSLATE – 告訴蜘蛛不要翻譯頁面內容。

雅虎還支持Meta標簽:

Crawl-Delay – 允許蜘蛛延時抓取的頻率。

NOYDIR – 和NOODP標簽相似,但是指雅虎目錄,而不是開放目錄。

Robots-nocontent – 告訴蜘蛛被標註的部分html不是網頁內容的一部分,或者換個角度,告訴蜘蛛哪些部分是頁面的主要內容(想被檢索的內容)。

MSN還支持Meta標簽:Crawl-Delay

另外提醒大傢註意的是,robots.txt文件可以不存在,返回404錯誤,意味著允許蜘蛛抓取所有內容。但抓取robots.txt文件時卻發生超時之類的錯誤,可能導致搜索引擎不收錄網站,因為蜘蛛不知道robots.txt文件是否存在或者裡面有什麼內容,這與確認文件不存在是不一樣的。