Tối ưu, giảm dung lượng database của WordPress

Nếu bạn sử dụng một thời gian dài, database của wordpress 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

Trước khi thực hiện, mình yêu cầu các bạn sao lưu WordPress, lưu bản backup CSQL mới nhất từ cPanel. Bất cứ lệnh SQL nào bạn sử dụng gây mất dữ liệu bạn cũng dễ dàng khôi phục lại như ban đầu.

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";

Lệnh trên sẽ đóng tất cả các bình luận, không cho phép người dùng bình luận cho các bài viết của bạn. Nếu bạn muốn kích hoạt lại thay từ “closed” bằng “open”

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`, '[contact-form-7 404 "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 mLEFT JOIN `wp_posts` AS p ON m.`post_id` = p.`ID`WHERE p.`ID` IS NULL

Câu lệnh sau giúp bạn xóa tất cả các post meta không liên kết vào Post nào. Sau khi bạn xóa post revisions hoặc post sử dụng SQL, bạn sẽ cần thêm lệnh này nữa.

11. Xóa Meta cho Plugins

TÌm và xóa những khóa meta cho plugin.

DELETE FROM `wp_postmeta` WHERE `meta_key` LIKE '%aktt%'

12. Cập nhật thông tin tác giả của bài viết

Lệnh này sẽ không xóa dữ liệu của bạn, bạn muốn thay đổi tác giả của bài viết hàng loạt và bỏ tác giả cũ. Hãy sử dụng lệnh sau đây:

UPDATE `wp_posts` SET `post_author` = '1' WHERE `post_type`='post' AND `post_status`='publish'

Bài viết trên phần nào giúp bạn giảm dung lượng database của wordpress. Nếu bạn có câu lệnh hữu ích cho anh em sử dụng WordPress, đừng ngần ngại chia sẻ dưới bài viết này nhé.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *