網站架設SEO維護

公司網站要不要做英文版?三種做法與各自的代價

約 8 分鐘

「我們想加個英文版,大概多少錢?」這個問題我接到的時候,通常對方已經決定要做了,只是在比價。但英文版真正的成本不在建置那一次,而在之後每一次改動都變成兩次。報價單換了、服務項目調整了、地址搬了,中文版改完,英文版留在原地,半年後變成一份自己都不敢給客戶看的頁面。這篇先談該不該做,再談三種做法各自要付什麼代價,最後講搜尋引擎怎麼理解同一頁的兩個語言,以及我自己踩過的錯。

1. 先判斷該不該做

多數台灣中小企業不需要英文版。這句話對一個做網站的人來說不太好賺,但先講清楚比較省事。語言不是加分項,它是一份要長期維護的資產,而維護成本跟你有沒有英文客戶無關,它只跟你改了幾次網站有關。

判斷的方式不是問「有沒有可能」,而是問「現在有沒有」。你的信箱裡有沒有英文來信?業務有沒有拿著中文網站跟國外客戶開過會?產品有沒有實際出口?這三題都是否,那英文版現在要解決的是一個還不存在的問題。

反過來說,有幾種情況做了會立刻有用。接國外遠端專案的、產品在跨境平台賣的、要申請國外認證或參展的、客戶是台灣的外商分公司的,這些情境裡英文版不是門面,是對方要讀的東西。

還有一個折衷的做法很少被提到:先做一頁。一頁英文的公司簡介,寫清楚你做什麼、服務哪些地區、怎麼聯絡,放在一個固定網址上。它維護成本極低,而在上面那幾種情境裡,九成的需求是它就夠了。等到你發現這一頁的流量開始來自特定國家,再談要不要擴成整站。

2. 三種做法,三種代價

決定要做之後,實務上只有三條路。它們的差別不在難度,在於「誰負責保持兩邊一致」這件事落在哪裡。

做法拿到什麼要付什麼代價
瀏覽器或外掛自動翻譯零成本,訪客按一下就看到英文沒有獨立網址,搜尋引擎拿不到英文內容,等於只服務已經找到你的人
翻譯外掛(WPML、Polylang 這類)每個語言有自己的網址,搜尋引擎讀得到,兩邊共用同一套版面每一次內容改動都要進兩次後台,外掛本身也要跟著更新與付費
兩套獨立網站兩邊的內容、版面與結構可以完全不同,各自針對市場調整最容易漂移,實務上常見的結局是其中一套停在兩年前

第一種經常被誤認為是「做了英文版」。按下翻譯鈕得到的英文只存在那一位訪客的瀏覽器裡,網址沒變,伺服器送出的也還是中文。搜尋引擎抓到的永遠是中文那一份,所以在英文搜尋結果裡,這個網站等於不存在。它解決的是已經找到你的人的閱讀問題,不是讓人找到你。

第二種是多數中小企業的合理選擇。重點是選完之後別兩套並存,兩個翻譯外掛同時啟用會輸出互相衝突的語言標記,而這種問題在畫面上完全看不出來。

第三種適合兩個市場的賣法真的不同的情況,例如國內靠型錄、國外靠規格書。代價是沒有任何機制幫你記得兩邊都要改,那件事得靠流程,而流程在小公司裡很容易斷。

3. 搜尋引擎怎麼知道這兩頁是同一份文件

兩個語言各有自己的網址之後,會出現一個新問題:對搜尋引擎來說,這是兩個不同的頁面,還是同一份文件的兩個版本?如果它判斷成兩個不同頁面,兩邊會互相競爭同一批關鍵字。如果它判斷成重複內容,其中一邊可能根本不被收錄。

解決這件事的機制叫 hreflang,中文可以理解成「語言對照標記」。它寫在每一頁的原始碼裡,作用是告訴搜尋引擎:這一頁是中文版,同一份內容的英文版在這個網址。Google 的多語言版本說明寫得很清楚,標記的目的是讓搜尋引擎把對應的語言版本拿給對應的使用者,不是用來提升排名。

有兩個細節最常被漏掉。第一是對照必須雙向:中文頁要指到英文頁,英文頁也要指回中文頁,而且每一頁還要指向自己。只有單向的指認,搜尋引擎不會採信,因為任何網站都可以宣稱自己是別人的翻譯版。第二是要指定一個預設版本,給語言不在你清單裡的人看,例如一位用德文瀏覽器的訪客,應該被帶到哪一邊。

  1. 01

    開中文頁,檢視原始碼

    在瀏覽器上按右鍵選檢視網頁原始碼,搜尋 hreflang。應該看到至少三行:指向自己、指向英文版、指向預設版本。

  2. 02

    開英文頁,做同一件事

    英文頁應該看到對稱的三行,而且指向中文版的那一行網址要跟你剛才那一頁完全相同,包含結尾有沒有斜線。

  3. 03

    確認語言宣告

    同一份原始碼最上方的 html 標籤,中文頁應該寫 zh-Hant,英文頁應該寫 en。這一項很常被漏掉,因為它不影響畫面。

這三步不需要任何工具,五分鐘可以做完。如果你的網站是外包的,這也是驗收英文版時最值得花的五分鐘。

4. 四個最常見的錯

下面這四個我都實際遇過,其中一個是在自己的網站上。

英文版上線前逐項確認

  • 整頁機器翻譯直接當內容。Google 的垃圾內容政策把未經審閱的自動翻譯列為會被處理的類型。機器翻譯當草稿沒問題,但要有人讀過一遍,尤其是服務名稱、價格單位與法律相關的句子。
  • 語言切換不改網址。用 cookie 或程式記住語言偏好,網址始終是同一個,那麼搜尋引擎永遠只拿得到預設語言。每個語言必須有自己可以被連結、可以被貼給別人的網址。
  • 只翻了一半,卻宣稱全站都有對照。翻譯外掛預設常常對全站輸出語言對照,但實際只有十頁翻完。那些指向不存在頁面的對照會被忽略,更麻煩的是你自己不知道哪些有、哪些沒有。
  • 英文頁掛著中文的語言標記。這一項發生在我自己站上。英文版的服務頁從模板繼承了寫死的語言宣告與中文公司名,所以每一頁都在告訴搜尋引擎「我是中文的」。畫面完全正常,要去讀原始碼才看得出來。

第四項值得多說一句。這類錯誤的共同特徵是它不會讓任何東西壞掉,所以不會有人回報,也不會出現在任何效能報告裡。它只是讓你對搜尋引擎說了一句不正確的話,然後安靜地生效好幾個月。要找出來的方式只有一個,就是定期自己讀一次輸出的原始碼。

5. 不必每一頁都翻

很多人把多語言想成全有或全無,於是卡在「文章那麼多翻不完」就一直沒開始。實務上部分翻譯是完全正常的狀態,只要處理得乾淨。

乾淨的意思是:有對應版本的頁面輸出語言對照,沒有的就不要輸出。一頁沒有翻譯版本,正確的訊號是它不參與任何語言對照,而不是指向一個不存在的網址。多數翻譯外掛可以設定成這樣,但預設值通常不是。

翻什麼的優先序也很清楚。先翻服務與聯絡方式,那是對方要拿來做決定的。接著翻能證明你會做事的少數幾篇內容。至於隱私權政策與服務條款這類法律文件,通常不翻反而正確,因為它們引用的是台灣的法規,翻成英文容易讓人誤以為適用於他自己的國家。

6. 英文頁不該背著中文的重量

最後一件事偏技術,但影響的是實際載入速度,而且幾乎所有雙語網站都會中。中文字型檔很大,因為它要裝幾千個字。英文頁面上沒有任何中文,卻經常還是把那個檔案整個下載下來。原因是版面設定裡的字型清單是全站共用的,瀏覽器看到清單第一個是中文字型,就去抓了。

我在自己的站上量過這一項。英文文章頁原本的傳輸量接近 390 KB,其中將近一半是那個中文字型檔。改成按語言指定字型之後降到 200 KB 左右,而畫面上看不出任何差別,因為那一頁本來就沒有中文要顯示。

這個問題在速度檢測報告裡不會被標成「語言設定錯誤」,它只會顯示成一個很大的字型檔。所以如果你的網站有英文版,又覺得英文頁莫名其妙地慢,這是第一個該看的地方。檢查方法是在瀏覽器的開發者工具裡看網路請求,確認英文頁有沒有在下載中文字型。

英文版的成敗不在翻譯品質,在於半年後它還跟中文版說著同一件事。所以決定之前先想清楚誰負責同步、多久檢查一次。如果這兩題答不出來,先做一頁英文的公司簡介,比做一個會過期的整站務實得多。

常見問題

直接用 Google 翻譯做英文版可以嗎?
當訪客的閱讀輔助可以,當網站內容不行。瀏覽器的翻譯只發生在那位訪客的畫面上,網址沒有變,搜尋引擎拿到的還是中文,所以在英文搜尋結果裡你等於沒有英文版。如果是把機器翻譯的結果存成正式頁面,Google 的垃圾內容政策把未經審閱的自動翻譯列為會被處理的類型。可行的做法是用機器翻譯產草稿,再由人讀過一遍,特別是服務名稱、價格幣別與法律相關的句子。
WPML 和 Polylang 該選哪一個?
規模不大、只做中英兩種語言的話,Polylang 的免費版通常就夠,它把每個語言處理成獨立的文章,概念單純。需要翻譯電商商品、表單、或大量外掛介面文字的話,WPML 的覆蓋範圍比較完整,代價是年費與較重的設定。真正要注意的是別兩套並存,兩個翻譯外掛同時啟用會輸出互相衝突的語言標記,而這在畫面上看不出來。
只翻首頁和服務頁,文章不翻,會不會有問題?
不會,部分翻譯是正常狀態。唯一要做對的是:有英文版的頁面才輸出語言對照,沒有的就不要輸出,否則你會指向一堆不存在的網址。另外把英文頁上的推薦閱讀過濾成只推有英文版的頁面,不然英文讀者會被帶進中文頁面然後直接離開。

延伸閱讀