如何將 WordPress 網站域名從 www 變更為 www2

如你需要將網站原有的域名從 www.yourdomain.com 換成 www2.yourdomain.com,本文將以簡易步驟介紹從修改 WordPress 設定、調整 DNS 及伺服器設定,到資料庫中搜尋替換、導向設定及清除快取的完整流程。

注意: 在開始任何修改前,請務必備份資料庫及所有網站檔案,確保能在發生狀況時立即回復。


步驟 1:更新 WordPress 網站 URL(WordPress Site URLs)

要變更網站域名,首先需更新 WordPress 的設定。以下提供三種方法:

選項 A:直接修改 wp-config.php(Safest 方法)

在網站根目錄中的 wp-config.php 檔案內,於 /* That's all, stop editing! Happy blogging. */ 之前,加入如下程式碼:

php
define('WP_HOME', 'https://www2.yourdomain.com');
define('WP_SITEURL', 'https://www2.yourdomain.com');

關鍵詞:

  • wp-config.php:WordPress 配置檔案。
  • WP_HOME / WP_SITEURL:設定網站首頁網址及網站 URL。

選項 B:透過資料庫更新 URL(Database)

利用資料庫管理工具(例如 phpMyAdmin 或 Plesk Database Manager),執行以下 SQL 語句以更新設定:

sql
UPDATE wp_options 
SET option_value = 'https://www2.yourdomain.com' 
WHERE option_name IN ('siteurl', 'home');

關鍵詞:

  • SQL:結構化查詢語言。
  • wp_options:WordPress 資料庫中存放網站設定的資料表。

選項 C:透過 WordPress 後台管理(若 www 還能使用)

如果目前仍能以 www 存取後台,請進入 WordPress 後台「設定 (Settings) → 一般 (General)」並更新以下兩個項目:

  • WordPress Address (URL)
  • Site Address (URL)

將兩者均修改為 https://www2.yourdomain.com


步驟 2:更新 Plesk 設定(Plesk Configuration)

若您使用 Plesk 控制面板,需修改以下設定:

  1. 在 Plesk → Domains 中找到 www.yourdomain.com
    • 可以將 www2 以別名 (alias) 方式新增,或建立指向相同 Document Root 的子網域 (subdomain)。
  2. 為 www2 建立 SSL 憑證,
    • 建議使用 Plesk 中的 Let’s Encrypt 來輕鬆完成 HTTPS 憑證設定。

關鍵詞:

  • Plesk:常見的網頁控制面板。
  • 子網域 (subdomain)別名 (alias):域名管理中的配置方法。
  • SSL/HTTPS:保證網站安全連線的憑證。

步驟 3:資料庫搜尋與替換(Search and Replace)

網站中可能有許多地方(例如內文、設定或序列化資料)仍保留原有 www.yourdomain.com 的字串,必須全部替換為新的 www2.yourdomain.com

可以選擇以下三種方法之一:

  1. 使用 WP-CLI(WP Command Line Interface)
    bash
    wp search-replace 'https://www.yourdomain.com' 'https://www2.yourdomain.com' --all-tables
    
  2. 利用 Better Search Replace 外掛(Better Search Replace Plugin)
    • 安裝並啟用此外掛。
    • 進入「工具 (Tools) → Better Search Replace」,
      搜尋 https://www.yourdomain.com,將它替換成 https://www2.yourdomain.com,選擇所有資料表後,先以模擬(dry run)方式執行,再正式替換。
  3. 使用 Database Script
    • 下載並上傳 searchreplacedb2.php 腳本到網站,
    • 透過瀏覽器執行腳本,根據畫面指引進行域名替換。

關鍵詞:

  • WP-CLI:WordPress 指令列工具。
  • Better Search Replace Plugin:協助搜尋替換資料庫內容的外掛。
  • searchreplacedb2.php:供資料庫域名替換使用的 PHP 腳本。

步驟 4:設定導向(Redirection)

完成上述修改後,可以考慮設定將原來使用 www 的流量自動轉向至 www2,此步驟為「可選」項目。

透過 .htaccess 設定(Apache 編輯):

在 .htaccess 檔案中加入以下代碼:

apache
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$ [NC]
RewriteRule ^(.*)$ https://www2.yourdomain.com/$1 [R=301,L]

或透過 Plesk 設定(Apache & nginx Settings):

設定 301 永久轉向:

apache
Redirect 301 / https://www2.yourdomain.com/

關鍵詞:

  • .htaccess:Apache 調控檔案。
  • RewriteRule:Apache 伺服器的 URL 重寫規則。
  • 301 Redirect:HTTP 永久轉向。

步驟 5:清除快取(Clear Caches)

域名更新後,建議清除所有相關快取,以確保最新變更能立即生效:

  • WordPress 快取(若使用快取外掛)
  • 瀏覽器快取
  • CDN 快取(若有使用內容分發網路,Content Delivery Network)

關鍵詞:

  • Cache:暫存資料。
  • CDN (Content Delivery Network):內容分發網路。

多站台(Multisite)的特別提示

若您的 WordPress 啟用了 Multisite 功能,還需要額外更新以下項目:

  1. wp-config.php
    php
    define('DOMAIN_CURRENT_SITE', 'www2.yourdomain.com');
    // 若有定義 COOKIE_DOMAIN,也要更新:
    define('COOKIE_DOMAIN', '.yourdomain.com');
    
  2. 更新 wp_blogs 資料表
    sql
    UPDATE wp_blogs 
    SET domain = 'www2.yourdomain.com' 
    WHERE domain = 'www.yourdomain.com';
    
  3. 更新 wp_site 資料表
    sql
    UPDATE wp_site 
    SET domain = 'www2.yourdomain.com' 
    WHERE domain = 'www.yourdomain.com';
    

關鍵詞:

  • Multisite:WordPress 多站台功能。
  • COOKIE_DOMAIN:Cookie 域名配置。

快速檢查清單(Quick Checklist)

在開始修改前,請確保完成以下檢查:

  • 備份資料庫與所有檔案
  • 更新 wp-config.php(WordPress 設置)
  • 執行資料庫中搜尋替換(Search and Replace)
  • 更新 Plesk 上的 DNS 或子網域設定
  • 為 www2 設定 SSL 憑證
  • 測試 www2.yourdomain.com 的運作是否正常
  • 設定從 www 至 www2 的 301 導向(如有需求)
  • 清除所有快取(Cache)

推薦步驟執行順序(Recommended Order)

  1. 備份: 首先備份網站及資料庫。
  2. 建立子網域: 在 Plesk 裡建立 www2 的子網域並設定 SSL。
  3. 更新 wp-config.php: 配置新域名。
  4. 資料庫替換: 使用 WP-CLI、Better Search Replace 外掛或資料庫腳本作搜尋替換。
  5. 測試: 先確認 www2.yourdomain.com 可正常運作。
  6. 設定導向: 若確認運作無誤,可設定將 www 流量導向 www2。
  7. 清除快取: 最後清理各種快取確保更新生效。

透過以上步驟,您可以順利地將 WordPress 網站的域名從 www.yourdomain.com 變更為 www2.yourdomain.com。本指南提供了完整的修改流程與注意事項,建議依據推薦順序操作,以降低配置錯誤風險並確保網站長期穩定運作。