Nếu bạn sử dụng một thời gian dài, blog của bạn sẽ có nhiều lượng bình luận spam, các bản sửa của bài viết sẽ tăng lên và dữ liệu cache trong database. Trong bài viết này, mình đã liệt kê những câu lệnh SQL hữu ích cho bạn tối ưu wordpress, xóa hay làm sạch CSQL WordPress để tối ưu và giảm dung lượng database
1. Thay thế liên kết cũ trong bài viết
Lệnh này thay thế toàn bộ link cũ tìm thấy trong nội dung Post. Nếu bạn muốn mở rộng kiểu dữ liệu, thì khai báo thêm cho trường post_type
UPDATE `wp_posts` SET `post_content` = REPLACE( `post_content`, “http://demo.com“, “https://demo.com” ) WHERE `post_type`=”post”;
2. Thay thế hoặc xóa shortcodes
UPDATE `wp_posts` SET `post_content` = REPLACE( `post_content`, “”, “</pre>” ) WHERE `post_type`=”post”;
Dòng trên bạn chạy lệnh SQL để xóa các shortcodes không sử dụng & thay tế với thẻ HTML.
3. Xóa Post Revisions
Chạy lệnh sau sẽ giúp bạn xóa mọi các bản sửa đổi của nhiều bài viết ra khỏi database. Lưu ý, lệnh sql này sẽ không xóa post meta hoặc liên kết taxonomy.
DELETE FROM `wp_posts` WHERE `post_type`=”revision”
4. Đóng bình luận cho bài viết
UPDATE `wp_posts` SET `comment_status` = 'closed' WHERE `post_type`="post";
UPDATE `wp_posts` SET `ping_status` = 'closed' WHERE `post_type`="post";
5. Xóa bài viết rác
Những bài viết Post rác đã bị xóa trước đây, bạn muốn xóa vĩnh viễn hãy sử dụng lệnh sau.
DELETE FROM `wp_posts` WHERE `post_status`=”trash”
6. Xóa shortcode Contact Form 7
Bạn muốn xóa mọi shortcode contact form 7 bạn chèn vào các bài viết, nhập ID của form bạn muốn xóa & chạy lệnh sau:
UPDATE `wp_posts` SET `post_content` = REPLACE( `post_content`, ‘
Error: Contact form not found.
‘, ” ) WHERE `post_type`=”post”;
7. Xóa Pingbacks
Lệnh SQL này sẽ xóa tất cả Pingbacks từ bảng comments của WordPress.
DELETE FROM `wp_comments` WHERE `comment_type` = ‘pingback’;
8. Xóa các bình luận spam
Những bình luận bạn đánh thẻ spam, sẽ bị xóa bởi lệnh sau:
DELETE FROM `wp_comments` WHERE `comment_approved` = ‘spam’;
9. Xóa dữ liệu Transients từ bảng options
Đây là dữ liệu cache từ bảng options, bạn sẽ tiết kiệm nhiều bộ nhớ và kích thước CSQL của bạn. CHạy lệnh dưới đây để xóa chúng đi:
DELETE FROM `wp_options` WHERE `option_name` LIKE ‘%_transient%’;
10. Dọn dẹp Post Meta
DELETE m FROM `wp_postmeta` AS m
LEFT JOIN `wp_posts` AS p ON m.`post_id` = p.`ID`
WHERE p.`ID` IS NULL