快速答案:選一個當主網域,WordPress 的網址設成它;另一個網域整個 301 轉到主網域,而且保留路徑(副網域/abc 轉到主網域/abc)。不要讓兩個網域同時顯示同一份內容,也不要用網域商的隱藏式轉址。兩個網域(含 www)都要有有效的 SSL 憑證,否則訪客在轉址之前就先看到憑證錯誤。
為什麼會這樣 #
同一份內容出現在兩個網域,Google 會當成重複內容,排名分散兩邊,也不確定該顯示哪一個。WordPress 內建的轉址只處理有沒有 www 這類差異,第二個網域指過來,它不會自動幫你轉走,網站就在兩個網址下都打得開,登入與購物車的 cookie 也各算各的。
憑證是最常被漏掉的一環。瀏覽器是先檢查憑證、才收到轉址指令的,副網域沒有憑證,訪客打 https 開頭的網址就停在「你的連線不是私人連線」,根本走不到轉址那一步。網域商附的轉址服務常只支援 http,或用框架把主網站包在副網域底下,對 SEO 沒有幫助。
怎麼處理 #
- 決定主網域。通常是印在名片與廣告上、被 Google 收錄最多的那個。設定 → 一般 的 WordPress 位址與網站位址設成它(含 https、是否帶 www)。
- 副網域的 DNS 指到同一台主機(或交給同一個 Cloudflare 帳號),在主機面板把副網域加進這個網站,替副網域與它的 www 都申請憑證。
- 在主機層或 Cloudflare 設 301,規則是整個網域、保留路徑與參數,轉到主網域。比用外掛轉快,也不會因為 WordPress 出錯而失效。
- 測四種組合:副網域的 http、https、有無 www,各開首頁與一個內頁,都要直接轉到主網域對應的網址,不能出現憑證錯誤,也不能全部轉到首頁。
- Search Console:兩個網域都加入。副網域過去有自己的內容與排名,要做一對一的網址對照(見換網域的 301 轉址),整站搬遷還要用網址變更工具通知 Google。
- 信箱分開看:網站轉址不影響副網域收信;但如果為了轉址把副網域的 DNS 搬家,MX 等紀錄要一起搬。
兩個網域要各放不同語言的版本,是另一種架構,要用 hreflang 互相標示,而不是互轉(見多語網站 SEO)。
我們實際遇過的情況 #
一家客戶手上有兩個網域名稱,都要能打開同一個網站,我們先向主機商確認主機端怎麼設定;另一家教育機構則是要把另一個網域轉到現在的網站。這類設定做完,四種組合都要點一輪,確認每一條都是一次轉到位。
比較麻煩的是主從關係改變:一家客戶的品牌子網域與主網域,轉址方向中途改過一次,兩邊的轉址規則都得重寫。改方向時,WordPress 網址與 Search Console 也要一起檢查;方向設反,就會形成轉來轉去的迴圈。
什麼時候該找人 #
DNS、主機、Cloudflare 分屬不同人管,或副網域過去有大量被收錄的網頁與外部連結。轉址規則寫出迴圈或全部導回首頁,排名掉下去要好幾個月才回得來。
WPTOOLBEAR網站工具熊