Wordpress

WordPress多語系外掛怎麼選?Polylang 與 WPML 差異一次看

多數人以為做 WordPress 多語系官網,第一件事是在 Polylang 和 WPML 兩套外掛之間選一個,其實外掛的選擇是排在後面的執行細節。真正決定一個多語系網站往後好不好維護、Google 認不認得出兩個語言版本的,是網址怎麼分、hreflang 怎麼標、切換器在沒有翻譯的頁面上要怎麼處理。這幾個決定一旦下錯,不管後來用哪套外掛都要重來一次。

常見的狀況是,團隊先裝了外掛、把首頁翻成英文版就上線,幾個月後才發現英文版排名一直上不去,搜尋結果甚至把中文版和英文版當成同一份內容在互相競爭,問題不在翻譯品質,而在最初沒把網址結構和 hreflang 這兩件事想清楚。WordPress 多語系指的是同一個網站同時提供兩種語言版本、讓使用者與搜尋引擎都能各自完整瀏覽,而不是靠機器在前台即時轉譯文字表面。要做到這件事,市面上最常被拿來比較的兩套外掛分別是 PolylangWPML。Polylang 核心免費,直接沿用 WordPress 內建的分類法儲存語言資訊,多數形象官網用免費版就能架起多語系;WPML 則沒有免費版,一開始就是訂閱制,把自動翻譯引擎、WooCommerce 整合、多人協作管理都內建在同一套系統裡。選錯的代價不只是重灌外掛這麼簡單,兩套外掛的網址結構預設不同,真的要換,舊連結與辛苦累積的排名都可能跟著斷掉。

先把網址結構、hreflang 這些真正決定成敗的基礎講清楚,再回頭看兩套外掛各自把這些基礎做到什麼程度。

一套 WordPress 產出中文版與英文版兩個各自完整的語言版本,兩者用 hreflang 互相標記,讓 Google 辨識為對應的兩份內容
WordPress多語系的本質是一套網站掛出兩個語言版本,靠 hreflang 讓 Google 不把它們當成重複內容。

翻譯前,網址結構與 hreflang 要先講清楚

架站的人習慣把多語系官網想成一件翻譯工程,先想的是文字誰來翻、要不要花錢請人校稿。但 Google 如何辨認同一份內容的不同語言版本,是一件比翻譯更早該定案的事,網址怎麼切分語言、每個語言版本之間怎麼互相標記、切換器遇到還沒翻好的頁面要怎麼處理,這三個決定會直接影響多語系站在搜尋結果裡站不站得住腳。

這幾個決定跟最後選 Polylang 還是 WPML 沒有直接關係,兩套外掛都是把這些機制包成後台設定,而不是重新發明一套規則。把網址結構、hreflang 和翻譯來源這幾件事先想清楚,不管後面裝哪一套外掛,都不會因為基礎沒打好而走回頭路。

子目錄、子網域與獨立網域的 SEO 取捨

Google 官方的多地區網站處理指南列出幾種常見的網址結構做法,多語系站多半在裡面二選一。第一種是掛在子目錄下,像 example.com/en/這樣,同一個網域底下用資料夾區分語言;第二種是子網域,像 en.example.com;第三種是換一個國別或地區的獨立網域,像把 example.com.tw 換成 example.com。Google 也提到用網址參數(example.com?loc=de)來切換語言的做法,但明確不建議這麼做,因為使用者難以從網址本身辨認地緣定位,搜尋引擎也不容易靠網址做區隔。

子目錄的優點是架設容易、維護成本最低,因為所有語言版本都吃同一台主機、同一套資料庫,這也是 Polylang 和 WPML 預設都採用子目錄結構的原因。代價是網站分離做得比較差,而且只能綁在單一伺服器位置,如果之後想把某個語言版本獨立出去用不同主機服務,子目錄結構會比較難拆。

子網域跟子目錄一樣容易架設,還可以指定不同的伺服器位置,對網站分離也比較友善;缺點是使用者光看網址不一定認得出 en. 代表的是語言還是地區。獨立網域的地緣定位最清楚、跟伺服器位置無關、網站分離也最乾淨,但代價是成本最高,除了網域本身的費用,還要多一套基礎建設去維護,而且部分國別網域申請條件嚴格,只能鎖定單一國家使用。多數中小企業的多語系官網最後會落在子目錄,原因就是它把架設與維護成本壓到最低,而地緣定位這件事對中文為主、英文為輔的形象站來說本來就不是決勝點。

hreflang 標記讓搜尋引擎辨識對應的語言版本

hreflang 是一段寫在網頁原始碼裡的標記,格式是 rel=”alternate” hreflang=”x”,作用是告訴搜尋引擎這篇內容還有哪些語言版本、分別放在哪個網址。沒有這段標記,Google 很容易把中文版跟英文版當成同一份內容的重複版本,進而影響雙方的排名——這正是多語系站最容易在不知不覺中吃虧的地方。

WPML 官方文件對這段標記的要求寫得很具體:每個語言版本都要有指向其他所有語言版本的 hreflang,每個版本也要包含指向自己的自我參照 hreflang,還要用 x-default 定義找不到合適語言版本時的備援頁,比如訪客的瀏覽器語言是法文,但網站只做了中文和英文,x-default 就是這時候該顯示的那一頁。

Google 官方文件也呼應同一套邏輯,建議凡是用不同網址呈現不同語言,就該用 hreflang 標記把它們互相連起來。值得留意的是,Google 明確指出它不會用網頁的 lang 屬性或網址本身判斷語言,而是直接看網頁顯示的實際內容,這代表每個網頁裡的內容跟導覽介面都要維持同一種語言,不能中文頁面裡混英文選單,否則 Google 判斷語言時反而會出錯。

切換器只顯示已有翻譯內容的語言連結

很多人在考慮做多語系官網時會卡在同一個問題,是不是每一篇文章、每一頁都要逐字對照翻成英文,不然切換器點過去會出現 404 錯誤。實際上外掛本身就有應對機制,不需要逼自己做到全站逐字對照。

Polylang 官方的常見問題明確說明,為了避免 404 錯誤,如果某個語言沒有已發佈的內容,切換器就不會顯示那個語言選項;要是全部語言都還沒有內容,切換器甚至會整個不顯示。這代表多語系網站完全可以只翻譯核心頁面,像產品、關於我們、聯絡我們這幾頁,其餘部落格文章暫時只有中文版,也不會讓訪客點到死路。

同一份文件也提到一個常見的暫時性現象,如果 Google 先爬到某頁的未翻譯版本,之後才爬到新增的翻譯版本,短時間內可能會回報 hreflang 不匹配的錯誤。這不代表設定做錯,等 Google 重新爬過原本那頁之後,這類警告通常會自己消失,不需要特別去修。

自動翻譯引擎與人工校稿的分工

翻譯內容從哪裡來,是另一件要在動工前先想清楚的事,牽動的是後面要花多少時間、編多少預算。純人工翻譯的品質最穩,但要花的時間跟費用也最高,尤其型錄或產品規格這種需要精準用詞的內容,找懂產業的譯者本身就不便宜。

機器翻譯的速度快得多,幾乎即時就能產出草稿,但機器翻出來的內容仍然需要人工校稿,直接照搬容易出現用詞不精準或語感生硬的問題,對外銷官網來說反而可能傷到專業形象。實務上比較折衷的做法,是產品頁與型錄內容先用機器翻譯出初稿,再由懂英文的同仁或委外文案校稿潤飾,把大部分翻譯的力氣省下來,只在最後把關那一段花心力。

對台灣做外銷的中小企業來說,官網主要服務的還是國內客戶與同業,英文版比較像是給海外詢價客戶多開一道入口,不需要跟中文版一樣鉅細靡遺。這種中文為主、英文為輔的情境,機器翻譯先出稿、人工把關重點頁面的分工方式,通常已經夠用。

免費版 Polylang 覆蓋的翻譯範圍和明顯邊界

多數中文為主、英文為輔的形象官網,想要做 WordPress 多語系其實不用一開始就花錢訂閱,免費版的 Polylang 已經把大部分需求涵蓋進去。Polylang 完全整合進 WordPress 核心原本就有的分類法功能,語言數量沒有上限,官方頁面提到甚至可以一次新增到 10 種以上的語言,WordPress 本身的語言包也會自動下載安裝。

值得先說清楚的是,Polylang 免費版跟付費的 Polylang Pro 共用同一套核心引擎,Pro 版是在核心上疊加更進階的功能,不是另外做一套系統。這代表就算日後真的需要升級付費版,原本累積的翻譯內容也不用重來,差別只在於用不用得到接下來提到的幾項進階功能。

免費版可翻譯的文章、頁面、選單與分類

一個標準形象官網會用到的內容類型,免費版 Polylang 幾乎都能翻譯。官方頁面列出的範圍包含文章、頁面、媒體、分類、標籤,還有自訂文章類型與自訂分類法,連 RSS 訂閱都在可翻譯的清單裡。也就是說首頁、關於我們、產品分類頁、聯絡頁這些一個多語系官網最基本需要的頁面類型,免費版都撐得起來。

操作上也做了不少省事的細節,比如新增一個語言版本時,系統會自動複製原本文章的分類與標籤等中繼資料,不必每個語言版本都重新掛一次分類。免費版也支援 RTL(由右至左)文字排版,對之後如果要擴充到阿拉伯文這類語言,也預留了空間。

選單與小工具同樣能翻譯,經典選單與經典小工具直接支援,就算網站用的是區塊主題,也能透過 Site Editor 裡的傳統功能繼續沿用這套翻譯機制。語言切換器本身也有三種樣式可選,包含區塊、傳統小工具、傳統導覽選單項目,可以依網站的版型自由搭配,不會被綁死在單一種顯示方式。免費版也跟 Yoast SEO 相容,這對本來就在用 Yoast 做 SEO 優化的網站是加分。

免費版內建自動 hreflang 與語言別網址

前面提到 hreflang 標記是多語系站避免被誤判重複內容的關鍵,這件事在 Polylang 免費版裡不需要另外花錢。Polylang 官方部落格說明,外掛安裝後會自動在前台加上 hreflang HTML 標記,使用者不需要做任何額外設定,SEO 標記本身不是升級 Pro 版才拿得到的功能。

語言別網址的設定同樣屬於免費版基礎功能。官方頁面確認語言可以用網址裡的語言代碼來區分,也就是前面提到的子目錄結構,也可以改用不同子網域或不同網域來區分。換句話說,前一節講的三種網址結構取捨,免費版就能自己選,不需要等升級才能決定要走哪一條路線。

網址別名、WooCommerce 與進階同步限定付費版

免費版的邊界也要老實列出來,免得裝到一半才發現某個需求做不到。網址別名的翻譯,像是把分類、作者基底、自訂文章類型的網址片段也翻成對應語言,這件事只在 Polylang Pro 才開放;免費版的網址別名不管哪個語言版本都是同一組英文字串。

如果官網掛了 WooCommerce 要做多語系商店,免費版本身不包含這項支援,必須另外購買 Polylang for WooCommerce 這個獨立加購外掛,才能翻譯商店頁面、結帳流程、購物車、我的帳戶、商品分類與全域屬性,以及 WooCommerce 的通知信內容。這一點很容易被忽略,因為 Polylang 免費版的功能列表看起來已經很完整,但 WooCommerce 相關功能其實是切開來另外收費的。

其他鎖在 Pro 版的功能還包括區塊主題模板部件的翻譯、跨語言內容的同步與複製、跟 ACF Pro 更深的整合、內建 DeepL 機器翻譯,以及用 XLIFF 格式匯出匯入委外翻譯。這些多半是網站規模變大、內容維護變複雜之後才會用到的功能,對一個頁數不多的形象官網來說,免費版通常已經夠用到很久之後才需要考慮升級。

WPML 用訂閱費補上自動翻譯與整合

上一節列出的邊界,多花的訂閱費就是用來補上的。先要說明的是 WPML 沒有免費版可以試用,而且它已經不在 wordpress.org 的外掛目錄裡,wordpress.org 上 WPML Multilingual CMS 這個外掛頁面顯示已於 2017 年 11 月 28 日關閉、無法下載,代表現在只能透過 WPML 自己的官網購買安裝,沒有像 Polylang 那樣先裝免費版試用再決定要不要升級的路徑。

這裡的訂閱費差距,換到的不是功能比較多這種空泛說法,而是三件具體的事:內建機器翻譯引擎不必外接第三方外掛、WooCommerce 與主流頁面編輯器整合不必再加購一次授權、以及三個方案彼此的規模落差。這些差距會直接反映在預算怎麼編,以及之後想不想擴充網站規模上。

DeepL、Google 與 Microsoft 三種機器翻譯引擎內建可選

WPML 所謂的自動翻譯不是行銷話術,而是真的在後台整合三種主流機器翻譯服務可以直接呼叫使用,包括 DeepL、Google Translate 與 Microsoft Translator。官方文件說明,除了這三種第三方引擎,WPML 還有自家的 PTC 引擎,主打人工品質、機器速度,四種選項都能依偏好切換。

這幾種引擎全部整合在 WordPress 後台裡操作,不需要跳出網站去別的平台申請 API 金鑰或另外貼程式碼。這是免費版 Polylang 明顯做不到的一塊,免費版要接機器翻譯還得另外找第三方外掛才能接上。如果一個網站的翻譯策略就是機器先翻、人工再校,WPML 把這條路直接鋪好了,不用自己組合多個外掛去拼湊。

WooCommerce 和頁面編輯器不必外加購買外掛就能整合

對照前一節 Polylang 需要另外付費買一個獨立外掛才能做 WooCommerce 多語系,WPML 把這件事直接包在中高階方案裡。官方定價頁面的功能矩陣列出,Advanced Translation Editor、AI Translation、String Translation、Translation Management、Page Builders support、Menu translation、E-Commerce support、Full Site Editing support、Translation Services Integration 這幾項,在最便宜的 Multilingual Blog 方案(每年€39)全部都不包含,但 Multilingual CMS(每年€99)與 Multilingual Agency(每年€199)則是全數包含。

也就是說,只要不是選最陽春的 Blog 方案,像 Elementor 這類頁面編輯器的翻譯支援跟 WooCommerce 商店翻譯就已經包含在授權裡,不必再多買一次授權或另外組裝外掛。這對已經確定要做電商多語系的網站來說,省下的是整合多個外掛互相相容的麻煩,不只是省下一筆額外的購買費用。

Blog、CMS、Agency 三方案的功能與網站數落差懸殊

把三個方案的差異攤開成具體數字,會比單看功能列表更容易判斷該選哪一個。Multilingual Blog 每年€39,只能用 WordPress 內建的編輯器翻譯,功能列表裡幾乎沒有進階項目,適合單純的部落格站;Multilingual CMS 每年€99,官方標示是最多人選的方案,支援 3 個正式站加上 9 個開發測試站,前面提到的所有進階功能都包含在內。

Multilingual Agency 每年€199,功能跟 CMS 方案完全相同,差別在於網站數量不限,而且翻譯點數更多,CMS 方案含 9 萬點翻譯點數,Agency 方案含 18 萬點。三個方案都附一年的支援與更新,並提供 30 天退款保證。對一般中小企業來說,除非同時要維護三個以上的網站,CMS 方案通常就是功能與網站數量的甜蜜點。

Polylang 核心免費、沿用 WordPress 分類法儲存翻譯;WPML 訂閱制、後台內建多引擎機器翻譯與 WooCommerce 整合
Polylang 用免費核心涵蓋基本盤,WPML 用訂閱費換來內建機器翻譯、電商整合與多人協作。

網站規模決定翻譯預算的高低

官網規模、要不要做電商、之後會不會擴充語言,這三件事會實際決定免費版夠不夠用,還是該編列 WPML 的訂閱費。把前面列出的功能落差放進三種常見情境裡看,會比單看規格表更容易做決定。

依網站規模選 WordPress多語系外掛:形象官網用 Polylang 免費版,電商或多人協作編列 WPML CMS,會擴充語言先比授權計價
怎麼選看規模:形象官網從 Polylang 免費版起步,電商或多人協作再編列 WPML 的訂閱費。

中文為主英文為輔的形象官網,Polylang 免費版是起點

台灣做外銷的中小企業,官網主要還是給國內客戶與同業看,英文版是給海外客戶多開一個入口,頁數通常就是首頁、關於我們、產品或服務、聯絡我們這幾頁,不會逐篇部落格文章都要求多語系對照。這種規模用免費版 Polylang 就能把 WordPress 多語系架起來,前面提過的文章、頁面、選單、分類這些核心內容類型都在免費版的範圍裡,不需要一開始就編列訂閱費用。

翻譯工作如果由內部同仁或委外文案手動輸入,免費版的功能已經足夠涵蓋這個規模的需求。等網站成長到需要翻譯網址別名、或想接機器翻譯輔助日常內容產出時,再回頭評估要不要升級 Pro 版,不必在網站規模還小的階段就先綁一筆訂閱費用。

電商或需要多人協作翻譯的網站,該編列 WPML 的預算

如果官網掛了 WooCommerce 開始接海外訂單,或者翻譯工作要分給多人一起處理,像業務同仁負責校對、委外譯者負責初翻、行銷寫手負責潤飾,這時候 WPML 的 Multilingual CMS 方案會比拼湊多個外掛省事。WooCommerce 官網要做多語系,CMS 方案一次就含 WooCommerce 支援,不必像 Polylang 那樣另外加購一個獨立外掛才能翻譯商店頁面與結帳流程。

多人協作的部分,靠的是 WPML 內建的 Translation Management 功能,可以指派翻譯者與語言經理、追蹤每篇內容翻到哪個進度。對已經有固定翻譯團隊、或翻譯量大到需要分工管理的網站,這套內建的流程管理能省下另外找專案管理工具的麻煩。

之後可能擴充到第三種語言,授權方式現在就該考慮進去

有一個容易被忽略的變因是,如果網站預期兩三年內會加第三種語言,比如再加日文或越南文因應新市場,兩套外掛的授權計價方式並不一樣,現在的選擇會影響之後擴充的成本結構。Polylang Pro 的授權是依網站數計價,單站€99、3 站€198,語言數量本身不另外收費,而且語言數沒有上限,不管做兩種語言還是五種語言,授權費用都一樣。

WPML 則相反,三個方案裡只有 Multilingual Agency 是網站數量不限,Blog 與 CMS 方案都限制正式站數量,CMS 方案是 3 個正式站、9 個開發站。如果一個網站未來計畫用同一套系統管理多個多語系站台,兩套外掛的計價邏輯會讓長期成本走向完全不同的方向,值得在一開始選擇時就把這個變數算進去,而不是等真的要擴充語言時才發現授權方式不划算。

換外掛和退場機制的兩個實際風險

選擇多語系外掛還有一個常被忽略的面向,就是萬一選錯或以後想換,實際會踩到什麼。這兩個風險都是真的會在遷移當下發生的細節,不是嚇唬讀者的空泛警告。網址結構的落差會讓連結斷掉,翻譯資料的儲存方式則決定退場時好不好清乾淨。

遷移工具存在,但網址結構差異會讓連結斷掉

Polylang 換到 WPML、或 WPML 換到 Polylang,官方或社群都有現成的遷移外掛可以把語言與翻譯關係搬過去,不是完全沒有退路。WPML 官方的「Migrate from Polylang to WPML」文件說明,遷移前要先在 Polylang 逐一儲存語言設定並停用 Polylang,因為兩套外掛同時啟用會造成 WordPress 嚴重錯誤;遷移前也務必先做資料庫完整備份,因為之後如果選擇刪除 Polylang 殘留的資料,這個動作無法復原。

同一份文件明確指出兩套外掛預設的網址結構不一樣,Polylang 預設會把網站根目錄重新導向到預設語言的子目錄,例如 example.com 會被導到 example.com/en/;WPML 則是把預設語言直接顯示在根目錄,不會多一層子目錄。這代表就算內容順利搬過去,外部連過去舊網址 example.com/en/的連結,如果沒有另外設定 301 轉址導回根目錄,這些連結還是會失效,過去累積的搜尋排名也可能跟著受影響。

反方向也有官方支援,社群開發的 WPML to Polylang 遷移外掛可以匯入語言設定、文章與詞彙的語言及翻譯關係、字串翻譯,還有多語言導覽選單。操作前同樣要求先做資料庫備份,如果遷移後又想改回 WPML,可以在刪除 Polylang(這個動作會清掉 Polylang 建立的資料)之後重新啟用 WPML。不管往哪個方向搬,備份都是遷移前不能省的一步。

WPML 的翻譯資料分散在 23 個自訂資料表裡

兩套外掛在資料庫層級的根本差異,決定了退場乾不乾淨。WPML 用自己一整套資料表記錄語言與翻譯關係,官方的 WPML’s Database Tables 文件列出總計 23 張自訂資料表,包含 wp_icl_translations、wp_icl_strings、wp_icl_string_translations、wp_icl_languages 等。其中 icl_translations 表最關鍵,每一筆資料記錄內容類型、文章或詞彙 ID、翻譯群組 ID 與語言代碼,同一個翻譯群組 ID 代表這幾筆內容彼此互為翻譯版本。

停用 WPML(不是刪除重置)的話,內容會保留下來,只是重新歸類到預設語言,重新啟用外掛會自動重建語言關聯,不會遺失內容。但如果要徹底移除所有翻譯內容,必須執行官方提供的 WPML Reset 流程,這個動作官方明講無法復原,執行前一定要先備份,或用官方的匯出加值模組先把翻譯內容保留下來。

Polylang 則相對輕量,直接沿用 WordPress 內建的標準功能(分類法)儲存語言資訊,沒有另外建立資料表,這也是 Polylang 官方文件解釋它為什麼能跟大量佈景主題與外掛開箱相容的原因。這不代表哪一套比較安全,而是提醒在換外掛或停用外掛之前,先搞清楚自己的翻譯內容實際存放在哪裡,才知道該怎麼備份與遷移,遇到問題也才知道該從哪裡下手排查。

回頭看整個決定順序,WordPress 多語系真正的起點不是外掛比較表,而是網址結構、hreflang 與翻譯來源這幾件事。這幾個決定做對了,不管後來選 Polylang 還是 WPML,多語系站在 Google 眼裡都是兩份各自完整的內容,而不是同一份內容的兩個複製品。免費版 Polylang 已經把多數形象官網需要的翻譯範圍與 SEO 基本盤涵蓋進去,WPML 補的則是機器翻譯、電商整合與多人協作這幾塊更進階的需求,兩者沒有絕對的優劣,只有跟網站規模搭不搭的問題。真要說有什麼是現在就該想清楚的,那就是語言未來會不會擴充、翻譯資料要放在哪裡,這兩件事等到真的要換外掛才想,代價通常已經比一開始多花點時間評估要貴上不少。

常見問答

本區問答由 AI 依文章內容自動整理,僅供快速參考,正式內容仍以全文為準。

hreflang 標記的作用是什麼?

hreflang 標記會告訴搜尋引擎,這篇內容還有哪些語言版本、分別放在哪個網址;沒有這段標記,Google 容易把中文版和英文版當成同一份內容的重複版本,進而影響雙方排名。

語言切換器遇到未翻譯頁面會怎樣?

如果某個語言還沒有已發佈的內容,切換器就不會顯示那個語言選項,避免訪客點到 404 頁面;要是全部語言都還沒有內容,切換器甚至會整個不顯示,官網可以只先翻譯核心頁面。

Polylang 免費支援 WooCommerce 嗎?

不行,免費版本身不支援 WooCommerce 多語系,需要另外購買 Polylang for WooCommerce 這個加購外掛,才能翻譯商店頁面、結帳流程、購物車、我的帳戶、商品分類與全域屬性,以及通知信內容。

WPML 內建幾種機器翻譯引擎可以選?

WPML 後台內建四種機器翻譯引擎可以直接切換使用,包括 DeepL、Google Translate、Microsoft Translator 這三種第三方服務,再加上 WPML 自家主打人工品質、機器速度的 PTC 引擎。

Polylang 換 WPML,舊連結會失效嗎?

會,因為兩套外掛預設的網址結構不同,Polylang 預設把根目錄導向語言子目錄,WPML 則把預設語言直接顯示在根目錄;如果沒有另外設定 301 轉址導回根目錄,舊連結會失效,過去累積的排名也可能受影響。

資料來源
  1. Managing multi-regional and multilingual sites — Google
  2. Tell Google about localized versions of your page — Google
  3. How to Add Hreflang in a WordPress Website — WPML
  4. Hreflang Tag Attributes and Polylang: Everything You Need To Know — Polylang
  5. Frequently Asked Questions — Polylang
  6. Polylang – WordPress plugin — Polylang
  7. Polylang Pro Pricing — Polylang
  8. WPML Multilingual CMS plugin page (closed November 28, 2017) — WordPress.org
  9. WPML Pricing — WPML
  10. WPML's Database Tables — WPML
  11. Migrate from Polylang to WPML — WPML
  12. How to Change Translation Engines in WPML — WPML