搜索引擎三巨頭打的不亦樂乎,但偶爾也合作一下。去年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文件是否存在或者裡面有什麼內容,這與確認文件不存在是不一樣的。