WordPress 網址異動後台設定和更新資料庫
WordPress 修改新舊網址異動,在後台設定更換的新網址僅會更新部份網址,其餘未更新的網址需手動執行 SQL 來更新資料庫相關資料表欄位,兩個動作才算真正完成 WordPress 換網址的更新。
更換網址
- 新網址:https://footmark.com.tw
- 舊網址:https://blog.footmark.info
後台設定
登入 WordPress 後台,進入【設定】>【一般】將下述兩個欄位改成新網址後點擊【儲存設定】。
- WordPress 位址 (網址)。
- 網站位址 (網址)。
驗證
不少人 (包含腳印哥) 都認為 WordPress 網址異動只要後台設定完成即可,但實際上它僅更新了部份網址,其餘未更新的網址需手動更新資料庫。
檢查文章
開啟編輯一篇有圖片的舊文章會發現圖片無法正常顯示,因為這部份須手動更新資料庫。
檢查資料庫
開啟 phpMyAdmin 使用 SQL 的 LIKE
查詢資料表欄位,還有哪些存在舊網址 https://blog.footmark.info 的資料。
網址異動相關的資料表欄位請參考相關資料表與欄位
查詢資料表 wp_options 欄位 option_value 還存在舊網址的資料。
SELECT *
FROM `wp_options`
WHERE option_value LIKE '%舊網址%'
-- 僅查詢與網站相關的條件
AND (option_name = 'home' OR option_name = 'siteurl');
查詢資料表 wp_postmeta 欄位 meta_value 還存在舊網址的資料。
SELECT *
FROM `wp_postmeta`
WHERE meta_value LIKE '%舊網址%';
查詢資料表 tmpe380d9_posts 欄位 post_content 還存在舊網址的資料。
SELECT *
FROM `tmpe380d9_posts`
WHERE post_content LIKE '%舊網址%';
查詢資料表 tmpe380d9_posts 欄位 guid 還存在舊網址的資料。
SELECT *
FROM `tmpe380d9_posts`
WHERE guid LIKE '%舊網址%';
資料庫
相關資料表與欄位
資料表 | 欄位 | 條件 |
---|---|---|
wp_options | option_value | option_name = 'home' |
option_name = 'siteurl' | ||
wp_postmeta | meta_value | |
tmpe380d9_posts | post_content | |
guid |
更新資料表與欄位
執行 SQL
UPDATE
替換新舊網址前,請務必先備份資料庫使用 REPLACE()
來替換新舊網址,執行下述 SQL 即可進行新舊網址的替換。
UPDATE wp_options
SET option_value = REPLACE(option_value, '舊網址', '新網址')
-- 僅替換與網站相關的條件
WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, '舊網址', '新網址');
UPDATE tmpe380d9_posts
SET post_content = REPLACE(post_content, '舊網址', '新網址');
UPDATE tmpe380d9_posts
SET guid = REPLACE(guid, '舊網址', '新網址');
執行完成會顯示影響了多少資料 (就是有多少舊網址被替換),腳印哥這裡更新了 1370 筆。
再開啟編輯一篇有圖片的舊文章即可看到圖片正常顯示,代表更新完成。
參考
本著作係採用創用 CC 姓名標示-相同方式分享 3.0 台灣 授權條款授權.
在〈WordPress 網址異動後台設定和更新資料庫〉中有 4 則留言