如何配置WordPress移動端域名?

Thread Source: wordpress定制软件游戏下载主题!价值3000+免费分享

在設定 WordPress 移動端域名的時候,常常會被「到底要不要另開一個子域?」這個問題卡住。其實,從 SEO、使用者體驗到安全性,都有不少值得注意的細節,只要一步步跟著檢查,就不會像我剛開始那樣手忙腳亂。

為什麼要為行動版設定獨立域名?

  • 搜尋引擎偏好:Google 在 2021 年的統計顯示,使用 responsive 設計的站點在行動搜尋的點擊率提升約 12%。如果把行動版獨立在 m.example.com,需要額外的 canonical 設定,否則容易被視為重複內容。
  • SSL 證書一致性:若主站已安裝 https://www.example.com 的證書,行動版如果僅用 http://m.example.com,瀏覽器會直接警告「不安全」,這對轉換率的衝擊不容小覷。
  • CDN 與快取:行動裝置多半使用較慢的網路,將行動域名指向專屬的 CDN 節點(例如 Cloudflare 的 Mobile Optimized 設定),可以讓頁面載入時間減少 30% 以上。

基本 DNS 與 SSL 設定步驟

  1. 新增子域名:在 DNS 管理介面新增 m 或 mobile 的 A 記錄,指向同一台伺服器的 IP。
  2. 申請對應的 SSL:使用 Let’s Encrypt 時,只要一次性把 example.com、www.example.com、m.example.com 都列入 SAN(Subject Alternative Name),就能一次取得三個域名的憑證。
  3. 檢查 HTTPS 重導:在 .htaccess 加入 RewriteCond %{HTTPS} off → RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301],確保所有行動流量都走安全通道。

在 wp-config.php 中動態切換域名

WordPress 本身支援透過 WP_HOME 與 WP_SITEURL 兩個常數來覆寫設定值。把以下程式碼放在 /* That's all, stop editing! Happy publishing. */ 之上,就能自動偵測使用者是桌面還是行動裝置:

$host = $_SERVER['HTTP_HOST'];
$is_mobile = preg_match('/mobile|m./i', $host);
if ($is_mobile) {
    define('WP_HOME', 'https://m.example.com');
    define('WP_SITEURL', 'https://m.example.com');
} else {
    define('WP_HOME', 'https://www.example.com');
    define('WP_SITEURL', 'https://www.example.com');
}

這段程式的關鍵在於 $_SERVER['HTTP_HOST'] 會回傳當前請求的域名,配合正則表達式即可判斷是否為行動子域。若你想更精細地辨識手機瀏覽器,也可以結合 $_SERVER['HTTP_USER_AGENT'],但那樣會稍微增加伺服器負擔。

常見的坑與解決方式

  • Cookie 同步問題:行動與桌面使用不同域名時,登入狀態的 cookie 只會在各自的子域生效。解決方法是把 COOKIE_DOMAIN 設為 .example.com,讓兩個子域共享同一個 cookie。
  • 主題相容性:不是所有 WordPress 主題都支援行動子域。測試時最好挑選官方推薦的 responsive 主題,或自行在 functions.php 加入 add_filter('template_directory','...') 讓行動版載入專屬樣式表。
  • 搜尋引擎索引:在 Google Search Console 為 m.example.com 新增站點,並提交 sitemap,避免因為未被收錄而失去流量。

總的來說,配置 WordPress 移動端域名不只是改 DNS 那麼簡單,從 SSL、快取、Cookie 到 SEO 每一步都要仔細檢查。只要把上面的步驟照著走,既能提升行動使用者的載入速度,又能保持搜尋排名的穩定,說不定還會收到「網站變快了」的好評呢。

評論(4)

提示:請文明發言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

  • 星星糖 普通用户

    之前就是沒設好 canonical,結果被 Google 當成重複內容,這篇來得剛好!

    2 個月前 Reply
  • 天真的童話 普通用户

    Cookie 同步那個坑我真的踩過,登入狀態一直跳掉,設成 .example.com 就解決了👍

    2 個月前 Reply
  • 反叛者 普通用户

    現在大家都直接用 RWD 響應式設計了吧?還需要特別開個 m. 子域嗎?

    2 個月前 Reply
  • 憤怒的熊貓 普通用户

    原來 Let’s Encrypt 可以一次把三個域名包進去,省了不少手續費~

    2 個月前 Reply