Dọn dẹp Database WordPress định kỳ (Revision, Transient, Spam Comment…) (plugin WP-Optimize)

Lê Trung Hải 10 phút đọc

1. Giới thiệu

Danh sách các loại dữ liệu rác đang tồn đọng trong cơ sở dữ liệu.

Danh sách các loại dữ liệu rác đang tồn đọng trong cơ sở dữ liệu.

Mỗi lần lưu bài viết, WordPress tự động giữ lại một bản sao cũ (revision). Mỗi bình luận spam bị chặn, mỗi bài viết bị chuyển vào Thùng rác, mỗi dữ liệu tạm (transient) hết hạn — tất cả đều vẫn nằm nguyên trong cơ sở dữ liệu (database) cho tới khi được dọn dẹp thủ công. Theo thời gian, những dữ liệu này tích tụ ngày càng nhiều, khiến database phình to, truy vấn chậm hơn, và bản sao lưu (backup) nặng hơn không cần thiết.

Bài này hướng dẫn dọn dẹp định kỳ các loại dữ liệu dư thừa phổ biến nhất: revision bài viết, bản nháp tự động, bài/bình luận trong Thùng rác, bình luận spam, và transient hết hạn.

Áp dụng cho mọi website WordPress đã chạy được một thời gian (từ vài tháng trở lên), đặc biệt là site có tần suất đăng bài cao hoặc từng bị spam bình luận.

Lưu ý trước khi thao tác: nên có bản sao lưu (backup) trước khi dọn dẹp — đây là thao tác xoá dữ liệu, dù an toàn với các mục thông thường nhưng vẫn nên có phương án khôi phục nếu cần.

2. Chức năng / Mục đích

WP-Optimize là plugin miễn phí, có trên kho WordPress.org, chuyên dọn dẹp và tối ưu cơ sở dữ liệu WordPress theo từng hạng mục rõ ràng, có số liệu cụ thể trước khi xoá.

Lợi ích khi thực hiện

  • Giảm dung lượng database, giúp các truy vấn (load trang, tìm kiếm, thống kê) nhanh hơn.
  • Giảm dung lượng bản sao lưu định kỳ, tiết kiệm thời gian backup/restore.
  • Dọn sạch dữ liệu spam/rác không còn giá trị sử dụng, giữ database gọn gàng dễ kiểm tra khi cần.

Khi nào nên/không nên dùng

  • Nên dọn định kỳ (ví dụ hàng tháng), đặc biệt các mục an toàn: revision, auto-draft, thùng rác, spam comment, transient hết hạn.
  • Cân nhắc kỹ với các mục đánh dấu “thao tác chuyên sâu hơn” (ví dụ dọn metadata mồ côi, dữ liệu quan hệ mồ côi) — các thao tác này ít rủi ro nhưng phức tạp hơn, nên có backup trước khi chạy.
  • Không nên xoá toàn bộ revision nếu website có quy trình biên tập cần xem lại lịch sử chỉnh sửa bài viết — có thể cấu hình giữ lại một số revision gần nhất thay vì xoá sạch.

3. Hướng dẫn thực hiện

  1. Vào Plugin → Thêm Plugin, tìm “WP-Optimize”, bấm Cài đặt rồi Kích hoạt.
  2. Vào menu WP-Optimize → Database ở thanh bên trái. Nếu hiện màn hình thiết lập ban đầu, có thể bấm Exit setup để vào thẳng màn hình chính.
  3. Màn hình Optimizations liệt kê từng loại dữ liệu kèm số lượng thực tế đang có trong database — ví dụ “13 post revisions in your database”, “5 spam comments found”, “1 trashed post in your database”. Các mục an toàn (revision, auto-draft, thùng rác, spam/trash comment, bình luận chưa duyệt) đã được tick sẵn theo mặc định.
  4. Đọc qua các mục chưa được tick sẵn (có icon cảnh báo bên cạnh) — đây là các thao tác chuyên sâu hơn (dọn transient, metadata mồ côi…). Chỉ tick thêm nếu thực sự cần và đã hiểu rõ tác động.
  5. Bấm Run all selected optimizations để chạy toàn bộ các mục đã tick cùng lúc. Có thể tick thêm ô “Take a backup with UpdraftPlus before doing this” nếu đã cài UpdraftPlus.
  6. Đợi quá trình chạy xong — mỗi mục sẽ hiển thị kết quả cụ thể ngay bên dưới, ví dụ “13 post revisions deleted”, “5 spam comments deleted”, “1 post removed from Trash”.
  7. Vào tab Tables để xem chi tiết dung lượng từng bảng dữ liệu và tổng dung lượng database sau khi dọn dẹp.

Kiểm tra kết quả ngay sau bước: sau khi chạy xong, tải lại trang (F5) màn hình Optimizations — các mục vừa dọn phải hiển thị “No [loại dữ liệu] found” thay vì số lượng như trước, xác nhận đã dọn sạch thành công.

Phương án xử lý khi gặp lỗi:

  • Lỡ xoá nhầm dữ liệu cần dùng: nếu đã có backup trước khi dọn, khôi phục lại từ bản sao lưu. Nếu không có backup, một số dữ liệu (như bình luận trong Thùng rác) đôi khi vẫn còn khôi phục được trong khoảng thời gian ngắn tuỳ cấu hình hosting — liên hệ kỹ thuật kiểm tra ngay khi phát hiện.
  • Quá trình dọn dẹp chạy rất lâu không xong (database quá lớn): đây là dấu hiệu database đã tích tụ quá nhiều dữ liệu — nên báo kỹ thuật kiểm tra kỹ hơn thay vì tự chạy lại nhiều lần, tránh làm gián đoạn thao tác đang xử lý dở.
  • Không chắc một mục có an toàn để xoá hay không: ưu tiên chỉ chạy các mục đã được tick sẵn theo mặc định trước, để riêng các mục có icon cảnh báo cho lần sau hoặc nhờ kỹ thuật tư vấn.

4. Hình ảnh minh hoạ

Đăng nhập vào trang quản trị WordPress.

Đăng nhập vào trang quản trị WordPress.

Plugin WP-Optimize đã được cài đặt và kích hoạt.

Plugin WP-Optimize đã được cài đặt và kích hoạt.

Danh sách các loại dữ liệu rác kèm số lượng thực tế trong database.

Danh sách các loại dữ liệu rác kèm số lượng thực tế trong database.

Quá trình dọn dẹp đang chạy.

Quá trình dọn dẹp đang chạy.

Kết quả dọn dẹp — số lượng dữ liệu đã xoá cho từng mục.

Kết quả dọn dẹp — số lượng dữ liệu đã xoá cho từng mục.

Tải lại trang xác nhận database đã sạch, không còn dữ liệu rác.

Tải lại trang xác nhận database đã sạch, không còn dữ liệu rác.

Chi tiết dung lượng từng bảng dữ liệu trong tab Tables.

Chi tiết dung lượng từng bảng dữ liệu trong tab Tables.

Website vẫn hoạt động bình thường sau khi dọn dẹp database.

Website vẫn hoạt động bình thường sau khi dọn dẹp database.

5. Video hướng dẫn


Toàn bộ thao tác xem danh sách dữ liệu rác, chạy dọn dẹp, xác nhận kết quả và kiểm tra database sau khi dọn.

6. Lưu ý / Cảnh báo

  • Nên có bản sao lưu trước khi dọn dẹp, đặc biệt nếu chạy thêm các mục chuyên sâu (đánh dấu icon cảnh báo).
  • Cân nhắc kỹ trước khi xoá toàn bộ revision nếu quy trình biên tập của bạn cần xem lại lịch sử chỉnh sửa bài viết.
  • Không nên chạy dọn dẹp liên tục nhiều lần trong thời gian ngắn trên site có traffic thật, đặc biệt với thao tác “Optimize database tables” (có thể tạm khoá bảng trong lúc xử lý).
  • Cần liên hệ đơn vị thiết kế website để kiểm tra/hỗ trợ khi: quá trình dọn dẹp chạy rất lâu không hoàn tất hoặc báo lỗi; lỡ xoá nhầm dữ liệu quan trọng mà không có backup; hoặc database quá lớn cần được kiểm tra và tối ưu ở mức sâu hơn plugin có thể xử lý.

7. Kiểm tra sau khi hoàn tất

  • Xác nhận các mục đã dọn hiển thị “No [loại dữ liệu] found” khi tải lại trang Optimizations.
  • Kiểm tra tổng dung lượng database ở tab Tables đã giảm so với trước khi dọn.
  • Kiểm tra website (trang chủ, vài bài viết) vẫn hiển thị và hoạt động bình thường — dọn dẹp database không nên ảnh hưởng tới nội dung đang published.
  • Nếu vừa dọn revision, thử mở lại một vài bài viết để xác nhận nội dung bài viết hiện tại (bản mới nhất) vẫn còn nguyên vẹn — chỉ có lịch sử chỉnh sửa cũ bị xoá, không phải nội dung đang hiển thị.

8. Kết luận

Dọn dẹp database định kỳ là việc bảo trì đơn giản nhưng thường bị bỏ quên — chỉ cần vài phút mỗi tháng với plugin WP-Optimize, database sẽ luôn gọn gàng, giúp website chạy nhanh hơn và việc sao lưu cũng nhẹ nhàng hơn. Quan trọng nhất là luôn xem qua số liệu cụ thể trước khi xoá, và có backup dự phòng cho những thao tác chuyên sâu hơn.

Chúc các bạn thành công!