Site bị chèn trang spam tiếng Nhật, cờ bạc: nhận ra trong Search Console và dọn sạch từng bước
Site bị chèn hàng nghìn trang spam thường không có dấu hiệu gì trên trang chủ. Bài này chỉ cách nhận ra sớm qua Search Console, dọn theo đúng thứ tự và chặn đường quay lại.

Một buổi sáng, chủ site gõ tên thương hiệu trên Google và thấy bên dưới là hàng loạt kết quả tiếng Nhật, quảng cáo cá cược, thuốc giảm cân — tất cả đều mang tên miền của mình. Mở trang chủ thì mọi thứ vẫn bình thường. Đây là kiểu tấn công rất phổ biến với site WordPress và các site PHP cũ ở Việt Nam: kẻ tấn công chèn mã sinh ra hàng nghìn trang rác, thường chỉ hiện cho máy thu thập của Google chứ không hiện cho người dùng bình thường, để mượn uy tín tên miền của bạn đẩy trang của họ.
Thiệt hại không chỉ là xấu mặt. Google có thể gắn cảnh báo "Trang web này có thể đã bị tấn công" ngay trên kết quả tìm kiếm, áp thao tác thủ công vì spam do bị tấn công, và ngân sách thu thập của site bị nuốt bởi hàng chục nghìn trang rác. Trang thật của bạn bị thu thập chậm hơn, tụt hạng.
Dấu hiệu nhận ra sớm
Phần lớn chủ site phát hiện muộn vì chỉ nhìn trang chủ. Các dấu hiệu sớm nằm trong số liệu:
| Nơi xem | Dấu hiệu | Mức nghi ngờ |
|---|---|---|
| Search Console → Bảo mật và thao tác thủ công | Có thông báo "Nội dung bị tấn công" hoặc "Spam do bị tấn công" | Chắc chắn |
| Search Console → Trang | Số trang được phát hiện/đã lập chỉ mục tăng vọt trong vài ngày mà bạn không đăng gì | Rất cao |
| Search Console → Hiệu suất → Truy vấn | Xuất hiện truy vấn tiếng Nhật, tiếng Trung, tên thuốc, cá cược | Rất cao |
| Search Console → Hiệu suất → Trang | Đường dẫn lạ dạng /abc123.html, /?p=dãy số dài, thư mục chưa từng tạo | Rất cao |
| Sitemap | Có sitemap lạ được nộp hoặc nằm trong robots.txt | Chắc chắn |
| Search Console → Cài đặt → Người dùng | Có chủ sở hữu lạ đã được thêm | Chắc chắn |
| Lệnh site:tenmien.vn trên Google | Kết quả có tiêu đề lạ | Cao |
Dòng về người dùng trong bảng hay bị bỏ qua: kẻ tấn công đôi khi xác minh tên miền của bạn trong Search Console bằng tài khoản riêng (qua tệp xác minh đặt lên máy chủ), rồi nộp sitemap rác để Google lập chỉ mục nhanh hơn. Một khi đã là chủ sở hữu, họ còn có thể gỡ quyền của người khác.
Một công cụ kiểm định kỳ có theo dõi số trang trong sitemap và robots.txt sẽ bắt được một phần dấu hiệu này. Nhưng chỉ số đáng tin nhất vẫn là truy vấn lạ trong báo cáo Hiệu suất, nên đưa vào việc đọc hằng tuần như trong lịch kiểm site.
Vì sao mở trang chủ thấy bình thường
Kỹ thuật phổ biến gọi là che giấu (cloaking): mã độc kiểm tra ai đang truy cập. Nếu là máy thu thập của Google (dựa vào chuỗi nhận dạng hoặc dải IP), nó trả trang rác. Nếu là người gõ thẳng địa chỉ, nó trả trang bình thường. Một số biến thể còn chỉ chuyển hướng người đến từ trang kết quả Google sang site cá cược, còn người gõ trực tiếp thì không.
Cách kiểm chính xác: dùng công cụ Kiểm tra URL trong Search Console với một đường dẫn lạ, bấm Kiểm tra URL đang hoạt động, xem ảnh chụp và mã HTML mà Google thấy. Đó là phiên bản thật mà Google đang lập chỉ mục.

Dọn theo thứ tự: đóng cửa trước, quét nhà sau
Sai lầm hay gặp nhất là xoá trang rác ngay, rồi một tuần sau chúng quay lại. Nếu không đóng cửa vào, mọi thứ bạn xoá sẽ được sinh lại. Thứ tự đúng:
- Sao lưu nguyên trạng toàn bộ mã nguồn và cơ sở dữ liệu, kể cả phần bị nhiễm. Cần để đối chiếu và làm bằng chứng.
- Lấy lại quyền Search Console: gỡ mọi chủ sở hữu lạ, xoá tệp xác minh lạ trên máy chủ (tệp dạng google123abc.html), xoá sitemap lạ đã nộp.
- Đổi toàn bộ mật khẩu: quản trị site, hosting, FTP/SFTP, cơ sở dữ liệu, email gắn với tên miền. Gỡ tài khoản quản trị lạ.
- Tìm cửa vào: plugin hoặc giao diện có lỗ hổng đã biết, plugin bản lậu (rất phổ biến — bản "miễn phí" của plugin trả phí thường kèm mã độc sẵn), mật khẩu yếu, tệp tải lên cho phép chạy PHP.
- Dọn mã độc: thay toàn bộ lõi WordPress, plugin, giao diện bằng bản sạch tải từ nguồn chính thức (không vá từng tệp). Tìm tệp PHP lạ trong thư mục uploads, tệp .htaccess bị sửa, mã chèn trong wp-config.php, các dòng lạ trong bảng options và bảng bài viết.
- Kiểm lại bằng mắt Google: Kiểm tra URL với vài đường dẫn rác, phải trả 404 hoặc 410; với trang thật, phải hiện đúng nội dung.
Nếu site không có bản sao lưu sạch và mã nguồn đã bị sửa nhiều chỗ, cân nhắc dựng lại từ đầu trên hosting mới, chỉ chuyển nội dung bài viết (đã kiểm) và ảnh. Mất vài ngày nhưng chắc chắn hơn vá chắp vá.
Loại trang rác khỏi kết quả Google
Sau khi dọn sạch, các trang rác cần trả mã 404 hoặc 410. Google sẽ tự loại chúng dần khi thu thập lại. Mã 410 (đã xoá vĩnh viễn) thường được xử lý nhanh hơn một chút. Để đẩy nhanh:
- Không chặn các đường dẫn rác trong robots.txt. Chặn thì Google không thu thập lại được, không thấy 404, trang rác nằm lại lâu hơn.
- Nếu trang rác theo mẫu chung (cùng thư mục, cùng tiền tố), dùng công cụ Xoá URL trong Search Console với tuỳ chọn xoá theo tiền tố để ẩn tạm thời khỏi kết quả trong khoảng sáu tháng, đủ thời gian để Google thu thập và thấy 404.
- Nộp lại sitemap sạch chỉ gồm trang thật.
- Theo dõi số trang trong báo cáo Trang giảm dần. Với vài chục nghìn trang rác, quá trình có thể mất nhiều tuần tới vài tháng — đây là chuyện bình thường.
Ảnh hưởng tới phần còn lại của site
Ngoài chuyện xấu mặt trên trang kết quả, hàng chục nghìn trang rác còn gây hại theo những cách ít thấy hơn:
- Ngân sách thu thập bị nuốt: máy thu thập của Google dành phần lớn thời gian cho trang rác, trang thật mới đăng được phát hiện chậm hơn. Với site nhỏ thường không đáng kể, nhưng khi trang rác nhiều gấp mười trang thật thì có ảnh hưởng — nền tảng ở bài ngân sách thu thập của SEO Gốc.
- Máy chủ chậm: mã độc sinh trang theo yêu cầu, mỗi lượt máy thu thập ghé đều tốn tài nguyên, hosting chia sẻ có thể bị nhà cung cấp tạm khoá vì vượt mức.
- Email bị đánh dấu thư rác: tên miền dính danh sách đen thì thư gửi từ email tên miền đó cũng dễ vào hộp thư rác của khách.
- Khách mất lòng tin: người bấm từ Google bị chuyển sang site cá cược sẽ không quay lại.
Vì vậy, khi dọn xong, ngoài việc theo dõi trang rác giảm, hãy kiểm thêm tốc độ máy chủ, thử gửi một email ra ngoài, và tra tên miền trên các danh sách chặn công khai.
Nếu có thao tác thủ công
Nếu Search Console báo thao tác thủ công loại "spam do bị tấn công" hoặc có cảnh báo bảo mật, sau khi dọn xong bạn gửi yêu cầu xem xét lại. Trong yêu cầu, mô tả ngắn: site bị tấn công qua đâu, đã dọn những gì, đã đóng lỗ hổng nào, đã đổi mật khẩu nào. Đừng gửi trước khi chắc chắn sạch — bị từ chối thì lần sau xét lâu hơn. Quy trình chi tiết có ở bài thao tác thủ công.

Chống tái nhiễm
| Biện pháp | Công sức | Hiệu quả |
|---|---|---|
| Gỡ plugin, giao diện bản lậu và bản bỏ rơi | Thấp | Rất cao |
| Bật xác thực hai lớp cho tài khoản quản trị | Thấp | Cao |
| Cấm chạy PHP trong thư mục uploads | Thấp (một dòng cấu hình) | Cao |
| Tắt chỉnh sửa tệp từ trong quản trị (DISALLOW_FILE_EDIT) | Thấp | Trung bình |
| Sao lưu tự động hằng ngày, giữ bản ngoài máy chủ | Trung bình | Rất cao khi có sự cố |
| Theo dõi truy vấn và số trang hằng tuần | Thấp | Phát hiện sớm |
Biện pháp cuối là thứ giúp bạn phát hiện trong vài ngày thay vì vài tháng. Khi theo dõi site định kỳ, số trang trong sitemap và các thay đổi bất thường được ghi theo từng lần kiểm; kết hợp với việc liếc qua danh sách truy vấn mỗi tuần là đủ để không bị bất ngờ.
Danh sách kiểm khi nghi bị tấn công
- ☐ Xem Bảo mật và thao tác thủ công trong Search Console.
- ☐ Lọc truy vấn và trang lạ trong báo cáo Hiệu suất 28 ngày.
- ☐ Xem Cài đặt → Người dùng và quyền: có chủ sở hữu lạ?
- ☐ Xem danh sách sitemap đã nộp và nội dung robots.txt.
- ☐ Kiểm tra URL đang hoạt động với một đường dẫn lạ.
- ☐ Sao lưu nguyên trạng, đổi mật khẩu, tìm cửa vào, dọn bằng bản sạch.
- ☐ Trang rác trả 404/410, không chặn robots.txt, nộp sitemap sạch.
- ☐ Gửi xem xét lại nếu có thao tác thủ công.
Với agency quản nhiều site khách, nên coi việc bị tấn công là sự cố có quy trình riêng, có người trực và có mẫu thư báo khách — như với các sự cố kỹ thuật sau deploy.
Hỏi đáp
Site nhỏ ít người biết thì có bị tấn công không?
Có. Phần lớn vụ chèn spam là tự động, máy quét hàng loạt site có plugin lỗ hổng, không chọn site theo độ nổi tiếng.
Dọn xong bao lâu thì hết trang rác trên Google?
Tuỳ số lượng: vài trăm trang có thể hết trong vài tuần; vài chục nghìn trang có thể mất vài tháng. Công cụ Xoá URL giúp ẩn tạm trong lúc chờ.
Có nên chuyển hướng trang rác về trang chủ?
Không. Trang rác nên trả 404 hoặc 410. Chuyển hướng về trang chủ làm Google mất thời gian xử lý hơn và không có lợi gì.
Thứ hạng có hồi lại sau khi dọn không?
Thường là có, khi trang rác đã được loại và thao tác thủ công (nếu có) đã được gỡ. Thời gian hồi phụ thuộc mức độ nhiễm và thời gian bị nhiễm.
Plugin bảo mật có đủ để chống tấn công?
Không đủ một mình. Nguyên nhân lớn nhất là plugin lỗ hổng, bản lậu và mật khẩu yếu. Plugin bảo mật chỉ là một lớp phụ.
Làm sao biết plugin đang dùng có lỗ hổng?
Xem ngày cập nhật gần nhất trên trang plugin chính thức và tra tên plugin trong các cơ sở dữ liệu lỗ hổng WordPress công khai. Plugin không cập nhật quá một năm nên thay.
Đọc tiếp

Kiểm site WordPress hằng tháng: trang rác do plugin sinh ra, cập nhật và những chỗ hay vỡ
WordPress dễ dùng nhưng tự sinh ra rất nhiều trang mà bạn không cố ý tạo. Đây là danh sách kiểm hằng tháng dành riêng cho WordPress, xếp theo mức hay…
7 phút đọc
Thao tác thủ công (manual action): đọc thông báo, sửa tận gốc và gửi yêu cầu xem xét lại
Thao tác thủ công là loại tụt hạng rõ ràng nhất: có tên lỗi, phạm vi và đường xin xem xét lại. Sửa toàn site chứ không chỉ mấy URL ví dụ, kèm bằng ch…
7 phút đọc
Lịch kiểm site SEO theo tuần, tháng, quý: việc nào ở nhịp nào cho khỏi sót
Kiểm site không phải việc làm một lần cho xong. Bài này chia các đầu việc vào ba nhịp tuần, tháng, quý, kèm thời lượng và thứ tự để một người cũng gi…
7 phút đọc
Đổi giao diện hoặc chuyển nền tảng web: kiểm gì trước, trong và sau ngày lên sóng
Đổi giao diện là lúc site dễ mất thứ hạng nhất mà không ai nhận ra ngay. Bài này chia việc kiểm thành ba chặng: trước khi đổi, ngày lên sóng, và bốn…
7 phút đọcCùng chuyên mục: Kiểm site định kỳ (9 bài)