Kiểm tra website WordPress có nhiễm mã độc không là bước xác minh chủ động: thay vì chờ thấy triệu chứng, bạn dùng công cụ quét để truy ra mã lạ. Bài này chỉ cách kiểm từ ngoài lẫn trên máy chủ, và quan trọng hơn — nêu rõ giới hạn của từng cách để bạn không nhầm “quét sạch” với “web sạch”.
1. Quét từ bên ngoài (nhanh, không cần cài)
Cách dễ nhất để bắt đầu. Bạn nhập địa chỉ web vào công cụ quét từ xa:
- Sucuri SiteCheck (sitecheck.sucuri.net) — kiểm mã độc lộ ra ngoài, tình trạng bị gắn cờ và danh sách đen.
- VirusTotal — đối chiếu URL với khoảng 70 công cụ dò và cơ sở blacklist.
Giới hạn quan trọng: quét từ xa chỉ “nhìn” được phần HTML/JavaScript hiện ra ngoài. Nó không thấy cửa hậu (backdoor) viết bằng PHP nằm sâu trong máy chủ. Vì vậy “SiteCheck báo sạch” chưa có nghĩa web bạn sạch.
2. Google Search Console — kênh chính thống
Đây là nơi đáng tin nhất để biết Google đánh giá web bạn ra sao:
- Vào Bảo mật và Tác vụ thủ công → Vấn đề bảo mật (Security Issues). Nếu Google phát hiện web bị hack, mục này liệt kê loại vấn đề và URL mẫu.
- Đối chiếu thêm trạng thái Google Safe Browsing để xem tên miền có bị gắn cờ không.
Nếu đã dính cảnh báo, xem cách gỡ ở bài gỡ cảnh báo “trang này có thể gây hại”.
3. Đối chiếu file gốc bằng WP-CLI (mạnh nhất, miễn phí)
Cách hiệu quả nhất để phát hiện file bị sửa hoặc chen lén — so file trên web với bản gốc chính thức của WordPress.org:
wp core verify-checksums— kiểm các file lõi.wp plugin verify-checksums --all— kiểm các plugin có trên kho chính thức.
Lệnh báo ngay file lõi/plugin bị thay đổi hoặc file lạ chen vào. Nếu không dùng được dòng lệnh, có thể tải đúng bản WordPress (xem số bản trong wp-includes/version.php) rồi so thư mục wp-admin và wp-includes.
4. Quét trên máy chủ bằng plugin
Plugin chạy trực tiếp trên hosting (Wordfence, MalCare, Sucuri…) soi được file PHP và cơ sở dữ liệu — sâu hơn quét từ xa. So sánh ưu nhược điểm ở bài so sánh plugin quét mã độc. Lưu ý: nếu web đã bị chiếm sâu, chính plugin cũng có thể bị vô hiệu, nên hãy chéo-kiểm bằng checksums.
5. Soi nhanh thủ công
Vài chỗ đáng liếc qua: tài khoản lạ trong Người dùng; file .php bất thường trong wp-content/uploads/; giá trị siteurl/home trong cài đặt có đúng tên miền không. Mã độc hay ẩn ở những nơi ít ai ngờ — chi tiết ở bài mã độc thường giấu ở đâu trong WordPress.
Hiểu kết quả để khỏi hoảng nhầm
Khi chạy verify-checksums, công cụ liệt kê những file khác với bản gốc — nhưng đừng vội cho rằng tất cả đều là mã độc. File ngôn ngữ hoặc một vài file cấu hình có thể khác một cách hợp lệ. Điều thật sự đáng nghi là file lạ không có trong bản gốc, nhất là khi nằm trong wp-includes/ hay wp-admin/, và file PHP nằm sai chỗ như trong uploads/. Tương tự, với cú pháp site:tenmiencuaban.com trên Google: nếu kết quả trả về những trang bạn chưa từng tạo — tiếng Nhật, thuốc, cờ bạc — đó là bằng chứng rõ ràng của SEO spam đã bị Google lập chỉ mục, cần xử ngay vì nó ảnh hưởng trực tiếp tới thứ hạng.
Đọc kết quả quét sao cho đúng
Khi dùng công cụ quét từ xa như SiteCheck hay VirusTotal, đừng chỉ nhìn chữ “sạch” hay “nhiễm” rồi yên tâm hoặc hoảng loạn. Hãy đọc kỹ phần chi tiết: công cụ thường chỉ ra tên miền lạ mà web bạn đang nạp tài nguyên về, cảnh báo blacklist từ những danh sách nào, và đoạn mã đáng ngờ nằm ở URL nào. Những thông tin này giúp bạn khoanh vùng để xử, thay vì dọn mò. Ngược lại, nếu công cụ báo “không phát hiện” mà web vẫn có triệu chứng lạ, đừng vội mừng — như đã nói, quét từ xa không nhìn được vào bên trong máy chủ.
Đừng quên kiểm trên điện thoại
Nhiều mã chuyển hướng chỉ kích hoạt trên thiết bị di động để né chủ web (vốn hay dùng máy tính). Vì vậy ngoài kiểm trên máy tính, hãy mở web trên điện thoại bằng chế độ ẩn danh và bấm vào từ kết quả Google. Nếu trên điện thoại bị đẩy đi mà trên máy tính thì không, gần như chắc chắn web đã bị chèn mã có điều kiện.
Nên dùng cách nào — bảng so sánh nhanh
| Cách kiểm | Thấy được | Không thấy | Chi phí |
|---|---|---|---|
| Quét từ xa (SiteCheck/VirusTotal) | Mã lộ ra ngoài, bị gắn cờ | Cửa hậu PHP trong máy chủ | Miễn phí |
| Google Search Console | Đánh giá của Google, URL mẫu | Mã Google chưa bắt được | Miễn phí |
| Đối chiếu checksums (WP-CLI) | File lõi/plugin bị sửa hoặc lạ | Mã nằm trong cơ sở dữ liệu | Miễn phí |
| Plugin quét server-side | File PHP và cơ sở dữ liệu | Có thể bị vô hiệu nếu web bị chiếm sâu | Free / trả phí |
Không cách nào thấy hết một mình. Cách chắc chắn là phối hợp: quét từ xa cộng Search Console để biết “có vấn đề không”, rồi checksums cộng plugin để biết “vấn đề nằm ở đâu”.

Bao lâu nên kiểm một lần
Với web cá nhân ít thay đổi, quét định kỳ hằng tháng và mỗi khi cập nhật lớn là đủ. Với web kinh doanh hay bán hàng, nên bật giám sát thay đổi file để được báo ngay khi có file lạ chen vào, kèm quét tự động hằng tuần. Phát hiện trong vài giờ thay vì vài tuần chính là khác biệt giữa “dọn nhẹ nhàng” và “mất khách, bị Google phạt nặng”.
Quét xong nghi có vấn đề?
Phát hiện được mới là một nửa; dọn sạch tận gốc cả backdoor lẫn lỗ hổng mới là phần khó. Nếu cần làm nhanh và chắc, Web22 nhận kiểm tra và xử lý mã độc kèm gia cố để không tái nhiễm.
Câu hỏi thường gặp
Công cụ quét online báo sạch là yên tâm chưa?
Chưa hẳn. Quét từ xa không thấy cửa hậu PHP server-side. Hãy kết hợp thêm verify-checksums và Google Search Console.
Bao lâu nên kiểm một lần?
Với web đang kinh doanh, nên bật giám sát thay đổi file liên tục và quét định kỳ hằng tuần, thay vì chỉ kiểm khi có sự cố.
Nguồn: WP-CLI verify-checksums, Google — Security Issues report.
