什麼是Meta Robots?

之前我們在介紹Meta tags中有大概介紹到Meta Robos,這篇則會完整的介紹Meta Robots的作用以及使用方式。

Meta Robots是Meta Tags中的一種。主要是為搜尋引擎的爬蟲,告訴他們「要如何」對網頁進行爬蟲或索引。這個與「robots.txt」文件有相似的作用,但Meta Robots可以告訴爬蟲更清楚的網頁索引需求。

Meta Robots 主要有兩種撰寫方式:

1.寫在HTML頁面<head>中

<!DOCTYPE html>
<html>
<head>
<meta name="robots" content="noindex" />
(…)
</head>
<body>(…)</body>
</html>

2.寫在HTTP Sever端,例如

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noindex
(…)

這兩種方式可以同時使用,但我們主要的話還是使用Meta Robots的方式較為簡單。

爬蟲在讀取網頁中,會先抓取Meta Robots上有關索引的設定。如果爬蟲有發現這些指令,那麼他們將會依照你所設定的參數進行索引,以下是Meta Robots的參數,這些參數是不分大小寫。

Meta Robots 參數

  • Noindex:告訴搜索引擎不要索引頁面。
  • Index:告訴搜索引擎索引頁面。不需要添加此標記(此為默認值)
  • Follow:即使頁面沒有編入索引,爬蟲還是會將頁面上所有鏈結權重傳遞給鏈結的頁面。
  • Nofollow:告訴爬蟲不要關注頁面上的任何鏈結,也不需要傳遞任何鏈結的權重。
  • Noimageindex:不要索引任何圖片。
  • None:等於同時使用noindex和nofollow。(不要索引頁面,不要關注頁面鏈結)
  • Noarchive:不要再在SERP上顯示此頁面的緩存。
  • Nocache:與Noarchive相同,但僅供Internet Explorer和Firefox使用。
  • Nosnippet:不要在SERP上顯示此頁面的摘要(Meta Description)。
  • Unavailable_after:搜尋引擎在設定的時間之後,不會將頁面編入索引。

如何編寫Meta Robots?

<meta name ="robots" content ="參數">

基本的Meta Robots編寫方式就如同上方程式碼,但你也可以把「Robots」替換成特定的爬蟲程序名稱。例如,你要針對GoogleBot,就可以像這樣寫:

<meta name ="googlebot" content ="參數">

這個程式碼只會針對Google的爬蟲進行控制。

如果你想要執行多個參數,只需要在同個參數格中,以「,」逗點分隔即可。

<meta name ="robots" content ="noimageindex,nofollow,nosnippet">

以上程式碼事告訴爬蟲不要索引頁面上的任何圖像、跟隨任何鏈接、不要在SERP中顯示摘要。

如果您為不同的爬蟲使用不同的標記指令,那麼你需要為每個爬蟲都使用單獨的標記。如果不知道有哪爬蟲,我們在此提供爬蟲清單

<meta name ="robots" content ="noimageindex,nofollow,nosnippet">
<meta name ="googlebot" content ="noimageindex,nofollow,nosnippet">

X-robots-tag

X-Robots-Tag可用來做為指定網址的 HTTP 標頭回應元素。他所用的參數與Robots相同, 並且還提供比Meta Robots更多、更靈活動參數。

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow
(…)

X-robots-tag 有效參數

以下參數為Google所認可的參數,其他的搜尋引擎爬蟲可能會不支援,如果需要多個參數,您可以使用逗號分隔即可。

  • noindex:
  • 不在搜尋結果中顯示這個網頁,也不要在搜尋結果中顯示「快取」連結。
  • nofollow不追蹤這個網頁上的連結。
  • none相當於 noindex, nofollow。
  • noarchive不在搜尋結果中顯示「快取」連結。
  • nosnippet不在搜尋結果中顯示這個網頁的文字片段或影片預覽畫面。系統仍會顯示靜態縮圖 (如果有的話)。
  • notranslate不在搜尋結果中提供這個網頁的翻譯。
  • noimageindex不為這個網頁上的圖片建立索引。
  • unavailable_after: [RFC-850 date/time]在指定的日期/時間後不在搜尋結果中顯示這個網頁。指定日期/時間時需使用 RFC 850 格式

如何使用X-robots-tag

要使用X-robots-tag,您需要編輯網站的標題.php、.htaccess或是sever訪問文件。

我們舉Apache式的Sever來說,您可以使用預設由 Apache 提供的 .htaccess 和 httpd.conf 檔案 ,將 X-Robots-Tag 加入網站的 HTTP 回應中。

舉例來說,如要將 noindex, nofollowX-Robots-Tag 新增到全網站所有 .PDF 檔案的 HTTP 回應中,請將以下的程式碼片段加到網站的根目錄 .htaccess 檔案或 httpd.conf 檔案:

<Files ~ "\.pdf$">   
Header set X-Robots-Tag "noindex, nofollow" 
</Files>

或是不想讓頁面中所有的圖片被索引你可以在檔案中加入以下的程式碼:

<Files ~ "\.(png|jpe?g|gif)$">   
Header set X-Robots-Tag "noindex" 
</Files>

X-robots-tag使用時機:

  • 頁面不是使用HTML所編寫的內容(如FLash或影片)
  • 阻止頁面中的特定元素(如圖片、影片)的索引,但不阻止整個頁面被索引
  • 如果您無權訪問頁面的HTML部分,或是網站無法更改<head>中的內容

使用須知

  • 當爬蟲再進行檢索時,會優先抓取robots.txt中的設定,如果設定為禁止檢索,那麼爬蟲將不會檢索此頁面,如果您有設定Meta Robots,也會被忽略。
  • 大部分情況下,要限制抓取或是索引,只要使用Meta robots即可,而不是使用robots.txt文件禁止爬蟲。

最後如果您的頁面有您不想被公開搜索的私人訊息,您需要選擇更安全的方式,例如以密碼保護,防止訪問者進入頁面,因為有些惡意的爬蟲會完全忽略robots的指令,所以並不能有效的保護頁面的私人內容。

有任何問題歡迎在下方留言,與我們共同討論以及分享。

文章轉自:SEOBOOK