Site bị hack chèn spam: từ khoá Nhật, trang cờ bạc ẩn, chuyển hướng điện thoại và cách dọn
Kiểu hack SEO phổ biến không phá site mà ký sinh: chèn hàng nghìn trang spam hoặc liên kết ẩn, chỉ hiện cho Googlebot hoặc người đến từ Google, nên chủ site vào bằng trình duyệt thấy mọi thứ bình thường. Phát hiện bằng tìm site:, Search Console và gọi trang giả làm Googlebot.

Chủ site mở trang chủ, mọi thứ bình thường. Nhưng gõ site:tenmien.vn trên Google thì ra hàng nghìn kết quả tiếng Nhật bán đồng hồ, túi xách, hoặc tiếng Việt quảng cáo cá cược, “nhà cái uy tín”. Đó là kiểu hack SEO hay gặp nhất: kẻ tấn công không phá site mà ký sinh trên uy tín tên miền của bạn để đẩy trang của họ lên Google. Vì mục tiêu là Google, mã độc thường được viết để chỉ hiện nội dung spam cho Googlebot hoặc cho người đến từ trang kết quả, còn khi chủ site gõ thẳng địa chỉ thì không thấy gì lạ. Site trường học, cơ quan, doanh nghiệp vừa dùng WordPress cũ là mục tiêu ưa thích, vì tên miền có tuổi và uy tín, mà ít ai trông.
Các kiểu hack SEO hay gặp
| Kiểu | Biểu hiện | Ai thấy |
|---|---|---|
| Spam từ khoá Nhật (Japanese keyword hack) | Hàng nghìn trang mới bằng tiếng Nhật bán hàng hiệu giả | Googlebot; người dùng thường thấy 404 hoặc trang lạ |
| Trang cờ bạc, cá cược chèn vào thư mục | Thư mục lạ như /wp-content/uploads/2023/xyz/ chứa trang tiếng Việt quảng cáo nhà cái | Mọi người, nếu biết địa chỉ |
| Liên kết ẩn | Khối liên kết tới site cờ bạc, thuốc, giấu bằng CSS ở chân trang | Chủ yếu Googlebot |
| Chuyển hướng có điều kiện | Người dùng điện thoại đến từ Google bị chuyển sang trang cờ bạc; gõ thẳng địa chỉ thì không | Người dùng thật từ Google, rất khó tự phát hiện |
| Thay title, mô tả | Kết quả tìm kiếm hiện tiêu đề spam dù trang hiện bình thường | Googlebot |
| Sitemap giả | Tệp sitemap lạ được gửi vào Search Console của bạn bằng tài khoản kẻ tấn công đã tự xác minh |
Trường hợp cuối nguy hiểm vì ít ai nghĩ tới: kẻ tấn công đã có quyền ghi tệp lên site thì cũng tải được tệp xác minh Search Console, thêm chính họ làm chủ sở hữu, rồi gửi sitemap spam. Kiểm danh sách người dùng và chủ sở hữu trong Search Console là bước bắt buộc khi dọn.
Phát hiện: năm cách kiểm
- Tìm
site:trên Google.site:tenmien.vnrồi xem vài trang kết quả; thêm từ khoá spam phổ biến:site:tenmien.vn casino,site:tenmien.vn nhà cái,site:tenmien.vn viagra. Kết quả bằng chữ Nhật, Trung trên site tiếng Việt là dấu hiệu gần như chắc chắn. - Search Console, mục Vấn đề bảo mật. Google gửi cảnh báo khi phát hiện site bị xâm nhập. Đồng thời xem báo cáo Hiệu suất: câu tìm lạ (tên hàng hiệu, cá cược) mà site bạn hiện ra là dấu hiệu sớm.
- Báo cáo Trang, Sitemap trong Search Console. Số trang được lập chỉ mục tăng vọt không do bạn đăng bài; sitemap lạ trong danh sách.
- Gọi trang giả làm Googlebot và giả người đến từ Google:
Lệnh thứ hai giả người dùng iPhone bấm từ Google: nếu nhận chuyển hướng sang tên miền lạ, site đang bị chuyển hướng có điều kiện.curl -s -A "Googlebot/2.1 (+http://www.google.com/bot.html)" https://tenmien.vn/ | grep -iE "casino|bet|nhà cái|viagra" curl -s -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) Mobile" -e "https://www.google.com/" -o /dev/null -w "%{http_code} %{redirect_url}\n" https://tenmien.vn/ - Công cụ Kiểm tra URL, kiểm tra trực tiếp, xem HTML đã thu thập: đây là đúng thứ Googlebot thật nhận, kể cả khi mã độc lọc theo IP của Google.
Ngoài ra, chấm điểm SEO giúp phát hiện gián tiếp: title, canonical, số liên kết đi ra ngoài thay đổi bất thường so với lần chấm trước là dấu hiệu nên kiểm kỹ.
Dọn: theo thứ tự, không bỏ bước
- Sao lưu trạng thái hiện tại (cả tệp và cơ sở dữ liệu) để điều tra, dù đã bị nhiễm.
- Đổi mọi mật khẩu: quản trị site, FTP/SFTP, hosting, cơ sở dữ liệu, email quản trị. Đổi khoá bí mật trong tệp cấu hình (với WordPress là các khoá muối trong
wp-config.php) để đăng xuất mọi phiên. - Tìm và gỡ mã độc. Tệp PHP lạ trong thư mục ảnh tải lên; tệp có tên giống tệp hệ thống nhưng sai một chữ; đoạn mã
eval(base64_decode(,gzinflateở đầu tệp; tệp.htaccesscó quy tắc chuyển hướng theo nguồn giới thiệu hay theo chuỗi nhận dạng. - Thay lõi và plugin bằng bản sạch tải từ nguồn chính thức, thay vì sửa từng tệp. Gỡ plugin, giao diện không dùng.
- Dọn cơ sở dữ liệu: bài viết, trang ẩn spam; tài khoản quản trị lạ; tuỳ chọn có chèn mã.
- Tìm lỗ hổng đã bị dùng: plugin cũ có lỗ hổng đã công bố, mật khẩu yếu, tài khoản FTP dùng chung. Không vá lỗ thì vài tuần sau bị lại.
- Search Console: xoá người dùng, chủ sở hữu lạ; xoá sitemap lạ.

Xử lý các trang spam đã được lập chỉ mục
Dọn xong mã độc, hàng nghìn địa chỉ spam vẫn nằm trong chỉ mục của Google. Để chúng rơi ra nhanh:
- Các địa chỉ spam phải trả 404 hoặc 410. Không chuyển hướng chúng về trang chủ.
- Nếu chúng có mẫu chung (cùng thư mục, cùng kiểu tham số), có thể cấu hình máy chủ trả 410 cho cả mẫu.
- Gửi sitemap thật của bạn để Google thu thập lại trang thật.
- Dùng công cụ Xoá trong Search Console để ẩn tạm thời những địa chỉ spam lộ liễu nhất trong lúc chờ Google thu thập lại. Công cụ này chỉ ẩn khoảng sáu tháng, không thay cho 404/410.
- Không chặn các địa chỉ spam bằng robots.txt: Google không thu thập lại được để thấy 404, chúng sẽ nằm trong chỉ mục lâu hơn.
Nếu Google đã áp thao tác thủ công hoặc ghi nhận vấn đề bảo mật, gửi yêu cầu xem xét lại sau khi dọn xong, mô tả cụ thể việc đã làm. Xem thao tác thủ công và yêu cầu xem xét lại.
Một ca điển hình
Ca dưới đây là ví dụ minh hoạ tổng hợp từ những tình huống hay gặp. Một trường mầm non tư thục ở Bình Dương có site WordPress dựng năm 2019, người dựng đã nghỉ, không ai cập nhật. Phụ huynh nhắn qua Zalo: “Bấm vào kết quả tìm tên trường trên điện thoại thì ra trang cá cược.” Hiệu trưởng mở máy tính, gõ địa chỉ, thấy site bình thường, nghĩ phụ huynh bấm nhầm quảng cáo.
Kiểm bằng lệnh giả người dùng iPhone đến từ Google thì thấy ngay chuyển hướng 302 sang một tên miền lạ. Nguồn: một đoạn mã chèn đầu tệp functions.php của giao diện, chỉ chuyển hướng khi có ba điều kiện cùng lúc: trình duyệt điện thoại, nguồn giới thiệu là Google, và chưa có cookie đánh dấu đã chuyển. Điều kiện cuối khiến mỗi người chỉ bị chuyển một lần, nên ai thử lại cũng không thấy. Lỗ hổng đến từ một plugin tạo biểu mẫu ba năm không cập nhật. Tìm site: còn thấy thêm vài trăm trang cờ bạc nằm trong thư mục ảnh tải lên.
Bài học: lời báo của người dùng thật quan trọng hơn cảm giác của chủ site. Khi có người nói “bấm vào ra trang lạ”, đừng kiểm bằng cách gõ thẳng địa chỉ trên máy của mình.
Phòng ngừa
- Cập nhật lõi, plugin, giao diện đều đặn; bỏ plugin không còn được cập nhật.
- Mật khẩu riêng, đủ dài cho từng tài khoản; bật xác thực hai bước cho quản trị.
- Không dùng plugin, giao diện bản bẻ khoá (nulled): nhiều bản có sẵn cửa hậu.
- Phân quyền tệp đúng, thư mục ảnh tải lên không cho chạy PHP.
- Sao lưu tự động lưu ngoài máy chủ.
- Theo dõi từ bên ngoài: Siêu SEO chấm lại site định kỳ và báo khi title, canonical, chuyển hướng thay đổi bất thường, thường là dấu hiệu sớm của việc bị chèn mã.
Với WordPress, các điểm cụ thể (xmlrpc, trang đăng nhập bị dò mật khẩu) có ở bài bảo mật WordPress ảnh hưởng SEO.
Checklist khi nghi bị hack
- Tìm
site:kèm từ khoá spam. - Xem Vấn đề bảo mật, Hiệu suất, Trang, Sitemap trong Search Console.
- Gọi trang giả Googlebot, giả người dùng điện thoại từ Google.
- Kiểm tra URL trực tiếp để thấy đúng HTML Googlebot nhận.
- Sao lưu, đổi mật khẩu, đổi khoá bí mật.
- Thay lõi, plugin bằng bản sạch; dọn cơ sở dữ liệu; tìm lỗ hổng.
- Xoá người dùng và sitemap lạ trong Search Console.
- Địa chỉ spam trả 404/410, không chặn bằng robots.txt.
Hỏi đáp
Vì sao vào site thấy bình thường mà Google lại hiện trang spam?
Mã độc thường chỉ trả nội dung spam cho Googlebot hoặc cho người đến từ trang kết quả Google. Khi gõ thẳng địa chỉ, bạn nhận nội dung bình thường. Dùng công cụ Kiểm tra URL để thấy đúng thứ Googlebot nhận.
Dọn xong bao lâu thì trang spam biến mất khỏi Google?
Tuỳ số lượng và tần suất thu thập, thường vài tuần tới vài tháng. Địa chỉ spam trả 404 hoặc 410 sẽ rơi dần. Công cụ Xoá trong Search Console ẩn tạm những địa chỉ nổi bật nhất.
Có nên chặn thư mục spam bằng robots.txt?
Không. Chặn thu thập thì Google không thấy được mã 404 hay 410 và các trang spam nằm trong chỉ mục lâu hơn.
Bị hack có làm site bị phạt không?
Google có thể gắn cảnh báo bảo mật hoặc áp thao tác thủ công. Sau khi dọn sạch và gửi yêu cầu xem xét lại, cảnh báo được gỡ. Thứ hạng thường hồi khi trang spam đã rơi khỏi chỉ mục.
Đọc tiếp

Thao tác thủ công của Google: nhận biết án phạt thật, sửa và gửi yêu cầu xem xét lại
Thao tác thủ công là khi một nhân viên của Google xem site và xác định có vi phạm chính sách spam, kèm thông báo trong Search Console. Khác…

Bảo mật WordPress ảnh hưởng SEO: xmlrpc bị dò mật khẩu, plugin bỏ hoang, liên kết ẩn bị chèn
Với SEO, bảo mật WordPress không chỉ là chuyện mất dữ liệu: site bị chiếm thường bị dùng để chèn trang spam, liên kết ẩn, chuyển hướng ngườ…

Mã trạng thái HTTP cho SEO: 200, 301, 404, 410, 5xx, soft 404 và Google hiểu từng mã ra sao
Mã trạng thái là câu đầu tiên máy chủ nói với Googlebot về một địa chỉ: có nội dung, đã chuyển, không còn, hay đang lỗi. Trả sai mã, ví dụ…

Đọc nhật ký máy chủ để biết Googlebot thật sự thu thập gì trên site
Search Console cho biết Google nghĩ gì về site; nhật ký máy chủ cho biết Googlebot đã thật sự làm gì: ghé địa chỉ nào, bao nhiêu lần, nhận…