
網址正規化與重複內容怎麼處理?
同一個內容,可能有很多個網址
這是網站最常見的技術問題之一,而且多數人不知道自己有這個問題。
以下這些網址,對使用者而言是同一頁,但對搜尋引擎而言是四個不同的網址:
http://example.com/producthttp://www.example.com/producthttps://example.com/producthttps://www.example.com/product
如果四個都能打開且顯示相同內容,網站的評價就被拆成四份,而且搜尋引擎要自行猜測哪一個是主要版本。
第一步:統一基本形式
必須做出三個決定,並全站一致:
| 項目 | 決定 | 處理方式 |
|---|---|---|
| 加密 | 一律使用 https | http 全部 301 轉向 |
| www | 擇一(有或沒有) | 另一種 301 轉向 |
| 結尾斜線 | 擇一 | 統一,避免兩種並存 |
選哪一個沒有優劣,重點是一致。 決定之後,網站內部的所有連結、網站地圖、正規標記都要用同一種形式。
檢查方法
把上述四種形式各輸入一次,看是否都自動導向同一個。如果有任何一個停在原地,就是需要處理的。
第二步:正規網址標記
正規標記(canonical)的作用是告訴搜尋引擎:「這一頁的正式版本是哪一個網址」。
什麼時候需要
- 同一內容可從多個網址存取
- 有帶參數的網址——追蹤碼、排序、篩選
- 列印版或行動版的獨立網址
- 商品同時出現在多個分類路徑下
常見的錯誤
- 全站都指向首頁——這會讓所有內頁都不被收錄,是災難性的錯誤
- 指向的網址與實際不符——例如指向 http 但實際是 https
- 分頁的第二頁指向第一頁——第二頁以後的內容就不會被收錄
- 忘記設定——讓搜尋引擎自行判斷,結果未必如預期
每一頁的正規標記都應該指向自己,除非確實有另一個版本才是正式的。
帶參數的網址
篩選、排序、追蹤都會產生參數。例如:
/products?sort=price——排序/products?color=red&size=m——篩選/products?utm_source=fb——廣告追蹤
問題在於參數的組合可能產生大量網址,內容卻幾乎相同——這會消耗抓取資源,也造成重複內容。
處理原則
- 排序與追蹤參數——正規標記指向無參數的版本
- 篩選參數——若該組合有獨立的搜尋需求(例如「紅色 T恤」確實有人搜),可以讓它獨立被收錄;若只是輔助瀏覽,就指向無參數版本
- 避免產生無意義的組合——例如同一組篩選有多種參數順序
分頁的處理
商品列表或文章列表的第二頁、第三頁,處理原則:
- 每一頁的正規標記指向自己,不要全部指向第一頁
- 每一頁都要能被獨立存取與收錄——否則深層的商品永遠不會被發現
- 標題可以加上頁數,避免各頁標題完全相同
- 如果提供「顯示全部」的版本,可以考慮讓它作為正規版本
無限捲動要小心
捲到底自動載入更多內容的設計,對使用者體驗不錯,但爬蟲通常不會捲動。這代表第一批之後的內容可能完全不會被發現。
解法是同時提供可點擊的分頁連結,即使視覺上隱藏也可以。
重複內容的判斷
不是所有重複都有問題:
| 情況 | 是否有問題 |
|---|---|
| 不同語言的翻譯版本 | 沒問題 |
| 同一內容多個網址可存取 | 要處理 |
| 商品規格表在多個商品頁重複 | 通常沒問題 |
| 多個頁面內容高度相似 | 應考慮合併 |
| 大量自動產生的相似頁面 | 有風險 |
多語系的處理見多語系網站的 SEO 該注意什麼。
網址本身的規劃
- 用有語意的英文小寫,單字之間用連字號
- 避免中文與空格——網址中會變成一長串編碼,難以閱讀與分享
- 層級不要太深
- 上線後不要輕易更動——若必須改,一定要做 301
網址規劃應該在架構階段就決定,見樹狀圖與線框圖。