Trong bài viết “Tay không” sao lưu và phục hồi database cho blog WordPress tôi có nói là bạn cần phải làm một chuyện trước khi thực hiện việc backup database. Chuyện đó liên quan đến “post revision” của WordPress.
Có lần tôi hoảng hồn khi truy cập vào database, nhìn vào bảng wp_posts (lưu trữ toàn bộ bài viết trên blog WordPress) thì thấy có gần 10.000 mẫu tin -> có nghĩa là tôi đã viết tới … 10.000 bài viết (Thực tế, số bài viết hiện tại trên blog chỉ khoảng 1.166 bài) !? “Mẹ ơi, viết để mà chết hay sao mà viết nhiêu đó trong hơn 1 năm ?”. Vô coi thử thì tôi thấy rất nhiều mẫu tin có nội dung bị trùng lắp ! Vì sao thế ?
Tìm hiểu thì biết được đó là tính năng “post revision” của WordPress. Mỗi lần bạn mở bài viết ra, chỉnh sửa và lưu lại (hoặc WP sẽ tự động lưu), nó sẽ lưu thành một dòng mới trong database. Mục đích của việc làm này là giúp bạn quay lại các phiên bản trước đó nếu chẳng may bạn xóa hết nội dung và bấm nút Save. Mở một bài viết ra, bạn sẽ thấy bên dưới phần soạn thảo có một mục gọi là “Revisions”, bấm vào revision mà bạn muốn phục hồi -> nội dung hiện tại sẽ bị thay thế bởi nội dung được lưu vào thời điểm revision đó được tạo ra.
Có quá nhiều mẫu tin không cần thiết sẽ khiến cho việc truy xuất database trở nên chậm chạp và thời gian tải blog sẽ lâu hơn, quan trọng là khi bạn backup dữ liệu sẽ có quá nhiều dữ liệu thừa ! Bạn có thể sử dụng các plugin chuyên dụng để xóa các revision này hoặc tự làm bằng tay theo cách sau và có thể vô hiệu hóa tính năng này của WP…
Xóa các bài viết thừa trong database :
Truy cập vào phần quản trị database > bấm vào thẻ SQL và gõ vào dòng lệnh sau :
DELETE FROM tên_bảng_posts WHERE post_type = ‘revision’
Trong đó “tên_bảng_posts” là tên đầy đủ của bảng “posts” trong database của bạn. Ví dụ của tôi là “anhhangxomonlie_posts”. Xong bấm nút “Go”, hộp thoại cảnh báo hiện ra bạn bấm OK.
Nếu thành công bạn sẽ thấy nó thông báo bao nhiều mẫu tin đã bị xóa như sau :
Như trong hình, nó giúp tôi loại bỏ 4881 dòng dữ liệu thừa trong database.
Vô hiệu hóa tính năng “post revision” của WP :
Bạn mở tập tin “wp-config.php” ra và thêm vào dòng sau
define(‘WP_POST_REVISIONS’, false);
thêm dòng define(‘WP_POST_REVISIONS’, false); vào đầu hay cuối file “wp-config.php”
vậy anh hàng xóm
Thêm vào cuối file, sau dòng “Language” hay “LANG” gì đó, nhớ mang máng 🙂
để em thử xem sao !! thank anh hàng xóm
Anh ơi, anh có thể hướng dẫn vô hiệu hóa luôn auto draft ko?, nó cứ tự động save hoài
Em thêm dòng này vào wp-config.php :
define(‘AUTOSAVE_INTERVAL’, 123456);
Thực tế thì không có chỗ nào để tắt và cách bên trên là qui định thời gian tự save. Sau 123.456 giây, tức sau khoảng 35 tiếng nó mới tự save một lần -> gần như sẽ chẳng bao giờ xảy ra.
Em cám ơn anh rất nhiều 🙂
cảm ơn những thông tin rất hữu ích từ bài viết. mình đã xoá được những revision cũ.