重複網頁的網址標準化作業,以及標準標記的用途
如果您有某一個網頁可透過多個網址存取,或者不同網頁上存在相似的內容 (例如同時提供行動版和電腦版網頁),Google 會將這些網頁視為相同網頁的重複版本,從中選出一個網址做為「標準」版本進行檢索,然後將其他網址判定為「重複」網址並降低檢索頻率。
如果您未將標準網址明確告知 Google,Google 會自行選擇標準網址,或是認定標準及重複網址的參考權重相同,這可能會導致某些非預期的行為,詳情請見「選擇標準網址的原因」一節。
本文說明網址標準化作業在 Google 搜尋中的運作方式、是否需要指定標準網址,以及如何指定 Google 的偏好設定。
什麼是標準網址?
所謂的「標準網址」,就是 Google 從網站的一組重複網頁中所選出的最具代表性網頁的網址。舉例來說,如果同一網頁有 example.com?dress=1234
和 example.com/dresses/1234
這兩個網址,Google 便會選擇其中之一做為標準網址。
這些網頁的內容不需要完全相同;以清單網頁來說,因為排序或篩選方式不同而造成的些許差異 (例如依價格排序或依項目顏色篩選),並不代表該網頁具有獨特性。此外,標準網址可能和其他重複網頁的網址位在不同網域中。
Google 如何建立索引及選擇標準網址
為網站建立索引時,Google 會嘗試判定各個網頁的主要內容。如果 Google 發現同一網站有多個網頁的內容相近,就會自行選擇內容最完整實用的網頁做為標準網頁。為了減少在網站上的檢索工作量,標準網頁將會是檢索最頻繁的網頁,其他重複網頁的檢索頻率則較低。
Google 會根據許多因素 (或稱「信號」),例如網頁採用 HTTP 或 HTTPS、網頁品質高低、是否在 Sitemap 中提供網址,以及是否加上任何 rel=canonical
標記。你可以利用這些方式向 Google 告知你偏好的標準網頁,但 Google 仍可能基於各種原因選擇其他網頁。
一個網頁的不同語言版本只有在主要內容都是同一種語言時,才會視為重複網頁。也就是說,如果網頁只有標頭、註腳和其他次要文字經過翻譯,但主體部分仍是同一種語言,就會視為重複網頁。
Google 在評估網頁的內容和品質時,會以標準網頁為主要依據。Google 搜尋結果通常會指向標準網頁,除非有某個重複網頁更明確符合使用者的需要。舉例來說,當使用者透過行動裝置進行搜尋時,即使標準網頁是電腦版網頁,搜尋結果仍有可能指向行動版網頁。
出現相似或重複網頁的原因
有許多合理因素可能造成你的網站出現不同的網址指向同一個網頁,或是內容重複或非常相似的網頁位於不同的網址。最常見的原因如下:
- 為了支援多種裝置類型:
https://example.com/news/koala-rampage https://m.example.com/news/koala-rampage https://amp.example.com/news/koala-rampage
- 為了支援排序或篩選參數或工作階段 ID 等元素而採用動態網址:
https://www.example.com/products?category=dresses&color=green https://example.com/dresses/cocktail?gclid=ABCD https://www.example.com/dresses/green/greendress.html
- 同一篇文章置於網誌的不同版面底下時,系統會自動儲存多個網址:
https://blog.example.com/dresses/green-dresses-are-awesome/ https://blog.example.com/green-things/green-dresses-are-awesome/
-
伺服器經過設定,會針對 www/非 www、http/https 和通訊協定通訊埠變化版本的網址提供相同內容:
https://example.com/green-dresses https://example.com/green-dresses https://www.example.com/green-dresses https://example.com:80/green-dresses https://example.com:443/green-dresses
- 從你的網誌聯合發布到其他網域中網站的內容,與原始內容相比有部分或完全重複的情況:
https://news.example.com/green-dresses-for-every-day-155672.html
(聯合發布文章)https://blog.example.com/dresses/green-dresses-are-awesome/3245/
(原始文章)
選擇標準網址的原因
基於以下原因,我們建議你在一系列重複或相似的網頁中明確選擇一個標準網頁:
-
為了指定要顯示在搜尋結果中的網址。例如,你可能想讓使用者透過
https://www.example.com/dresses/green/greendress.html
進入綠色洋裝商品網頁,而非https://example.com/dresses/cocktail?gclid=ABCD
。 -
為了整合相似或重複網頁的連結信號。這可協助搜尋引擎將個別網址的資訊 (例如造訪連結) 整合成你偏好的單一網址。不過,這也表示從其他網站連至
https://example.com/dresses/cocktail?gclid=ABCD
的連結,會與連至https://www.example.com/dresses/green/greendress.html
的連結整合。 - 為了簡化單一產品或主題的追蹤指標。如果使用多個不同的網址,會難以針對某項特定內容取得整合性指標。
- 為了管理聯合發布內容。如果你以聯合發布方式在其他網域發布內容,建議確保搜尋結果中顯示的是你偏好的網址。
- 為了避免耗時檢索重複網頁。你會希望 Googlebot 在檢索你的網站時發揮最佳效能,盡量把時間花在檢索最新網頁或有更新內容的網頁,而不要檢索同一網頁的不同版本,例如電腦版和行動版。
判斷 Google 認定的標準網頁
你可以使用網址檢查工具來判斷 Google 認定的標準網頁。即使你已明確指定標準網頁,Google 仍可能基於各種原因 (例如成效或內容) 而選擇以另一個網頁做為標準網頁。
指定標準網頁
如要為重複網址或相似網頁指定標準網址,請選擇下列其中一種方法,我們鼓勵你採用下列方法,但是以下均非必要操作。如果你並未指定標準網址,Google 將自行指定一個我們認為最適合的版本或網址。並且務必遵循一般指南。
方法和說明 | |||
---|---|---|---|
rel=canonical <link> 標記 |
在所有重複網頁的程式碼中加入
|
||
rel=canonical HTTP 標頭 |
在網頁回應中傳送
|
||
Sitemap |
在 Sitemap 指定標準網頁。
|
||
301 重新導向 |
使用 301 重新導向告知 Googlebot,重新導向的網址是優於指定網址的版本。只有在要淘汰重複的網頁時,才適用這個方法。 |
||
AMP 版本 | 如果其中一個網頁版本是 AMP 網頁,請按照 AMP 指南的說明,指出標準網頁和 AMP 版本。 |
一般指南
所有標準化方法均適用以下一般指南:
- 請勿將 robots.txt 檔案用於標準化。
- 請勿使用網址移除工具執行標準化,以免系統從搜尋結果中隱藏同一網址的「所有」版本。
- 無論採用單一或多種標準化做法,請勿為相同網頁指定不同的標準網址。舉例來說,請勿在 Sitemap 中為網頁指定一個網址,卻又使用
rel="canonical"
為同樣的網頁指定另一個網址。 - 請勿使用
noindex
將網頁排除在標準網頁的選擇範圍之外。這項規則的用途是禁止網頁編入索引,而不是用來管理標準網頁的選項。 -
使用 hreflang 標記時,請指定同一種語言的標準網頁,如果沒有的話,則可指定最佳替代語言的標準網頁。
-
與網站內部的網頁建立連結時,請連結至標準網址,而非重複網址。如果能一致地連結至你認定的標準網址,有助於 Google 瞭解你的偏好。
使用 HTTPS 網址 (而非 HTTP 網址) 做為標準網址
認定網頁的標準網址時,Google 偏好 HTTPS 網頁而非 HTTP 網頁,除非有下列問題或衝突情形:
- HTTPS 網頁含有無效的安全資料傳輸層 (SSL) 憑證。
- HTTPS 網頁含有不安全的相依關係 (圖片除外)。
- HTTPS 網頁會將使用者重新導向 HTTP 網頁,或透過 HTTP 網頁重新導向使用者。
- HTTPS 網頁中含有指向 HTTP 網頁的
rel="canonical"
link
。
根據預設,我們的系統偏好 HTTPS 網頁勝於 HTTP 網頁,不過你仍可採取下列任一做法,確保這種行為不會遭到覆寫:
- 新增重新導向,從 HTTP 網頁指向 HTTPS 網頁。
- 新增
rel="canonical"
link
,從 HTTP 網頁指向 HTTPS 網頁。 - 導入 HTTP 嚴格傳輸安全性機制。
請勿採用下列做法,以免 Google 誤將 HTTP 網頁當成標準網頁:
- 使用無效的傳輸層安全標準 (TLS)/安全資料傳輸層 (SSL) 憑證,以及 HTTPS 至 HTTP 重新導向。原因是這些做法很有可能造成 Google 偏好 HTTP 網頁,即使導入 HTTP 嚴格傳輸安全性機制也無法覆寫這項偏好設定。
- 在 Sitemap 或 hreflang 項目中加入 HTTP 網頁,而不是 HTTPS 版本。
- 採用誤植主機名稱版本的安全資料傳輸層 (SSL)/傳輸層安全標準 (TLS) 憑證,例如在 example.com 提供 www.example.com 的憑證。請務必採用與完整網站網址相符的憑證,或是可供單一網域中多個子網域使用的萬用憑證。
使用 rel="canonical"
link
標記
rel=”canonical” 連結標記 (標準標記) 是 HTML 標頭部分使用的標記,表示該網頁與其他網頁重疊。你可以在 HTML 的 head
區段中使用 <link>
標記,指出該網頁與其他網頁重複。
假設有多個網址都能存取相同的內容,而您想將其中的 https://example.com/dresses/green-dresses
指定為標準網址,請按照下列步驟操作:
-
為所有重複網頁加上
rel="canonical"
link 標記。在重複網頁的
<head>
區段中加入包含rel="canonical"
屬性的<
元素,指向標準網頁。例如:link
><link rel="canonical" href="https://example.com/dresses/green-dresses" />
-
如果標準網頁有行動版本,請加入指向行動版網頁的
rel="alternate"
link
:<link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.example.com/dresses/green-dresses">
- 為網頁加上 hreflang 或其他適當的重新導向。
搭配 rel="canonical"
link
標記時請採用絕對路徑,不要使用相對路徑。
良好示例:
https://www.example.com/dresses/green/greendress.html
錯誤示例:
/dresses/green/greendress.html
如果您使用 JavaScript 新增 rel="canonical"
連結標記,請務必正確插入標準連結標記。
使用 rel="canonical"
HTTP 標頭
如果你能設定伺服器,就可以使用 rel="canonical"
HTTP 標頭 (而非 HTML 標記),為 Google 搜尋支援的文件 (包括 PDF 檔案等非 HTML 文件) 指定標準網址。
Google 目前僅針對網頁搜尋結果支援這個方法。
若你透過多個網址提供 PDF 檔案,可以傳回 rel="canonical"
HTTP 標頭,將 PDF 檔案的標準網址告知 Googlebot:
Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical"
rel="canonical"
HTTP 標頭的使用建議與 rel="canonical"
link
標記的建議相同。根據 RFC2616 的規定,請你只在 rel="canonical"
HTTP 標頭中使用雙引號。
使用 Sitemap
你可以為每個網頁挑選一個標準網址,然後透過 Sitemap 提交。Sitemap 中列出的所有網頁都代表你建議的標準網頁,Google 會根據內容相似度判斷是否有重複的網頁,以及哪些網頁發生重複。
我們「不保證」一定會將 Sitemap 中的網址視為標準網址,但 Sitemap 是為大型網站定義標準網址的簡易方法,也很適合用來告知 Google 你認為網站上的哪些網頁最重要。
請勿在 Sitemap 中加入非標準網頁。如果你使用了 Sitemap,其中只能指定標準網址。
針對已停用的網址使用 301
重新導向
如果你要淘汰現有的重複網頁,但必須確保在舊網址失效前能順利進行轉換,請採用這個方法。
如果使用者可以透過多種方式進入你的網頁:
https://example.com/home
https://home.example.com
https://www.example.com
請選擇其中一個網址做為標準網址,然後使用 301
重新導向將其他網址的流量傳送到你偏好的網址。使用伺服器端 301
重新導向,是確保使用者和搜尋引擎都能導向正確網頁的最佳方式,301
狀態碼表示網頁已永久遷移至新的位置。
如果你是在使用代管服務的網站上,請搜尋如何設定 301
重新導向的相關說明文件。
疑難排解
當標準網址不在你擁有的資源中時,你將無法查看相關重複網頁的流量。以下這些常見原因可能導致系統將另一個資源中的網頁視為標準網址:
- 語言版本標示錯誤:如果你有多個網站分別針對世界各地的使用者提供大致相同的本地化內容,請務必遵守我們對本地化網站的規範。
- 不當使用標準標記:有些內容管理系統 (CMS) 或 CMS 外掛程式在執行標準化時可能出錯,誤將外部網站的網址設為標準網址。請檢查你的內容,看看是否發生這種情形。如果網站誤用
rel="canonical"
或301
重新導向,因而指定了不符合你偏好的標準網址,請直接修正問題。 - 伺服器設定錯誤:某些代管設定錯誤可能會導致演算法選擇非預期的跨網域網址。例如:
- 伺服器可能設定錯誤,例如針對 a.com 上的網址要求傳回 b.com 的內容
- 兩個不相關的網路伺服器可能會傳回相同的
soft 404
網頁,但 Google 無法識別這些錯誤網頁。
- 遭到駭客惡意入侵:有些攻擊方式是在網站植入傳回 HTTP 301 重新導向的程式碼,或是在 HTML
<head>
或 HTTP 標頭中插入跨網域的rel="canonical"
link 標記。此類程式碼和標記通常會指向代管惡意內容或垃圾資訊的網址,在這些情況下,我們的演算法可能會選擇惡意網址或垃圾資訊網址,而非遭入侵網站上的網址。 - 涉及抄襲的網站:在少數情況下,我們的演算法會選取外部網站的網址,這是因為該網站未經授權即發布你的內容所致。如果你認為其他網站複製你內容的方式違反了著作權法,請與該網站的負責人聯絡,要求對方移除涉及侵權的內容。此外,你也可以根據《數位千禧年著作權法》(DMCA) 提出申訴,請 Google 從搜尋結果中移除侵權網頁。