Cách xóa tất cả bình luận rác trên WordPress nhanh nhất là dùng 1 trong 4 công cụ: nút Empty Spam trong trang quản trị, lệnh WP-CLI có cờ --force, câu lệnh SQL trong phpMyAdmin, hoặc plugin WP Bulk Delete. Chọn cách nào tùy số lượng bình luận và quyền truy cập máy chủ của bạn. Hãy cùng An Trần Digital tìm hiểu ngay sau đây.
3 việc cần làm trước khi xóa bình luận rác hàng loạt
Trước khi xóa bình luận rác hàng loạt, bạn cần sao lưu database, đếm bình luận theo trạng thái và xác định tiền tố bảng. Ba bước này mất khoảng 5 phút nhưng giúp bạn khôi phục được nếu lỡ xóa nhầm bình luận thật.
- Sao lưu database. Xuất database bằng tab Export trong phpMyAdmin, bằng plugin sao lưu đang dùng, hoặc bằng lệnh
wp db export truoc-khi-xoa-comment.sqlnếu có WP-CLI. - Đếm bình luận theo trạng thái. Chạy
wp comment counthoặc câu SQLSELECT comment_approved, COUNT(*) FROM wp_comments GROUP BY comment_approved;để biết có bao nhiêu bình luận spam, chờ duyệt và trong thùng rác. - Xác định tiền tố bảng. Mở file
wp-config.php, tìm dòng$table_prefix. Nếu giá trị khácwp_(ví dụwpx7_), bạn thaywp_trong mọi câu SQL ở bài này bằng tiền tố thực tế.
Mỗi trạng thái bình luận được gọi bằng 3 tên khác nhau tùy công cụ. Bảng dưới giúp bạn chọn đúng điều kiện lọc:
Để duy trì blog ngoài link rút gọn & mình có làm aff cho 1 số bên hosting.
Các nhà cung cấp uy tín về mặt chất lượng & đội ngũ support nên mọi người cứ yên tâm.
Nếu bạn đang có ý định mua Hosting, VPS mình có list dưới đây các bạn click vào link trước khi mua để ủng hộ mình nhé. Mình cảm ơn nhiều
- Azdigi: Giá rẻ thì dùng gói Pro Gold Hosting còn chất lượng hơn thì em khuyên dùng Business Hosting. Có điều kiện thì lên VPS nhé
- Tino: Business Hosting, NVMe Hosting và NVMe VPS
- iNet: Cloud VPS và Web Hosting
- Tenten: Wordpress Hosting, SSD Hosting, Cloud Server và Tên miền .VN
- Nước ngoài có: Vultr
| Trạng thái | Tab trong trang quản trị | Giá trị comment_approved (SQL) |
Tham số --status (WP-CLI) |
|---|---|---|---|
| Spam | Spam (Thư rác) | spam |
spam |
| Chờ duyệt | Pending (Chờ duyệt) | 0 |
hold |
| Thùng rác | Trash (Thùng rác) | trash |
trash |
| Đã duyệt | Approved (Đã duyệt) | 1 |
approve |
Bình luận spam là thứ đã bị Akismet hoặc bạn đánh dấu rác, nên xóa an toàn. Bình luận chờ duyệt có thể lẫn bình luận thật của độc giả, nên lọc theo từ khóa hoặc liên kết trước khi xóa toàn bộ.
4 cách xóa tất cả bình luận rác trên WordPress
4 cách xóa tất cả bình luận rác trên WordPress khác nhau ở số lượng bình luận xử lý được và quyền truy cập cần có:
| Cách | Phù hợp khi | Quyền cần có | Xóa vĩnh viễn ngay? |
|---|---|---|---|
| 1. Trang quản trị | Dưới vài trăm bình luận, không rành kỹ thuật | Tài khoản Administrator hoặc Editor | Empty Spam: có. Move to Trash: không, nằm trong Thùng rác 30 ngày |
| 2. WP-CLI | Hàng nghìn đến hàng chục nghìn bình luận, có VPS | SSH + WP-CLI | Chỉ khi thêm --force |
| 3. SQL (phpMyAdmin) | Số lượng rất lớn, hosting có phpMyAdmin | Truy cập database | Có, không hoàn tác |
| 4. Plugin WP Bulk Delete | Không có SSH và phpMyAdmin | Tài khoản Administrator | Có, không hoàn tác |
Cách 1: Xóa bình luận rác trong trang quản trị WordPress
Để xóa bình luận rác trong trang quản trị WordPress, bạn vào Bình luận → tab Spam → nhấn nút Empty Spam. Nút này xóa vĩnh viễn toàn bộ bình luận spam chỉ với 1 cú nhấp, không cần chọn từng trang.
Xóa toàn bộ bình luận spam bằng nút Empty Spam
- Đăng nhập trang quản trị (
/wp-admin), chọn mục Bình luận ở menu trái. - Chọn tab Spam phía trên danh sách bình luận.
- Nhấn nút Empty Spam cạnh nút Áp dụng. WordPress xóa vĩnh viễn toàn bộ bình luận spam, không đưa qua Thùng rác.
Xóa bình luận chờ duyệt hàng loạt
Tab Chờ duyệt không có nút xóa toàn bộ, nên bạn xử lý theo từng trang bằng thao tác hàng loạt (Bulk actions):
- Chọn tab Chờ duyệt (Pending).
- Nhấn Screen Options (Tùy chọn hiển thị) ở góc phải trên, tăng số bình luận mỗi trang từ 20 lên 100–200. Mức cao hơn dễ gây lỗi hết thời gian xử lý trên hosting giới hạn tài nguyên PHP.
- Tích ô chọn tất cả ở đầu bảng.
- Chọn Mark as spam (Đánh dấu là spam) trong menu Bulk actions, nhấn Áp dụng.
- Lặp lại bước 3–4 đến khi tab Chờ duyệt trống, rồi vào tab Spam nhấn Empty Spam.
Đánh dấu spam thay vì chuyển thẳng vào Thùng rác có 2 lợi ích: bạn xóa được tất cả chỉ bằng 1 nút Empty Spam, và Akismet học thêm mẫu spam mới từ các bình luận bạn đánh dấu.
Nếu tab Chờ duyệt lẫn bình luận thật, gõ từ khóa đặc trưng của spam (ví dụ casino, http, bitcoin) vào ô Tìm kiếm bình luận để lọc riêng nhóm rác trước khi chọn tất cả.
Bình luận đã chuyển vào Thùng rác được WordPress tự xóa sau 30 ngày. Muốn xóa ngay, mở tab Thùng rác và nhấn Empty Trash.
Cách 2: Xóa tất cả bình luận rác bằng WP-CLI
Để xóa vĩnh viễn tất cả bình luận spam bằng WP-CLI, bạn chạy lệnh dưới đây trong thư mục gốc của WordPress. Cờ --force là bắt buộc: thiếu cờ này, lệnh chỉ chuyển bình luận vào Thùng rác chứ không xóa — chính tài liệu WP-CLI ghi ví dụ không có --force là thao tác chuyển vào thùng rác (WP-CLI: wp comment).
wp comment delete $(wp comment list --status=spam --format=ids) --force
Đổi giá trị --status để xóa nhóm bình luận khác:
# Xóa vĩnh viễn bình luận chờ duyệt
wp comment delete $(wp comment list --status=hold --format=ids) --force
# Dọn sạch Thùng rác
wp comment delete $(wp comment list --status=trash --format=ids) --force
# Chỉ xóa bình luận chờ duyệt có chứa liên kết
wp comment delete $(wp comment list --status=hold --search=http --format=ids) --force
Với hàng chục nghìn bình luận, shell có thể báo lỗi Argument list too long vì danh sách ID quá dài. Khi đó, bạn chia nhỏ thành từng lô 500 ID bằng xargs:
wp comment list --status=spam --format=ids | xargs -r -n 500 wp comment delete --force
Chạy lại wp comment count sau khi xóa để kiểm tra số bình luận spam đã về 0. Trên hosting dùng chung, thêm --path=/duong-dan/toi/wordpress nếu bạn không đứng trong thư mục gốc.
WP-CLI an toàn hơn SQL vì nó gọi hàm wp_delete_comment() của WordPress: hàm này xóa luôn metadata của bình luận và kích hoạt các hook để plugin cache, plugin thống kê cập nhật theo (wp_delete_comment).
Cách 3: Xóa tất cả bình luận rác bằng SQL trong phpMyAdmin
Để xóa tất cả bình luận spam bằng SQL, bạn chạy câu lệnh xóa đồng thời ở 2 bảng wp_comments và wp_commentmeta trong tab SQL của phpMyAdmin. Câu lệnh chỉ xóa wp_comments vẫn chạy được, nhưng để lại hàng nghìn dòng metadata mồ côi — Akismet ghi nhiều dòng như akismet_result, akismet_history cho mỗi bình luận nó kiểm tra.
- Mở phpMyAdmin từ cPanel hoặc trang quản lý hosting.
- Chọn database của website (tên database nằm ở dòng
DB_NAMEtrongwp-config.php). - Mở tab SQL, dán câu lệnh tương ứng, nhấn Go (Thực hiện).
-- Xóa vĩnh viễn bình luận spam kèm metadata
DELETE c, cm
FROM wp_comments c
LEFT JOIN wp_commentmeta cm ON cm.comment_id = c.comment_ID
WHERE c.comment_approved = 'spam';
Đổi điều kiện WHERE để xóa nhóm khác: '0' cho bình luận chờ duyệt, 'trash' cho Thùng rác. Câu dưới chỉ xóa bình luận chờ duyệt có chứa liên kết, giữ lại bình luận chờ duyệt không có link:
DELETE c, cm
FROM wp_comments c
LEFT JOIN wp_commentmeta cm ON cm.comment_id = c.comment_ID
WHERE c.comment_approved = '0'
AND c.comment_content LIKE '%http%';
Nếu trước đó bạn đã xóa bằng câu DELETE FROM wp_comments WHERE ... đơn giản, chạy thêm 2 câu sau để dọn metadata mồ côi và thu hồi dung lượng:
DELETE cm
FROM wp_commentmeta cm
LEFT JOIN wp_comments c ON c.comment_ID = cm.comment_id
WHERE c.comment_ID IS NULL;
OPTIMIZE TABLE wp_comments, wp_commentmeta;
Xóa bình luận spam và chờ duyệt bằng SQL không làm lệch số bình luận hiển thị trên bài viết, vì cột comment_count của WordPress chỉ đếm bình luận đã duyệt. Thao tác SQL không thể hoàn tác, nên chỉ chạy sau khi đã sao lưu database.
Cách 4: Xóa bình luận rác hàng loạt bằng plugin WP Bulk Delete
Để xóa bình luận rác hàng loạt khi không có SSH hay phpMyAdmin, bạn dùng plugin WP Bulk Delete của Xylus Themes: chọn trạng thái bình luận cần xóa rồi bấm xóa trong 1 lần. Tính đến tháng 10/2026, plugin có hơn 90.000 lượt cài đặt đang hoạt động, phiên bản 1.4.4, tương thích WordPress 7.1 (WordPress.org).
- Vào Plugin → Cài mới, tìm “WP Bulk Delete”, nhấn Cài đặt rồi Kích hoạt.
- Mở menu WP Bulk Delete, chọn phần xóa bình luận (Delete Comments).
- Chọn trạng thái Spam, Pending hoặc Trash; giới hạn theo khoảng ngày nếu muốn giữ bình luận gần đây.
- Nhấn nút xóa và theo dõi thanh tiến trình đến khi hoàn tất.
- Mở mục Cleanup, chạy dọn Orphan Comment Meta để xóa metadata mồ côi còn sót.
Bản miễn phí lọc bình luận theo trạng thái và theo ngày; lọc theo tác giả, email, bài viết và lên lịch xóa tự động thuộc bản Pro. Nhà phát triển ghi rõ thao tác xóa là vĩnh viễn, không hoàn tác được, nên bạn vẫn cần sao lưu trước. Sau khi dọn xong, bạn có thể hủy kích hoạt plugin để giảm số plugin chạy thường trực.
Xóa xong, làm sao để bình luận rác không quay lại?
Để bình luận rác không quay lại sau khi xóa, bạn cần lọc spam tự động bằng plugin và siết cấu hình thảo luận của WordPress. Xóa chỉ giải quyết phần đã tồn tại; chặn mới quyết định hộp bình luận có sạch trong những tháng tiếp theo.
Bật Akismet để lọc và tự xóa spam
Akismet đi kèm sẵn khi cài WordPress nhưng chưa được kích hoạt; bạn cần đăng ký API key để dùng. Plugin giữ bình luận spam trong database 15 ngày rồi tự xóa, và bình luận bị xóa theo cách này không đi qua Thùng rác (WPBeginner). Nhờ vậy, tab Spam sẽ không tích tụ hàng nghìn bình luận như trên website bỏ quên.
Siết cài đặt trong Cài đặt → Thảo luận
- Giữ bình luận chờ duyệt nếu có từ 2 liên kết trở lên — phần lớn spam chèn nhiều link để kéo backlink.
- Tự động đóng bình luận trên bài viết cũ hơn 14–30 ngày, vì bot spam thường nhắm bài cũ ít người theo dõi.
- Thêm từ khóa bị cấm (Disallowed Comment Keys) như tên miền cá cược, từ khóa thuốc; bình luận khớp từ khóa sẽ vào thẳng Thùng rác.
- Yêu cầu tên và email người bình luận để loại bớt bot gửi form rỗng.
Thêm lớp chặn bot ở form bình luận
Nếu Akismet vẫn lọt spam, bạn bổ sung CAPTCHA không gây phiền như Cloudflare Turnstile, hoặc plugin chống spam không dùng CAPTCHA như Antispam Bee. Với website vệ tinh không cần tương tác, cách triệt để nhất là tắt bình luận hoàn toàn: bỏ chọn ô cho phép bình luận trên bài mới trong Cài đặt → Thảo luận, rồi dùng Chỉnh sửa hàng loạt để đóng bình luận trên bài cũ.
Các thiết lập trên là một phần của việc bảo vệ website WordPress khỏi spam; bạn có thể đọc thêm hướng dẫn cách chặn spam comment WordPress [LINK: URL bài đích — cần xác nhận] để cấu hình chi tiết từng plugin.
Câu hỏi thường gặp về xóa bình luận rác WordPress
Vì sao chạy lệnh WP-CLI xong, bình luận spam vẫn nằm trong Thùng rác?
Bình luận spam vẫn nằm trong Thùng rác vì lệnh thiếu cờ --force. Không có cờ này, wp comment delete chỉ chuyển bình luận vào Thùng rác; thêm --force vào cuối lệnh để xóa vĩnh viễn.
Xóa bình luận rác rồi có khôi phục được không?
Bình luận xóa bằng Empty Spam, Empty Trash, SQL, WP-CLI có --force hoặc WP Bulk Delete không khôi phục được, trừ khi bạn có bản sao lưu database. Riêng bình luận chuyển vào Thùng rác bằng Move to Trash có thể khôi phục trong 30 ngày.
Xóa bình luận rác có làm giảm số bình luận hiển thị trên bài viết không?
Xóa bình luận spam và chờ duyệt không làm giảm số bình luận hiển thị, vì WordPress chỉ đếm bình luận đã duyệt. Số này chỉ thay đổi khi bạn xóa bình luận ở trạng thái Đã duyệt.
Có nên xóa toàn bộ bình luận chờ duyệt không?
Bạn chỉ nên xóa toàn bộ bình luận chờ duyệt khi đã lướt qua và chắc chắn không còn bình luận thật. Nếu chưa chắc, lọc theo liên kết hoặc từ khóa spam như hướng dẫn ở Cách 1, Cách 2 và Cách 3.
Bình luận rác có ảnh hưởng đến SEO không?
Bình luận spam và chờ duyệt không hiển thị công khai nên không ảnh hưởng trực tiếp đến nội dung trang; chúng làm phình database và chậm trang quản trị. Bình luận rác đã được duyệt thì hiển thị link kém chất lượng ngay trên bài, nên cần xóa sớm.
Kết luận
Cách xóa tất cả bình luận rác trên WordPress phụ thuộc vào quy mô: vài trăm bình luận dùng nút Empty Spam, hàng chục nghìn bình luận dùng WP-CLI có --force hoặc SQL xóa kèm wp_commentmeta, còn khi không có SSH hay phpMyAdmin thì dùng plugin WP Bulk Delete. Luôn sao lưu database trước khi xóa, sau đó bật Akismet và siết cài đặt Thảo luận để bình luận rác không tích tụ trở lại.









