網站如何控制索引範圍?
24 Nov 2016過去在操作規模較小的網站時,重點往往是增加網站的網頁索引數,但操作大型網站除了增加索引數外,更重要的是引導搜尋引擎爬取正確的路線 / 頁面,意即有效控制索引範圍。一方面是不浪費索引的額度(Google 對每個網站都有一定的索引額度),另一方面也是不增加我們網站本身的流量負擔(CDN 等也是很貴的)。
網站結構
避免重要頁面埋得太深而不易被索引,重要的頁面離首頁愈近愈好,愈多內部連結連到愈好。
網址結構
三層以後的網址易被 robot 忽略。例如:http://sample/abc/def/ghi
,其中「def」是第三層,「ghi」是第四層。網址太長可能會遭到 robot 捨棄。但根據觀察,這樣的狀況是很少的,但如果使用 site 指令是可以發現有這樣的狀況,超過某個長度後的網址便不完全比對。因此,重要的頁面要放在三層以內,確保網址不會因為太長而被捨棄索引。
nofollow
內部連結要妥善設計,必要時加上 nofollow,避免 robot 迴圈般的爬取網址,或爬某個需要登入或偽連結,導致連不到重點和深層連結。
為什麼我會注意到這個問題呢?因為在 Search Console 上,我常看到報錯上顯示一個很有趣的狀況…網站上有些功能是需要登入才能使用的,因此當點擊這個連結的時候,如果使用者沒有登入,就會回傳登入頁面。若是 robot 做這個動作,它就會看到 soft 404,也就是想要找的頁面不見了,但又沒有回傳 404。這樣的功能問題在我們網站上好像挺多的,例如:商品檢舉(登入後,點擊商品檢舉連結,會跳到填寫檢舉表單頁)-我常常看到一種報錯-soft 404,來源是某個需要登入的連結,範例:http://goods.ruten.com.tw/item/violate.htm?123456789
,這就是因為 robot 在爬這個商品頁時,遇到這個連結,跟著進去發現需要登入(被轉址導到登入頁)而產生的。這種浪費 robot 時間資源、對網站產生無謂流量的狀況應該要盡量避免。解決辦法,最簡單的就是當使用者沒有登入的時候,就不要顯示這個連結;或是,在這個連結上加入 「nofollow」,明確告知 robot 不要去爬。
canonical
網站格式統一,避免同一頁但不同網址的頁面競爭排名。使用 canonical 可能會導致網站總索引數下降,但若下降也代表網站有太多虛報的頁面了。
配合<link rel="alternate">
,這個指令同時也能使 robot 得知並索引手機版網頁、AMP 網頁,這在官方文件上是有提到的。在做桌機與手機版網址對應的優化前,我們家露天在桌機常搜尋到手機版的頁面,或在手機上搜尋到桌機版的頁面,利用<link rel"canonical">
和<link rel="alternate">
設定桌機與手機版本網址的對應,這情況已逐漸改善。
robots.txt:disallow
避免 robot 爬到或索引到不必要的頁面,例如:需要登入的頁面、沒有價值的頁面。好處是避免 robot 不停地去訪問這些頁面,減少流量的負擔。露天拍賣在做這個優化後,在 Search Console 上可以看到 robot 每日讀取的 byte 數逐漸下降。
另外可能會有疑惑,到底什麼時候要用robots.txt:disallow
?什麼時候要用meta noindex
呢?我的原則是,如果這是 server 端的 controller 而非 view,或是在某個資料夾底下都要阻擋,那就用robots.txt:disallow
;而若只是單一頁面,就可用meta noindex
。順到一提,如果想要使用 Search Console 上在搜尋結果上移除網址的功能,這兩個動作至少要選一個來做。
網址參數設定
在 Search Console 的網址參數設定方面,避免 robot 爬到或索引到不必要的頁面,或建議對某些有意義的參數設定逐一檢索。這個要小心設定,對於網站索引數是有一定大的影響的。
另外,使用canonical
或 Search Console 網址參數設定的判斷標準是比較模糊的,這邊我兩邊都會做設定,但若參數太多太複雜太難考究,我就會以 Search Console 網址參數設定為主,避免網站索引數掉得太多。
HTML 撰寫
script 盡量使用外部檔案,避免 robot 拆解 script 中長得像網址的字串,拼成網址後拿去訪問這個網址。同理 HTML 中的 <a>
tag 的 href 中有 javascript:void(0)
,UI 元件的 tab 中有 #
,也是會被 robot 拆解成網址去訪問。這在 Search Console 報錯上很常看到,做這項優化也是為了不要產生額外的流量負擔!
以上重點是這一年我在露天拍賣網站上,對於控制索引範圍議題的構思、實作與心得,但由於寫文章的時間有限就只能簡短摘要了,歡迎交流討論噢。
這篇文章的原始位置在這裡-網站如何控制索引範圍?
由於部落格搬遷至此,因此在這裡放了一份,以便閱讀;部份文章片段也做了些許修改,以期提供更好的內容。