Website bị chuyển hướng sang trang lạ: nguyên nhân và cách xử lý

Vào web từ Google hoặc điện thoại thì bị đẩy sang trang quảng cáo, cá cược. Cách xác nhận, tìm mã chuyển hướng trong .htaccess, plugin, cơ sở dữ liệu.

Bùi Văn Đạt·Cập nhật 15/10/2026·4 phút đọc

Khách mở web của bạn và bị đẩy sang một trang quảng cáo, trang cá cược hoặc trang báo “điện thoại của bạn bị nhiễm virus”. Bạn thử mở trên máy tính thì lại thấy bình thường. Đây gần như chắc chắn là mã độc chuyển hướng. Nó được viết để chỉ chuyển hướng một số khách (vào từ Google, dùng điện thoại, lần đầu ghé web) nhằm qua mặt chủ web. Bài này hướng dẫn cách xác nhận và tìm chỗ mã độc nằm.

1. Xác nhận web đang bị chuyển hướng

  • Mở như khách mới: dùng cửa sổ ẩn danh trên điện thoại, tắt wifi dùng 4G, tìm tên web trên Google rồi bấm vào kết quả. Mã độc thường chỉ kích hoạt khi khách đến từ Google.
  • Không đăng nhập: nhiều mã độc bỏ qua người đang đăng nhập WordPress, nên bạn là người cuối cùng thấy lỗi.
  • Kiểm tra từng bước chuyển hướng bằng công cụ kiểm tra chuyển hướng. Nếu chuỗi chuyển hướng đi sang một tên miền lạ, chuyển hướng xảy ra ở phía máy chủ (trong .htaccess hoặc PHP). Nếu công cụ thấy trang trả mã 200 bình thường mà trình duyệt vẫn bị đẩy đi, chuyển hướng nằm trong JavaScript.
Công cụ kiểm tra chuyển hướng của DatPilot liệt kê từng bước và mã trạng thái. Ở đây là một chuyển hướng 301 hợp lệ trên chính datpilot.com.
Công cụ kiểm tra chuyển hướng của DatPilot liệt kê từng bước và mã trạng thái. Ở đây là một chuyển hướng 301 hợp lệ trên chính datpilot.com.
So kết quả của công cụ với trình duyệt để biết mã chuyển hướng nằm ở máy chủ hay trong trang.
So kết quả của công cụ với trình duyệt để biết mã chuyển hướng nằm ở máy chủ hay trong trang.

Không phải chuyển hướng nào cũng là mã độc. Web chuyển từ http sang https, từ có www sang không www, hoặc sang trang ngôn ngữ phù hợp là bình thường. Chỉ đáng lo khi đích đến là tên miền lạ.

2. Những chỗ mã chuyển hướng hay nằm

ChỗCách kiểm tra
File .htaccess ở thư mục gốc và các thư mục conTìm các dòng RewriteCond %{HTTP_REFERER} có chữ google, hoặc RewriteRule trỏ sang tên miền lạ
Đầu file index.php, wp-config.php, wp-blog-header.phpĐoạn mã dài một dòng, có eval, base64_decode, chuỗi ký tự lộn xộn
functions.php, header.php, footer.php của themeThẻ <script> lạ, đoạn PHP kiểm tra User-Agent điện thoại
Cơ sở dữ liệu: bảng wp_options (giá trị siteurl, home, widget, cài đặt theme) và wp_postsTìm <script, String.fromCharCode, atob(, tên miền lạ
Plugin lạ hoặc plugin lậuPlugin bạn không cài, plugin “null” tải từ trang chia sẻ
Thư mục wp-content/mu-pluginsPlugin “bắt buộc” không hiện trong danh sách plugin thường, nên hay bị lợi dụng

3. Xử lý

  1. Sao lưu nguyên trạng, rồi đổi mật khẩu hosting, FTP, cơ sở dữ liệu và mọi tài khoản quản trị.
  2. Thay .htaccess bằng bản mặc định của WordPress (mẫu có trong bài lỗi 404 WordPress), sau đó mới thêm lại các quy tắc bạn hiểu rõ.
  3. Cài lại lõi WordPress, plugin và theme từ nguồn chính thức.
  4. Dọn mã lạ trong cơ sở dữ liệu. Nếu hai giá trị siteurl và home bị đổi sang tên miền lạ, sửa lại ngay.
  5. Xoá cache của plugin cache, của Cloudflare và CDN. Nếu không xoá, khách vẫn nhận bản trang nhiễm đã lưu.
  6. Kiểm tra lại như khách mới, trên nhiều thiết bị, trong vài ngày liền.

4. Ảnh hưởng tới Google và quảng cáo

Google có thể gắn nhãn “Trang web này có thể gây hại” hoặc chặn quảng cáo Google Ads, Facebook Ads trỏ về web. Sau khi dọn sạch, vào Search Console mục Vấn đề bảo mật để gửi yêu cầu xem xét lại. Với quảng cáo bị từ chối, chạy lại kiểm tra hoặc gửi yêu cầu xem xét lại trong trình quản lý quảng cáo.

5. Phòng lại

  • Không dùng plugin, theme lậu. Đây là nguồn lây chuyển hướng phổ biến.
  • Cập nhật đều và xoá plugin không dùng.
  • Bật xác thực hai lớp cho quản trị viên.
  • Theo dõi web bằng giám sát website và định kỳ kiểm tra chuỗi chuyển hướng của trang chủ.

Xem thêm các bài WordPress bị hack và website bị chèn link cờ bạc, vì ba kiểu tấn công này thường đi cùng nhau.

6. Khi nào nên nhờ người làm

Mã chuyển hướng hay được mã hoá và giấu ở nhiều nơi cùng lúc. Dọn sót một chỗ là lỗi quay lại. Nếu web đang chạy quảng cáo hoặc bán hàng, mỗi ngày bị chuyển hướng là mất khách thật. Dịch vụ xử lý website nhiễm mã độc giá 890.000đ đến 1.900.000đ, bảo hành 30 ngày.

Câu hỏi thường gặp

Vì sao chỉ khách bị chuyển hướng còn tôi thì không?

Mã độc thường cố tình bỏ qua người đã đăng nhập, khách quen hoặc máy tính, chỉ chuyển hướng khách đến từ Google hoặc dùng điện thoại để chủ web khó phát hiện.

Chuyển hướng từ http sang https có phải lỗi không?

Không. Chuyển sang https, sang có hoặc không www, sang trang ngôn ngữ phù hợp là bình thường. Chỉ đáng lo khi đích đến là tên miền lạ.

Dọn xong rồi mà khách vẫn bị chuyển hướng?

Hãy xoá cache của plugin, Cloudflare và CDN, vì khách có thể đang nhận bản trang nhiễm đã lưu. Nếu vẫn bị, còn mã độc ở chỗ khác chưa dọn.

Bùi Văn ĐạtNgười sáng lập DatPilot, làm việc tại Nha Trang. Các bước trong bài được làm thử trên web WordPress thử nghiệm; ảnh chụp màn hình lấy từ web đó. Thấy chỗ nào chưa đúng hoặc đã cũ, báo DatPilot để sửa.