
每個網頁最開頭的 <html> 標籤,都應該用 lang 屬性標示這頁是什麼語言。英文網站寫 lang="en" 很單純,中文網站卻常常卡住:要寫 zh-TW、zh-Hant,還是 zh-Hant-TW?
先看結論:台灣的繁體中文網站這樣寫
<html lang="zh-Hant-TW">寫成 lang="zh-TW" 或 lang="zh-Hant" 也都正確,瀏覽器都認得。三種寫法的差別在下面說明。
語言代碼怎麼組成?
lang 的值遵循國際標準(BCP 47),由幾段用連字號連接:
- 語言:
zh(中文)、en(英文)、ja(日文) - 文字(可省略):
Hant(繁體字)、Hans(簡體字) - 地區(可省略):
TW(台灣)、HK(香港)、CN(中國大陸)
所以:
zh-TW:台灣使用的中文(沒有明講字體,但一般都理解為繁體)zh-Hant:用繁體字寫的中文(沒有指定地區)zh-Hant-TW:台灣、繁體字的中文,資訊最完整
W3C(制定網頁標準的組織)建議中文網頁加上 Hant、Hans 標明繁簡,因為「字體」對閱讀的影響比「地區」大;再加上 TW 則能表達台灣用語(例如「軟體」而不是「軟件」)。
lang 屬性會影響什麼?
- 瀏覽器選字型:同一個漢字在繁體、簡體、日文的字型寫法不同,標示正確才會用對字型。
- 螢幕報讀軟體:視障者使用的報讀軟體會依
lang選擇發音。 - 瀏覽器翻譯:Chrome 等瀏覽器會依
lang判斷要不要提示翻譯。
至於 Google,官方說明判斷網頁語言時是看頁面上看得到的內容,不依賴 lang 屬性。所以 lang 寫對主要是為了使用者與瀏覽器,但它是基本功,每個網頁都應該要有。
常見的錯誤寫法
lang="tw":tw是非洲契維語的代碼,不是台灣。lang="zh_TW":底線是程式語言裡的寫法,網頁要用連字號zh-TW。lang="cn"、lang="ch":都不是中文的語言代碼,中文是zh。- 整個網站只在首頁寫
lang:每一頁的<html>都要有。
大小寫則沒有影響,zh-tw 和 zh-TW 是一樣的,只是習慣上地區用大寫。
有多語言版本時:hreflang
如果網站同一份內容有不同語言或地區的版本(例如台灣繁體版、香港版、英文版),要用 hreflang 告訴搜尋引擎「這幾頁是彼此的翻譯版本」,讓各地的使用者在搜尋結果看到對應語言的那一頁。
在每個版本的 <head> 裡,列出所有版本(包含自己):
<link rel="alternate" hreflang="zh-TW" href="https://example.com/tw/" />
<link rel="alternate" hreflang="zh-HK" href="https://example.com/hk/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />hreflang 的幾個規則:
- 用「語言-地區」的格式,地區是國家代碼,例如
zh-TW、zh-HK、zh-CN、en-US;只有語言也可以,例如en。 - 互相對應:台灣版列了香港版,香港版也要列回台灣版,不然 Google 可能會忽略。
- 包含自己:每一頁都要列出自己那一行。
- 網址要寫完整,包含
https://。 x-default:沒有對應語言時要顯示的預設頁,通常是語言選擇頁或主要版本。
只有一種語言的網站不需要 hreflang,把 <html lang> 寫對就夠了。
WordPress 網站怎麼改?
WordPress 的 lang 是依照後台「設定 → 一般 → 網站介面語言」自動產生的,選「中文(台灣)」會輸出 zh-TW。多語言網站建議用 WPML、Polylang 這類多語外掛,它們會自動產生 hreflang。
延伸閱讀
語言標示、結構化資料這些看不到的細節,是 SEO 的基本功。想要一個基本功打好的網站,歡迎參考正威網路行銷的基隆網頁設計服務;多語網站的需求也歡迎來聊聊。







發表留言
還沒有人留言,歡迎第一個分享你的想法或問題。留言經審核後才會顯示,Email 不會公開。