NoIndex, NoFollow, Canonical, Disallow的SEO密碼

Photo of author
Written By CMO

NoFollow? DoFollow
NoFollow? DoFollow

SEO們很多都知道這幾個關鍵詞:NoIndex,NoFollow,Canonical和Disallow。但是筆者接觸下來許多SEO們對這些蜘蛛指引(Search Engine Directives)的理解不足。其實這會造成網站收錄和排名的重大影響。本篇,我們就以此作為專題,來介紹各個指引的作用並通過比較來說明它們之間的細微差異。

Link Juice,Link Equity

要理解這些概念,首先我們要對經典的PageRank算法有所了解。出於篇幅的考慮,我們暫且把一個頁面所具有的SEO能力叫做大家熟悉的“權重”,這個權重具有流動性,高權重的頁面會傳遞更多權重給它所鏈接的頁面,這個鏈接不僅是站內鏈接,還包括我們俗稱的外鏈。另外,頁面上的鏈接越多,每個鏈接傳遞出的權重就越低。權重就像知識,傳遞後傳遞者不會減少,而被傳遞者會增多。而我們把所說的傳遞的權重的量叫做“Link Juice”,或者“Link Equity”。我們且把它翻譯成“鏈接權重”,有時候我們也可以把它看做一種“投票”。

PageRank算法意圖,頁面權重由總鏈入權重決定,鏈出時平分權重
PageRank算法意圖,頁面權重由總鏈入權重決定,鏈出時平分權重

NoIndex

NoIndex就如它字面的意思,是告知搜索引擎不要索引該頁面。用法如下,其他用法見Wikipedia。 Google還支持X-Robots-Tag HTTP header中的NoIndex訊息用來支持pdf這種非HTML文檔。

<meta name=”robots” content=” noindex “>

被設為NoIndex的頁面無法獲得頁面權重。但是並不是說這個頁面所鏈出的頁面就無法獲得鏈接權重。只要該頁面未被設為NoFollow,其一樣具有“臨時權重值”,而這個值會流出到它所鏈出的頁面。

NoIndex雖被Google,Yahoo等主流搜索引擎所使用,但Google尚不支持該標籤。因此我們若不想頁面被Google索引,還需要使用robots.txt。

NoFollow

NoFollow的意思就是請搜索引擎蜘蛛留步。有兩種用法,其一是和上面NoIndex一樣,表示“不要再繼續抓取這個頁面鏈出的任何鏈接”:

<meta name=”robots” content=” nofollow “>

另一種是指定不要抓取某個特定鏈接:

<a href=”https://hubspot.one/” rel=”nofollow”>Link text</a>

要查看NoFollow,你可以通過HubSpot One介紹過的那幾個實用的SEO插件來實現。

NoFollow阻止了鏈接權重向目標頁面流動,被NoFollow的頁面將無法獲得鏈接權重。如果如上述第二種方法部署就相當於減少了權重流出的目的地數,從而每個目標頁面獲得的鏈接權重會相應增加。在經典的技術SEO中,通過應用NoFollow可以很好地防止“權重分散” ,更重要的是它可以有效利用搜索引擎的Crawl Budget,即抓取配額

我們注意到,搜索引擎並不是每次抓取網站時都把網站遍歷一遍的。你可以通過分析網站服務器的訪問記錄了解搜索引擎的爬蟲行為。為了防止蜘蛛漫無目的地爬行,你需要使用NoFollow來指引蜘蛛在有限的爬行頁面數配額內抓到你的“重點內容”,起碼是你認為的高質量內容。如果蜘蛛的抓取配額大量浪費在垃圾頁面上,那麼優質頁面的收錄就會造成問題。

Google支持NoFollow標籤的上述兩種用法。

Canonical

Canonical標籤用於聲明頁面的唯一原型頁面。它通知搜索引擎當前頁面是Canonical頁面的一個變種,當考慮收錄時需忽略變種而收錄原型頁面。用法如下:

<link rel=”canonical” href=”https://hubspot.one/” />

Canonical並不阻止搜索引擎蜘蛛的爬行,而僅僅對收錄做出指引,它可以有效避免重複內容帶來的負面影響。 Canonical的另一個優點是變種頁面獲得的鏈接權重會被帶回它的原型頁面。同時變種頁面流出的鏈接權重依然有效。儘管有這些優點, Canonical並不能節省抓取配額,因此當搜索引擎需要爬行大量變種頁面時索引效率會下降

Google支持Canonical標籤。但僅限於桌面和移動版本之間的適配和MIP頁面。

Disallow

Disallow是在robots.txt中對搜索引擎爬蟲的指引參數。它表示“請不要抓取這些頁面”。請注意它並不表示“請刪除這些被索引的頁面”。儘管某些頁面被設為Disallow,搜索引擎仍然可能索引這樣的頁面(注:下圖中Google蜘蛛的大小寫不敏感,因此不必重複一遍。):

Google無視優衣庫屏蔽索引強行索引展示結果(也有可能為Disallow之前被索引)

儘管搜索引擎(不僅僅是Google,谷歌一樣會)可能不遵守robots.txt, robots.txt的Disallow依然是節省抓取配額並阻止Google這樣不遵守NoIndex指引的搜索引擎索引特定頁面的有效方式。 Disallow的缺點同樣很明顯,首先被Disallow的頁面無法被爬行和索引因此無法貢獻鏈接權重給其鏈出的頁面,其自身的權重也無從談起。另一個缺點是它會浪費指向它的來自其他網站的外鏈帶來的寶貴的鏈接權重。

NoIndex + NoFollow

理解了NoIndex和NoFollow的意義,兩者同時應用的作用就不難理解了。這裡要再次提醒下,Google並不支持NoIndex標籤。 NoIndex,NoFollow同時應用無法給該頁面帶來頁面權重,因為該頁面不會被索引。同時也沒有任何鏈接權重可以流向被鏈接到的頁面。如果外鏈指向該頁面將會造成鏈接權重的損失,搜索引擎還是會對該頁面進行爬行從而無法節省抓取配額。

由此我們看出NoIndex + NoFollow與Disallow相比沒有任何優勢,只是在頁面管理方面比動態robots.txt更靈活。如果該頁面只是一個變體,我們推薦使用Canonical,這樣雖然還會消耗抓取配額,但是頁面權重和鏈接權重得以保留。

NoIndex,Follow

同單獨使用NoIndex,不贅述。

Index,NoFollow

同單獨使用NoFollow,不贅述。

總結一下

我們把上述內容總結一下,見下圖:

NoIndex,NoFollow,Canonical,Disallow比較
NoIndex,NoFollow,Canonical,Disallow比較

這樣一來,通過比較我們就可以對各種應用的細微差別有更清晰的認識。明白了嗎?文章難免有錯誤,歡迎指正,感謝關注HubSpot One。