三分鐘搞懂 SEO的《meta robots、robots.txt》
上篇文章 “認識檢索(Crawl)與索引(Index)” 我有講解了搜尋引擎的運作概念
這篇文章我假設你已經能夠區分 檢索 與 索引 的差別了,並且我將告訴你如何使用meta robots 以及 robots.txt 來優化 Google 檢索與索引,若沒概念我建議你先閱讀我的上一篇文章。
meta robots 以及 robots.txt 的工作分別是阻止 Google 檢索、索引你的頁面。在這個年頭,只是 SEO 排名/流量高是沒有用的,流量必須對企業有價值、必須要能夠創造轉換,所以使用者體驗相對重要,如果你有特定頁面會傷害使用者體驗(UX),你可以透過這些方式去阻止該頁面出現在 Google 搜尋結果中。
- robots.txt可以阻止搜尋引擎檢索你的資料,如果你使用了robots.txt來阻擋搜尋引擎,那麼搜尋引擎將會略過你所阻擋的頁面,不去做檢索。
- 但meta robots 就不同了,他在索引層面阻止搜尋引擎索引你的頁面,但Google 還是有爬你的網站資料的,但究竟為什麼我們要這樣做?後面我將娓娓道來。
學習使用 Robots.txt
基本上,大多數的情況我們都不會使用 robots.txt 來阻止搜尋引擎檢索我們網站,除非你確定這個頁面對 SEO 有負面影響,若你有頁面不希望出現在搜尋引擎中,我建議使用 Meta Robots 來控制索引就好,網站的資料還是一樣讓 Google 去檢索。但若你確定這些頁面會影響 SEO 並且你不希望 Google 檢索到,你就要使用 Robots.txt。(比方說開發中,但還沒完成的網頁)
使用 robots.txt 檔案很簡單,你只要建立一個檔名為 robots 的 txt 檔案,並且上傳到根目錄就好,並且在這個檔案內寫上你希望 Google 別抓取的頁面路徑。
如圖,你會看到在 www.yesharris.com 下面的根目錄我就上傳了這個檔案,並且我不希望搜尋引擎抓取到我後台的登入頁面,所以才會有 disallow:/wp-admin/ 這些內容
基本上在 robots.txt 檔案內你只要填好這些資訊:
User-agent:填入搜尋引擎蜘蛛的值(* 號代表全部)
Disallow:填入你希望搜尋引擎別檢索的頁面路徑
Allow:若你禁止檢索的頁面路徑裡面又有特定路徑你希望搜尋引擎檢索,則填入
學習使用Meta Robots
要用 meta robots 你只要直接把它加在 head 底下,你必須要在“你不希望被索引的頁面底下”,加入這個標籤至head裡。
所以如果你有六個頁面不希望被索引?沒錯這六頁你都要手動去加入 meta robots。
meta robots 的標籤是長這樣:
<head>
<meta name=”robots” content=”noindex , nofollow“>
</head>
基本上這個標籤有 noindex 以及 nofollow 兩個值:
index vs noindex
當你不希望搜尋引擎索引此頁面,就填上 noindex,若希望正常索引便填上 index
follow vs nofollow
至於follow這個值是指,若你希望搜尋引擎在檢索此頁面時,不進一步的去檢索該頁面所連出去的連結,你就填上 nofollow 的值。這個功能通常會用在社群論壇或是網站討論版,是為了防止有人在你的頁面上亂貼連結來意圖增加他的 SEO 反向連結及排名,使用 nofollow的話搜尋引擎的檢索會在該頁面停止,不繼續往其他連結前進,固可以防止亂貼連結的事情發生。
兩個值的功用完全不同,我來舉幾個範例讓你完全清楚如何使用。
1. < meta name=”robots” content=”noindex , nofollow”>
這個做法便是告訴搜尋引擎,不要索引我的網站,並且在檢索資料時該頁面的相關連結也不要去檢索。
2. < meta name=”robots” content=”index , nofollow”>
檢索資料時該頁面的相關連結不要檢索。
3.< meta name=”robots” content=”noindex , follow”>
不要索引我的頁面,但頁面上所有的連結請正常檢索(最常用之使用方式)
4.< meta name=”robots” content=”index , follow”>
這個做法就沒有任何意義,加上這段標籤跟沒加的道理是一樣的,等於搜尋引擎將正常索引及檢索。
做 SEO,何時會用robots.txt阻止Google檢索?
對於檢索(Crawl)優化的工作上,你的網站 Google 必須要看得懂、並且資料也抓得到。有些動態的網頁結構對網路爬蟲的檢索來說是有問題的,這個我於上一篇文章中有提到,畢竟最可惜的就是你的網站有優質的內容,但 Google 根本檢索不到資料…。Google 的網路蜘蛛基本上已經是市場上效能最好的,但相對來說像是DDG、Bing、百度,他們的效能就未必像 Google 這樣優秀,所以我們要隨時關注搜尋引擎的檢索狀況。
但,有些頁面跟內容你不會希望 Google 檢索到,這時候你必須要使用 Robots.txt 來阻擋 Google 蜘蛛的檢索,這也是我們今天文章討論的重點。我們來看看,什麼情況你會希望 Google 蜘蛛不要檢索你的網站
- 未完成的頁面
如果你有頁面正在由技術人員開發中,但頁面還需要很長的一段時間才能完成,甚至你還需要修改、測試,未完成的頁面通常不會傷害 SEO,但你不會希望訪客在搜尋引擎中搜尋到未完成的頁面,因為未完成的頁面會給使用者較差的使用體驗。
- 測試頁面
我曾經有碰過工程師,為了做功能測試並開了測試用子網域,並上傳與主網域完全一模一樣的內容,於 理解Google Panda:網站內容對 SEO的影響 這篇文章中我有提過,一模一樣的網站內容,會對 SEO 造成傷害,若有這樣的頁面我會建議你將 Google 蜘蛛擋在門外比較好。
- 網站後台、其他理由
以我來說,我的網站是使用 Word Press 架設出來的,所以我有使用 robots.txt 防止搜尋引擎檢索我的網站後台,搜尋引擎檢索到後台的登入頁面對於 SEO 沒有傷害,但也一點幫助都沒有。同時如果你壓根就不希望搜尋引擎檢索你的網站,我也建議你使用 robots.txt 來阻止搜尋引擎的檢索。
做 SEO,何時會用meta robots阻止Google 建立索引?
若某些頁面你不希望在搜尋引擎被 user 搜尋到,但這些頁面事實上有很多對 SEO 排名有加分的因素,所以你會希望Google 檢索這些頁面的資料,但別建立進搜尋引擎索引,這時候你需要 meta robots 來阻止 Google 索引你的頁面。
這種情況通常是因為某些頁面作為 Landing Page 會影響使用者體驗,但你又希望Google 能檢索頁面上的資料(因為這頁有很多的反向連結、流量)所以你將它排除索引、維持檢索。我來舉個範例讓你清楚理解:
- 範例A:
Harris 先生在自己部落格的 “搜尋結果頁” 上使用了 meta robots 阻止 Google 索引這些頁面,因為新的user如果從搜尋引擎 landing 到舊用戶搜尋過的頁面,這樣會對新 user 造成負面的使用者體驗;但是我的搜尋結果頁有很多人分享、有很多反向連結、很多流量,這些都對我的 SEO 排名有幫助,我希望 Google 來檢索這個頁面,知道我的網站有很多分享、反向連結。於是我就使用了meta robots 來禁止 Google索引我的搜尋結果頁,但是 Google 還是有爬到我這頁的資料,並且對我整個網站的SEO 排名有幫助!
- 範例B:
Harris 經營書店電子商務網站,User 在登入會員之前就可以使用購物車,但我不希望 User 的購物車頁面被 Google 索引進搜尋引擎,所以我用 meta robots 來阻止搜尋引擎進行索引。
注意 – Google 說他們是參考參考
了解 meta robots 以及 robots.txt 之後,你可以優化網站的檢索及索引狀況,阻止特定頁面跟被抓到或是被索引。
但有一件很重要的事要注意,Google 官方有很明確的聲明,meta robots 以及 robots.txt 確實可以告訴 Google 你希望哪些頁面不要被檢索以及索引,Google 也會尊重你的決定(畢竟你是網站擁有者),但 Google 官方不保證搜尋引擎會完全服從 meta robots 以及 robots.txt,若搜尋引擎認為你的網站有很多很多的反向連結、流量很高、內容很優質,是優質網站,他也有可能會執意要檢索、索引你的網站。