phpMyAdmin → 選擇 WordPress 資料庫 → 「匯出」 → 勾選「gzipped」 → 「執行」下載 .sql.gz 備份檔。
DELETE FROM wp_posts WHERE post_type = 'revision';
WordPress 2.6+ 預設啟用修訂版,長期積累會膨脹 wp_posts 表。
DELETE FROM wp_comments WHERE comment_approved = '0';
⚠ 注意:會連同正常待審留言一併刪除。建議改用 Akismet 外掛自動攔截垃圾留言。
-- 1. 查詢用戶 ID
SELECT ID, display_name FROM wp_users;
-- 假設新作者 ID=5,舊 admin ID=1
-- 2. 批次更新
UPDATE wp_posts SET post_author = 5 WHERE post_author = 1;
UPDATE wp_users SET user_pass = MD5('NewStrongPassword') WHERE user_login = 'admin' LIMIT 1;
WordPress 密碼採用 MD5 雜湊(舊版),新版會自動升級為 PHPass/BCrypt,登入時自動轉換。
-- 5.1 站點設定
UPDATE wp_options SET option_value = REPLACE(option_value, 'https://oldsite.com', 'https://newsite.com')
WHERE option_name IN ('home', 'siteurl');
-- 5.2 文章 GUID(永久連結識別碼)
UPDATE wp_posts SET guid = REPLACE(guid, 'https://oldsite.com', 'https://newsite.com');
-- 5.3 文章內容中的舊域名
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://oldsite.com', 'https://newsite.com');
-- 5.4 文章自訂欄位(如舊域名圖片連結)
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://oldsite.com', 'https://newsite.com');
編輯主題 footer.php,在 </body> 前加入:
<?php if (current_user_can('manage_options')) : ?>
<!-- 查詢統計: queries in seconds -->
<?php endif; ?>
僅管理員可見,避免洩露效能資訊。
phpMyAdmin → 選擇資料庫 → 「匯入」 → 選擇備份檔 → 「執行」。
-- 關閉所有文章評論
UPDATE wp_posts SET comment_status = 'closed' WHERE post_type = 'post';
-- 開啟特定分類文章評論
UPDATE wp_posts p
JOIN wp_term_relationships tr ON p.ID = tr.object_id
JOIN wp_term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
SET p.comment_status = 'open'
WHERE tt.taxonomy = 'category' AND tt.term_id = 5; -- 分類 ID
SELECT 驗證影響範圍:SELECT * FROM wp_posts WHERE post_type = 'revision' LIMIT 10;LIMIT 1000 迴圈,避免長鎖表