三分鐘搞懂 SEO的《meta robots、robots.txt》

上篇文章 “認識抓取(Crawl)與索引(Index)” 我有跟各位介紹搜尋引擎的運作概念

這篇文章我假設你已經能夠區分抓取索引的差別了,並且我將告訴你如何使用meta robots以及robots.txt來優化Google抓取與索引,若沒概念我建議你先閱讀我的上一篇文章。

meta robots以及robots.txt的工作分別是阻止Google 抓取、索引你的頁面。在這個年頭,只是SEO排名/流量高是沒有用的,流量必須對企業有價值、必須要能夠創造轉換,所以使用者體驗相對重要,如果你有特定頁面會傷害使用者體驗(UX),你可以透過這些方式去阻止該頁面出現在Google 搜尋結果中。

 

meta robots vs robots.txt

 

  • robots.txt可以阻止搜尋引擎抓取你的資料,如果你使用了robots.txt來阻擋搜尋引擎,那麼搜尋引擎將會略過你所阻擋的頁面,不去做抓取。
  • 但meta robots 就不同了,他在索引層面阻止搜尋引擎索引你的頁面,但Google 還是有抓取你的網站資料的,但究竟為什麼我們要這樣做?後面我將娓娓道來。

 

學習使用 Robots.txt

基本上,大多數的情況我們都不會使用robots.txt來阻止搜尋引擎抓取我們網站,除非你確定這個頁面對 SEO有負面影響,若你有頁面不希望出現在搜尋引擎中,我建議使用Meta Robots來控制索引就好,網站的資料還是一樣讓Google去抓取。但若你確定這些頁面會影響 SEO並且你不希望Google抓取到,你就要使用Robots.txt。(比方說開發中,但還沒完成的網頁)

使用robots.txt檔案很簡單,你只要建立一個檔名為robots的txt檔案,並且上傳到根目錄就好,並且在這個檔案內寫上你希望Google別抓取的頁面路徑。

如圖,你會看到在yesharris.com下面的根目錄我就上傳了這個檔案,並且我不希望搜尋引擎抓取到我後台的登入頁面,所以才會有disallow:/wp-admin/這些內容

a2402

基本上在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這樣優秀,所以我們要隨時關注搜尋引擎的抓取狀況。

robots

 

但,有些頁面跟內容你不會希望 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索引你的頁面

a2405

這種情況通常是因為某些頁面作為 Landing Page 會影響使用者體驗,但你又希望Google能抓取頁面上的資料(因為這頁有很多的反向連結、流量)所以你將它排除索引、維持抓取。我來舉個範例讓你清楚理解:

 

  • 範例A:

Harris先生在自己部落格的 “搜尋結果頁” 上使用了meta robots 阻止Google索引這些頁面,因為新的user如果從搜尋引擎landing 到舊用戶搜尋過的頁面,這樣會對新user 造成負面的使用者體驗;但是我的搜尋結果頁有很多人分享、有很多反向連結、很多流量,這些都對我的 SEO排名有幫助,我希望 Google 來抓取這個頁面,知道我的網站有很多分享、反向連結。於是我就使用了meta robots 來禁止Google索引我的搜尋結果頁,但是Google還是有抓取到我這頁的資料,並且對我整個網站的SEO排名有幫助!

螢幕快照 2016-05-18 上午9.05.44

 

  • 範例B:

Harris 經營書店電子商務網站,User 在登入會員之前就可以使用購物車,但我不希望User 的購物車頁面被Google 索引進搜尋引擎,所以我用meta robots 來阻止搜尋引擎進行索引。

 

 

 

 

注意 – Google 說他們是參考參考

了解meta robots以及robots.txt之後,你可以優化網站的抓取及索引狀況,阻止特定頁面跟被抓到或是被索引。

但有一件很重要的事要注意,Google 官方有很明確的聲明,meta robots 以及 robots.txt 確實可以告訴 Google 你希望哪些頁面不要被抓取以及索引,Google也會尊重你的決定(畢竟你是網站擁有者),但 Google 官方不保證搜尋引擎會完全服從meta robots以及robots.txt(我知道,你現在是不是覺得 what the fuck?),若搜尋引擎認為你的網站有很多很多的反向連結、流量很高、內容很優質,是優質網站,他也有可能會執意要抓取、索引你的網站。

Harris
Harris
大家好,我是Harris,目前在阿物國際從事 SEO、網站優化相關工作,具有Google Analytics以及Adwords認證,主攻網站行銷、SEO、Google Analytics。

如果你有任何的問題,歡迎來信: harriz1231@gmail.com

延伸閱讀