今天會筆記 4-3 的內容,robots meta。

設定網頁的 robots meta 與 robots.txt

robots metarobots.txt 主要的目的是讓 搜索引擎應該如何處理網頁 ,例如是否要索引網頁。 這個設定雖然只是宣告性質,但是大多數的搜尋引擎會依照宣告的方式進行動作。

設定 robots meta

robots meta 宣告放置於 <head> </head> 中間,如下範例

robots meta
  • html
1
2
3
<head>
<META NAME="屬性值#1" CONTENT="屬性值#2">
</head>

屬性值#1 指定搜尋引擎
屬性值#1 說明
robots 所有搜尋引擎的爬蟲程式
googlebot Google 的爬蟲程式
googlebot-mobile Google 行動的爬蟲程式
googlebot-news Google 新聞的爬蟲程式
googlebot-image Google 圖片的爬蟲程式
googlebot-video Google 視訊的爬蟲程式
bingbot Bing 的爬蟲程式
slurp Yahoo 的爬蟲程式
baiduspider 百度的爬蟲程式
rogerbot Moz.com 的爬蟲程式
MJ12bot Majestic.com 的爬蟲程式
AhrefsBot Ahrefs.com 的爬蟲程式
ia-archiver Alexa.com 的爬蟲程式
屬性值#2 指定處理的方式
屬性值#2 說明
all 沒有索引或服務的限制。注意:這個指令是預設值,如果明確列出這個指令並不會產生任何影響。
noindex 不在搜尋結果中顯示這個網頁,也不要在搜尋結果中顯示「快取」連結。
nofollow 不追蹤這個網頁上的連結。
none 相當於 noindex, nofollow。
noarchive 不在搜尋結果中顯示「快取」連結。
nosnippet 不在搜尋結果中顯示這個網頁的文字片段或影片預覽畫面。系統仍會顯示靜態縮圖 (如果有的話)。
notranslate 不在搜尋結果中提供這個網頁的翻譯。
noimageindex 不為這個網頁上的圖片建立索引。
unavailable_after: [RFC-850 date/time] 在指定的日期/時間後不在搜尋結果中顯示這個網頁。指定日期/時間時需使用 RFC 850 格式。

例如我要設定所有爬蟲不在搜尋結果中顯示這個網頁不追蹤這個網頁上的連結,就會寫成下方範例的樣子

robots meta
  • html
1
2
3
<head>
<META NAME="robots" CONTENT="noindex, nofollow">
</head>

設定 robots.txt

robots.txt 使用上更加彈性,不用像 robots meta 每頁都要設定,而是統一在 txt 設定好。 該檔案要放在網站的根目錄底下,例如 http://網址/robots.txt 這個位置。

robots.txt 有五種宣告方式
宣告類型 說明
User-agent 指定搜尋引擎爬蟲類型
Crawl-delay 限定爬蟲抓取每頁的秒數限制
Disallow 不希望被扒取的網址路徑
Allow 允許被扒取的網址路徑
Sitemap 告知搜尋引擎網站的 Sitemap 網址

舉些例子,例如要拒絕全部的搜尋引擎爬取

拒絕全部的搜尋引擎
  • txt
1
2
User-agent: *
Disallow: /

拒絕百度搜尋引擎爬蟲,但是允許其他搜尋引擎爬蟲

拒絕百度搜尋引擎爬蟲
  • txt
1
2
3
4
User-agent: Baiduspider
Disallow: /
User-agent: *
Disallow:

拒絕特定目錄被爬取,以下方的例子,則是說不要爬取 login 的頁面

拒絕特定目錄被爬取
  • txt
1
2
User-agent: *
Disallow: /login

這邊提供更實際的案例可以參考, Apple robots.txt 範例

開發人員必懂的 SEO 第三集

參考

[SEO 超入門]
[Robots.txt 規範]
[Robots Meta Directives]
[Moz robots.txt]