WordPress變更網域以及批次更換內文網址

將舊伺服器中的資料用FTP存到硬碟裡面,然後整個上傳到新伺服器的對應位置。記得修改wp-config.php內對應的資料庫名稱。

找到define(‘DB_NAME’, ‘XXXXXXXX’)、define(‘DB_USER’, ‘XXXXXXXX’)和define(‘DB_PASSWORD’, ‘XXXXXXXX’)
分別將後面的值替換成新的資料庫名稱、帳號以及密碼

如果有搬到新的網址的話,wp-config.php最下面還有兩行
define(‘WP_HOME’,'http://www.xxxxxxxx.com’);
define(‘WP_SITEURL’,'http://www.xxxxxxxx.com’);
也記得要換成新的網址

修正Wordpress網站的網址
進去PHPMyAdmin,點選新的資料庫,編輯以下兩項為新網址:
「wp_options→option_name→siteurl」
「wp_options→home」(在第二頁)

修正資料庫內的網址
目前文章內的網址都是舊的,所以圖片和鏈結還會連到舊站,需要修正資料庫以更新內容。
進去PHPMyAdmin,點擊該新建好的資料庫,使用「搜尋」分頁去查詢舊站的網址。

我們用上述最多項目符合的「wp_posts」資料表做範例,點下右邊的「瀏覽」,點進去發現「guid」項目都是舊網址。

修改網站設定網址
UPDATE wp_posts SET option_value=REPLACE(option_value,'http://舊網址','http://新網址');

修改文章中的 GUID 連結
UPDATE wp_posts SET guid = REPLACE (guid,'http://舊網址','http://新網址');

修改文章內文的連結
UPDATE wp_posts SET post_content=REPLACE(post_content,'http://舊網址','http://新網址');

修改外掛或自訂欄位中的連結
UPDATE wp_posts SET meta_value =REPLACE(meta_value,'http://舊網址','http://新網址');

透過 SQL 指令來查詢或強制停用所有外掛
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins'

wp_options 修改 template 以及 stylesheet 換成新主題名稱

執行後沒有出現錯誤訊息就OK了,然後把剩下全部待修改的欄位,依照一樣的方法替換紅字和綠字全部修正完就大功告成了。

8200424763_a55d4b1c21_o

上一篇 Linux 如何用 cp 複製整個資料夾包含子資料夾
下一篇 Wordpress Nginx 偽靜態規則