hreflang 設定實測:多語系網站換到多少點擊

重點摘要

hreflang 是告訴 Google「這幾頁是同一份內容的不同語言版本」的標記,每個版本都要列出自己和其他所有版本、而且要互相指回,少一邊就被忽略。它只負責把對的語言版本送到對的人面前,不會幫你變出客人:我們看過一個宣告 13 種語言的網站,海外曝光 9,000 多次只換到約 45 次點擊。

hreflang 的設定規則只有幾條:每個語言版本列出自己和所有其他版本、網址寫完整、兩頁互相指回、語言碼照 ISO 標準寫,再加一個給其他語言的 x-default。真正難的是設定以外的事:翻譯有沒有真的做、海外曝光是不是你的客人、語言切換按鈕點不點得過去,這幾件事,我們在看別人的多語網站、以及 2026 年 9 月把自己官網做成六個語系時都實際碰過。

hreflang 是什麼?它管什麼、不管什麼

hreflang 是寫在網頁 head、HTTP 標頭或 sitemap 裡的標記,用來告訴 Google 同一份內容有哪些語言或地區版本,讓搜尋結果把繁中頁給台灣人、英文頁給英語使用者。它不負責判斷你的網頁是什麼語言:Google 官方寫明,判斷語言靠的是頁面上看得到的內容,不看 lang 屬性也不看 hreflang。所以翻譯沒做、只換標記,Google 照樣看得出來。

Google 在多語系版本說明裡的原文是「Google doesn't use hreflang or the HTML lang attribute to detect the language」,另一份多地區網站管理說明也寫「Google uses the visible content of your page to determine its language.」。兩句放在一起看,hreflang 的角色就很清楚:它是「版本之間的對照表」,不是「語言的身分證」。

hreflang 管的事 hreflang 不管的事
告訴 Google 哪幾頁是同一份內容的不同語言或地區版本 判斷一頁是什麼語言(Google 看頁面上的字)
讓搜尋結果把對的語言版本給對的人 幫你把內容翻譯好
用 x-default 指定「其他語言的人」該看哪一頁 讓沒人搜的語言突然有人搜
標出同一語言的不同地區,例如 en-GB 與 en-US 讓只翻了選單、正文沒翻的頁面變成新內容

最後一列有官方依據:同一份說明寫到,在地化版本「only considered duplicates if the main content of the page remains untranslated」,也就是主要內容沒翻譯的話,才會被當成重複。反過來說,只翻頁首頁尾、正文還是原文的頁面,多語化等於沒做。

hreflang 設定的官方規則:哪幾條寫錯就失效

hreflang 有三種寫法:HTML 的 link 標籤、HTTP 標頭、sitemap,Google 原文說「The three methods are equivalent from Google's perspective」,挑一種最好維護的就好,三種一起用沒有額外好處。不管用哪一種,這幾條寫錯就會不符合官方寫法,甚至整組被忽略。

規則 官方怎麼寫 寫錯會怎樣
列出自己+所有其他版本 「Each language version must list itself as well as all other language versions.」 不符合官方寫法,對照表不完整
兩頁要互相指回 「If two pages don't both point to each other, the tags will be ignored.」 官方寫明這組會被忽略
網址要寫完整 要含 https,不能寫 //example.com/foo 或 /foo 相對路徑不符合官方格式
語言碼照 ISO 639-1,地區碼照 ISO 3166-1 Alpha 2 不在標準裡的碼不支援,官方舉的例子是 es-419 官方寫明不支援
不能只寫國家碼 開頭那段一定是語言碼,Google 不會從國家碼推語言 例如只寫 TW 無效,要寫 zh-TW
繁簡中文可以標文字系統 可用 ISO 15924 的 zh-Hant、zh-Hans;寫 zh-TW 時會自動推成繁體 兩種寫法都合法
準備一個 x-default 給語言設定對不上任何版本的人看的備用頁,官方是「recommended」 沒寫不會讓整組失效,只是其他語言的人看到哪一版由 Google 決定

用 HTML 標籤時,每個語言版本的 head 裡都要放同一組完整清單。以我們官網的文章頁為例,六個語系加一個 x-default,一共 7 行(網域換成 example.com):

<link rel="alternate" hreflang="zh-Hant" href="https://example.com/blog/post/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/blog/post/" />
<link rel="alternate" hreflang="zh-Hans" href="https://example.com/zh-cn/blog/post/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/blog/post/" />
<link rel="alternate" hreflang="pt" href="https://example.com/pt/blog/post/" />
<link rel="alternate" hreflang="bn" href="https://example.com/bn/blog/post/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/blog/post/" />

這 7 行在繁中頁、英文頁、西語頁裡都要一模一樣,因為「列出自己」跟「互相指回」兩條規則,靠的就是每一頁都拿著同一份完整清單。

互相指回:生效 繁中頁 列出: 繁中、英文 英文頁 列出: 繁中、英文 只有單邊:這組被忽略 繁中頁 列出: 繁中、英文 英文頁 列出: 只有英文
示意圖:hreflang 要兩頁互相列出對方才生效,只有單邊指過去的那組會被 Google 忽略

實測數據:多語化換到什麼、踩到什麼

我們自己做六語化、以及看別人的多語網站時,記下了這些數字。標「1 個網站」的是單一樣本,只能當案例看,不是通則。

項目 做法 結果 條件、日期、樣本數
13 語網站的海外曝光 宣告 13 種語言的 hreflang 海外曝光 9,000 多次,只換到約 45 次點擊;台灣 1,158 次曝光、4 次點擊 某澳洲外賣餐廳網站,2026-09-15 看 Search Console,1 個網站
同一站各語言首頁的字數 逐頁數中文字 各語言首頁的中文字數全都是 44,翻譯沒做 同上
同一站的真客群頁面 155 個產品頁,一道菜一頁 半年 1,575 次點擊、32,640 次曝光,點擊率 4.8% 同上,半年資料
我們官網六語化 19 篇文章 × 6 種語言 114 頁上線,每篇 7 組 hreflang,sitemap 228 個網址 2026-09-17
我們官網的曝光組成 按國別與查詢拆開看 三分之一曝光來自一個西班牙語詞,跟我們的服務對不上 2026-09-16
外語標題寬度 用搜尋結果標題的像素尺量 英、西、葡、孟四語原稿 670~715px,超過 648px 必被截的線 2026-09-18
並行翻譯 多個翻譯代理同時跑 西語版被還原掉 /es 前綴,19 個內部連結指回繁中版 2026-09-17
語言切換按鈕 切換白名單 漏了十支服務頁,點英文被丟到英文首頁;修前先實測 10 × 6=60 頁全部回 200 2026-09-17
重用版面的 link 標籤 從別頁抽標籤來用 六個語系的關於頁,每頁都有兩個 canonical 2026-09-17
連結守門 三個站同一天檢查 分別有 3、49、137 頁連到不存在或會被轉走的網址 2026-09-24,3 個網站

多語系網站會帶來海外客人嗎?13 語只換到約 45 次點擊

多語系網站帶來的是海外曝光,不一定是海外客人。我們看過一個澳洲外賣餐廳的網站,宣告了 13 種語言的 hreflang,海外曝光 9,000 多次,只換到約 45 次點擊,其中台灣 1,158 次曝光只有 4 次點擊,等於大約每 290 次曝光才有 1 次點擊。更關鍵的是,就算有人點了,人在台灣也不可能去澳洲那家店吃飯。

這個案例還有第二層問題:我們逐頁數過,各語言版本首頁的中文字數全都是 44 個字,代表翻譯根本沒做,只是掛了 13 組標記。對照 Google 的說法,主要內容沒翻譯的在地化版本會被當成重複內容;只翻選單與頁尾、正文照舊,官方也寫了會造成不好的使用體驗。標記宣告了 13 種語言,網頁本身只有一種。

同一個網站真正賺到點擊的,是另一種做法:155 個產品頁,一道菜一頁,半年拿到 1,575 次點擊、32,640 次曝光,點擊率 4.8%。這些點擊來自真的會去店裡的當地人,用的是當地人的語言。兩組數字擺在一起,結論很直接:多國語言網站的價值,要看那個語言的人買不買得到你的東西,不是看多了幾個國家的曝光。

這個判斷只來自 1 個網站,我們不把它講成「多語都沒用」。它說明的是一件事:hreflang 做得再對,也只能把對的語言版本送到對的人面前,前提是那個人本來就是你的客人。

國際SEO 先問:海外曝光是不是你的客人

判斷多語頁有沒有價值,要按國家和查詢拆開看點擊率,不要看全站總曝光。我們自己的官網就踩過:2026 年 9 月 16 日拆開 Search Console 資料,三分之一的曝光來自一個西班牙語詞,而那個詞跟我們的服務對不上。如果只看總曝光,會以為西語版很成功;拆開才知道那是一群不會變成客戶的人。

做國際SEO 之前,可以照這個順序檢查一次:

  1. 在 Search Console 成效報表選「國家」,把各國的曝光與點擊並排。
  2. 點進曝光最多的國家,再看「查詢」,找出曝光最多的那幾個詞。
  3. 逐一問:搜這個詞的人,會買你的服務嗎?會的話,那頁有沒有接住他(點擊率多少)?
  4. 不會的話,那些曝光只是讓平均數字變好看,不必為它多做翻譯。

查詢與頁面要交叉看這件事,在關鍵字自食的開刀紀錄裡有完整做法,一詞一頁的分工邏輯在多語網站上一樣適用:同一個語言裡,一個問題只該有一頁在接。

我們把官網做成六個語系的流程

2026 年 9 月 17 日,我們把官網部落格 19 篇文章做成 6 種語言,一共 114 頁上線,每篇帶 7 組 hreflang(6 個語系加 1 個 x-default),sitemap 裡有 228 個網址。這個規模手動維護一定會漏,所以整個流程是用程式串起來的,每一關沒過就不往下走。

簡體中文我們不用大型語言模型翻,而是用開源的 OpenCC 做繁轉簡,再加一份兩岸用語對照表。繁簡轉換本質上是字與詞的對照,用規則轉,每次結果都一樣,可以逐字比對,不會出現模型自己改寫內容的情況。英文、西班牙文、葡萄牙文、孟加拉文則交給翻譯代理,譯完一律過結構守門。

一篇中文原稿變成六個語系要過的關卡

  1. 原稿定稿中文版先改到不再動,原稿加一段,其他語系都要同步加
  2. 翻譯與轉換簡中用規則轉換加用語對照,其他語言交給翻譯
  3. 結構守門小標數量、標題層級順序、價格字串次數,要跟原稿完全一樣
  4. 連結守門每個內部連結都要帶對自己語系的前綴,不能指回中文版
  5. 標記與實點hreflang 每頁 7 組互相指回,再用真人方式點一次語言切換
示意圖:一篇中文原稿從定稿、翻譯、兩道守門到 hreflang 與語言切換實測的流程

結構守門檢查三件事:譯稿的小標數量、標題層級的順序、價格字串出現的次數,都必須跟原稿完全一致。原稿多加一段中文,其他語系就要同步加,不然守門擋下。價格字串列進來,是因為翻譯最容易在數字上出錯,少一個價格、多一個零,讀者看到的就是錯的報價。

外語標題另外要量寬度。我們用同一把搜尋結果標題的像素尺量,英、西、葡、孟四種語言的原稿標題落在 670~715px,全部超過 648px 這條必被截斷的線;中文標題 26 個字以內通常安全,翻成拼音文字後長度會膨脹。標題被截之後,Google 可能挑中間一段顯示,主關鍵字反而不見,所以每個語系的標題都要各自重寫到線內。

踩過的坑:現象、原因、怎麼修

坑一:並行翻譯互相覆寫,西語內鏈指回繁中版

現象:西語版文章上線後,19 個內部連結點下去都回到繁中版,讀者讀著讀著就換了語言。原因:我們同時開了多個翻譯代理處理不同語系,其中一個把已經完成的西語檔用舊版覆寫回去,舊版裡的連結沒有 /es 前綴。修法:翻譯守門另外檢查每一個內部連結的語系前綴,西語頁裡出現沒有 /es 的站內連結就擋部署。我們的建議是並行翻譯時,讓每個代理只寫自己負責的那個語系資料夾,從源頭減少互相覆寫。

坑二:hreflang 都對,真人點語言切換卻被丟到首頁

現象:在服務頁按「英文」,被帶到英文首頁,而不是那支服務頁的英文版;但 hreflang 標記全部正確,搜尋引擎那邊看不出問題。原因:語言切換按鈕靠一份「哪些頁有翻譯」的白名單決定要跳去哪,白名單漏了十支服務頁。修法:動手前先實測 10 支服務頁 × 6 個語系=60 頁全部回 200,確定目的地都存在,才把它們加進白名單;刻意用白名單、不用萬用比對,因為萬用比對列錯會把人送去 404。

這一條跟 Google 的建議一致:官方要網站放連到其他語言版本的連結讓使用者自己選,並寫明「don't redirect based on what you think the user's language may be」,不要依你猜的語言自動轉址。語言切換是給真人用的,hreflang 是給搜尋引擎看的,兩邊要分開驗。

坑三:抄版面連 canonical 一起抄,關於頁有兩個 canonical

現象:六個語系的關於頁,每一頁都有兩個 canonical,一個指自己、一個指聯絡頁;頁面看起來完全正常,上線後沒有人察覺。原因:建關於頁時從別頁抽 link 標籤來重用版面,canonical 和 hreflang 跟著一起被抄過來。修法:抽 link 標籤時只留字型、樣式表、小圖示這類版面用的,canonical 與 hreflang 一律由建站程式依當頁網址自己產生;建站程式驗寫出去的最終檔案,每頁 canonical 必須剛好 1 個而且指向自己。canonical 跟 sitemap、og:url、結構化資料要寫成同一種網址形式,細節在新站沒被索引的排查紀錄。

坑四:連結守門只認雙引號,漏查 hreflang 網址

現象:2026 年 9 月 24 日同一天,三個站分別查出 3、49、137 頁連到不存在或會被轉走的網址。原因:原本的檢查,有的根本沒查連結,有的只認雙引號包起來的網址,hreflang、og、JSON-LD 裡的網址都沒被掃到。修法:連結守門的範圍改成站內連結、canonical、hreflang、og、圖片、CSS、JS、JSON-LD 全部都查,指到不存在或會被轉走的網址就擋部署。多語站網址數量是單語站的好幾倍,壞網址回 200 的話還會浪費抓取額度,這點在 soft 404 那篇有寫。

坑五:外語標題比中文長,像素直接爆

現象:英、西、葡、孟四語的原稿標題量出來 670~715px,全部超過必被截斷的 648px。原因:中文一個字約 22px,翻成拼音文字後字數膨脹,同一個意思要多出好幾個詞。修法:每個語系的標題各自重寫,建站時用像素尺逐篇量,超過就擋;不要直接拿翻譯結果當標題。

要不要做多語系網站:先回答這四題

多語系網站不是加幾組 hreflang 就好,每多一個語系,維護量就多一份:原稿改一段,六個語系都要同步。動手之前,先用這四題判斷值不值得。

問題 答「是」 答「否」
你能服務那個語言的客人嗎(出貨、付款、客服) 可以做 曝光再多也接不住,先不要做
那個語言有沒有人搜你提供的服務 照搜尋需求挑頁面翻 只會換到不對版的曝光
主要內容能不能完整翻譯,而且有人看過 可以做 只翻樣板會被當重複內容
原稿改動時,有沒有流程讓其他語系同步 可以做 語系之間很快就會不一致

四題都答「是」再做。如果只是想讓網站「看起來國際化」,一個英文版的服務介紹頁通常就夠,不必一次開十幾種語言。多語言網站要不要做、做幾種,跟要寫哪些主題一樣,都是先看需求再動手;我們整理的 SEO 與 GEO 主題頁有其他技術面的檢查。

我們的方案:SEO 建置

我們官網的六個語系,就是用這篇寫的流程做出來的:規則轉換加翻譯、結構守門、連結語系前綴檢查、hreflang 互相指回、部署前逐項擋。你的網站要不要做多語、該做哪幾種語言,可以先從 Search Console 的國別與查詢資料看起,再決定要不要投入。

方案 費用 內容
建置 $900 USDT 站台架構、技術 SEO、初始內容
月維護 $400 USDT/月 內容產出、內鏈維護、索引監控

多語系依語言數另外報價,方案細節與其他服務的價格,在價格頁可以看到。

常見問題

hreflang 一定要加 x-default 嗎? 不一定,但建議加。Google 原文說 x-default 是「recommended」,用途是給語言設定對不上任何版本的人一個備用頁;沒寫不會讓整組失效,只是那些人看到哪一版就由 Google 決定。

只有繁體和簡體中文,也要設 hreflang 嗎? 要。繁中與簡中是兩個語言版本,可以寫 zh-Hant、zh-Hans(官方支援 ISO 15924 的文字系統寫法),也可以寫 zh-TW、zh-CN,寫 zh-TW 時 Google 會自動推成繁體;兩頁一樣要互相指回。

hreflang 寫在 HTML、HTTP 標頭還是 sitemap 比較好? 三種效果一樣,挑最好維護的一種。Google 說三種方法對它來說是等價的,三種同時用沒有好處,反而要管三份。靜態網站通常寫在 HTML 的 head 最直觀;HTTP 標頭適合 PDF 這類不是網頁的檔案。

語言切換可以依照訪客的瀏覽器語言自動轉址嗎? 不建議。Google 官方建議不要依照你猜的使用者語言自動轉到別的語言版本,因為這樣使用者和搜尋引擎都可能看不到其他版本;改成在頁面上放連到其他語言版本的連結,讓人自己選。

用機器翻譯做多國語言網站可以嗎? 可以,但主要內容要真的翻完,而且要有人或程式把關。Google 寫明主要內容沒翻譯的在地化版本會被當成重複;我們的做法是簡中用規則轉換、其他語言翻譯後一律過結構守門,小標數量、標題順序、價格字串次數跟原稿不一致就不准上線。

這類問題,我們天天在解

把你的情境描述給我們,直接告訴你做不做得到、大概多少錢。

用 Telegram 聊需求
評估與報價不收費 · 回覆你的是工程師本人
TG 聊需求