(原文同時刊載於 Web Analytics 101 社群官方網站中)

對搜尋引擎來說,不同網址就是不同網頁,所以身為多國多語系網站經營者的你,不知是否遇過,明明是在英國搜尋,Google 搜尋結果頁上卻總是顯示美國網址;或是在站長工具(Webmaster Tool / Search Console)裡面,比利時-荷蘭語的網頁,總是被認定是荷蘭-荷蘭語網頁的重複網頁?這一切都顯示了,你沒有讓搜尋引擎了解你的網站是多國多語系。

多國多語系宣告

網頁宣告語言其實有很多方法,像是直接在 <html> tag 後面加 lang 屬性宣告如:

<html lang = “zh”>

也可以在站長工具(Webmaster Tool / Search Console)裡面設定網站國家如下圖:

 

Search Console 指定國際目標

但是做了以上這些宣告,都沒有辦法將各國各語系,但是同樣內容的網頁關聯起來,這時候,我們就需要宣告 hreflang。

什麼是 hreflang?

hreflang 是一種寫在 <head> 裡的語言註解,主要是在告訴 sipder 當前網頁適用的語言與國家,以及其他語言國家適用的替代網址,比如說,我在 http://a.com/en/about.html 這一頁,可能會做以下宣告:

<link rel=”alternate” href=”http://a.com/en-ie/about.html” hreflang=”en-ie” />
<link rel=”alternate” href=”http://a.com/en-ca/about.html” hreflang=”en-ca” />
<link rel=”alternate” href=”http://a.com/about.html” hreflang=”x-default” />
<link rel=”alternate” href=”http://a.com/en/about.html” hreflang=”en” />

hreflang 有三種主要的宣告方式:「語言-國家」、「語言」、「x-default」。x-default 表示該頁面會根據使用者的國家語系做自動轉址,或是頁面上有語言選項。所以上面的宣告告訴搜尋引擎,這一頁有四種語言版本,德國的德語版、加拿大的英語版、會自動轉址的版本、以及不限國家都通用的英文版(所以以目的宣告來說,除了加拿大的英語之外,其他的英語搜尋都會導到 http://a.com/en/about.html 去)。

hreflang 怎麼做

在開始宣告 hreflang 之前,最複雜就是你要決定宣告的內容,所以你要先製作下面這張表格:

 

hreflang 操作表

請注意,語言代碼請按照 ISO 639-1 的格式,國家代碼則是依照 ISO 3166-1 的兩碼代碼。如果國家語系不多,就可以請你的工程師照著對照表的規則寫到每一頁的 <head> 裡即可。如果你真的不太知道該怎麼對,也許你會需要 hreflang 標籤產生器(英文)。

或者,如果國家語系太多,你可以用 sitemap 的方式導入。

HREFLANG 常見錯誤

雖然說 hreflang 若有錯誤, Google Search Console 會收到報告,但是我們還是希望可以一次就把事情做對。在接觸網頁外包公司的過程中,我還沒有遇過一次就把 hreflang 就做對的廠商,整理一下常見錯誤給大家參考:

  1. 請務必宣告網頁本身:這是我最常遇到的錯誤,但其實在 Google Search Console 的 hreflang 官方說明文件就有提到:

如果您的網址有多種語言版本,您必須為每種語言的網頁標示出所有語言的版本(包括本身的語言版本)。

  1. 不是首頁宣告就好:hreflang 是頁面層級的優化,所以盡可能每一頁都宣告 hreflang。
  2. 正確使用國家語系宣告:確實依照對照表製表,不要相信直覺。

參考資料