Website WordPress bị chuyển hướng sang trang lạ thường là dấu hiệu đã bị chèn mã. Hai nguyên nhân lành còn lại là plugin chuyển hướng và bộ nhớ đệm (cache). Bạn phân biệt được cả ba trong khoảng 5 phút bằng bảng bên dưới. Đừng đợi: trong ca Net Solutions đo tháng 09/2026, kẻ xấu giữ quyền ghi 20 ngày mà không cổng nào báo.
Chuyển hướng lạ không tự hết, và chủ site thường là người thấy sau cùng
Mã chuyển hướng hiếm khi chạy với mọi người. Nó chọn nạn nhân theo thiết bị, theo nơi khách đến hoặc theo việc họ đã đăng nhập hay chưa. Chủ site mở máy tính, gõ thẳng tên miền, thấy mọi thứ bình thường. Khách vào từ Google bằng điện thoại lại bị đưa sang trang khác.
Google gọi hành vi này là chuyển hướng lén lút. Trong chính sách nội dung rác, Google nêu đúng hai ví dụ: cho công cụ tìm kiếm thấy một nội dung trong khi đưa người dùng sang nội dung khác, và cho người dùng máy tính thấy trang bình thường trong khi đưa người dùng di động sang một miền không liên quan. Mục về nội dung bị xâm nhập cũng ghi rằng kẻ xấu có thể chèn mã để chuyển hướng một phần người dùng sang trang độc hại hoặc rác. Chúng tôi đọc trang chính sách này ngày 14/10/2026; trang ghi cập nhật 28/08/2026.
Hậu quả bạn nhìn thấy trước là khách bỏ đi và đơn hàng ngừng về. Hậu quả bạn có thể gặp sau là trình duyệt hoặc Google gắn cảnh báo lên site. Chúng tôi không có số liệu tụt hạng chung cho trường hợp này, nên không nêu con số nào.
Mã độc hay lỗi cấu hình: phân biệt bằng nơi site chuyển đến
Nhìn địa chỉ đích trước tiên. Đích là một miền bạn không biết thì nghi mã độc. Đích là chính site của bạn, chỉ khác phiên bản hoặc đường dẫn, thì nghi cấu hình, plugin hoặc cache.
| Nguyên nhân | Chuyển đến đâu | Dấu hiệu đi kèm | Cách thử |
|---|---|---|---|
| Mã độc | Miền lạ: cá cược, thuốc, quảng cáo, trang giả mạo | Chỉ xảy ra với một nhóm người; có tài khoản quản trị hoặc bài viết bạn không tạo | Làm theo các mục bên dưới, bắt đầu từ danh sách quản trị viên |
| Plugin chuyển hướng hoặc plugin SEO | Trang trong chính site, theo quy tắc ai đó đã đặt | Xảy ra với mọi người, ổn định | Tắt plugin, tải lại; hết chuyển hướng là tìm ra thủ phạm |
| Cấu hình (http sang https, www, đổi tên miền) | Cùng site, khác dạng địa chỉ; có thể lặp vòng báo “quá nhiều lần chuyển hướng” | Xuất hiện ngay sau khi đổi cài đặt hoặc cài chứng chỉ SSL | So địa chỉ site trong Cài đặt chung với địa chỉ bạn đang gõ |
| Cache hoặc CDN | Trang cũ của chính site | Mở cửa sổ ẩn danh thì khác; xoá cache là hết | Xoá cache plugin, cache máy chủ và CDN rồi thử lại |
Tổng hợp của Net Solutions từ các hướng dẫn về chuyển hướng WordPress của Patchstack, MalCare và quy trình xử lý của chúng tôi, 14/10/2026.
Bảng thứ hai chẩn đoán theo hiện tượng bạn thấy. Mỗi dòng cho bạn một phép thử làm được ngay, không cần quyền quản trị.
| Hiện tượng | Nghi nguyên nhân | Cách thử |
|---|---|---|
| Chỉ trên điện thoại | Mã chuyển hướng theo thiết bị, hoặc plugin chuyển hướng di động | Mở site bằng điện thoại qua 4G, tab ẩn danh; tắt plugin chuyển hướng rồi thử lại |
| Chỉ khi bấm từ kết quả Google, gõ thẳng thì bình thường | Mã chuyển hướng theo nơi khách đến | Tìm tên thương hiệu trên điện thoại, bấm kết quả; so với việc gõ thẳng tên miền |
| Chỉ khi chưa đăng nhập | Mã giấu khỏi quản trị viên để chủ site khó thấy | Mở cửa sổ ẩn danh hoặc trình duyệt khác, không đăng nhập |
| Mọi người, mọi lúc, đến miền lạ | Mã độc ở tệp hoặc cơ sở dữ liệu | Chuyển ngay sang mục 30 phút đầu |
| Mọi người, mọi lúc, đến trang của chính bạn | Plugin, cấu hình hoặc cache | Đi theo bảng trên: tắt plugin, so địa chỉ site, xoá cache |
Ghi nhận 14/10/2026. Dòng đầu và dòng hai khớp với hai ví dụ trong chính sách nội dung rác của Google.
30 phút đầu: sao lưu trước, đổi khoá sau khi xem ai đang ở trong
Thứ tự quan trọng hơn tốc độ. Làm đúng bốn việc dưới đây, theo thứ tự này.
- Sao lưu nguyên trạng cả tệp và cơ sở dữ liệu. Bản này là bằng chứng để tìm đường vào. Đừng dùng nó để khôi phục.
- Xem danh sách quản trị viên và phiên đăng nhập trước khi đổi bất cứ mật khẩu nào. Tài khoản lạ là dấu vết cho thấy kẻ xấu vào bằng đường nào.
- Đổi mật khẩu hosting, FTP và cơ sở dữ liệu, rồi đến mật khẩu quản trị. Hướng dẫn từng bước nằm ở bài đổi mật khẩu quản trị website.
- Cập nhật lõi, plugin, theme, tắt plugin bạn không nhận ra, rồi xoá mọi lớp cache.
Quy trình của Net Solutions thêm một nguyên tắc: soi chỉ đọc trước. Chúng tôi đếm quản trị viên, bài lạ và ngày đăng bất thường, rồi hỏi khách trước khi đổi mật khẩu quản trị. Đổi sớm quá có thể khoá luôn chủ site ra ngoài.
Mã độc nấp ở tám chỗ, và đa số không nằm ở nơi bạn hay mở
Mã chuyển hướng cần đứng ở nơi chạy trước khi trang hiện ra. Bảng này liệt kê các vị trí hay gặp, theo hướng dẫn của Patchstack và MalCare, đối chiếu với các ca chúng tôi xử lý.
| Vị trí | Dấu hiệu | Cách kiểm |
|---|---|---|
.htaccess |
Dòng RewriteRule lạ, điều kiện theo trình duyệt hoặc nơi khách đến | Mở tệp, so với bản mặc định của WordPress |
wp-config.php |
Đoạn mã dài, rối, nằm trước dòng khai báo cơ sở dữ liệu | Đọc từ đầu tệp xuống |
index.php ở thư mục gốc |
Nhiều hơn vài dòng khởi động WordPress | So với tệp gốc cùng phiên bản lõi |
functions.php, header.php của theme |
Thẻ script lạ, hàm có chữ eval hoặc base64_decode | Tìm các từ khoá đó trong thư mục theme |
| Plugin lạ | Tên bạn không cài, không có trong kho chính thức, vẫn còn tệp dù đã tắt | Xem danh sách plugin và thư mục wp-content/plugins |
Tệp PHP trong uploads |
Thư mục này chỉ nên chứa ảnh và tài liệu | Tìm mọi tệp đuôi .php trong wp-content/uploads |
Bảng wp_options |
Địa chỉ site bị đổi, hoặc tuỳ chọn chứa thẻ script | Đọc giá trị siteurl, home và các tuỳ chọn widget |
Bảng wp_posts |
Nội dung bài có thẻ script hoặc iframe bạn không chèn | Tìm chuỗi script và iframe trong post_content |
Tổng hợp từ Patchstack, MalCare và quy trình QT-WEB-04 của Net Solutions, ghi nhận 14/10/2026. Tên bảng có thể mang tiền tố khác wp_.
Tìm thấy một chỗ chưa có nghĩa là hết. Mã độc thường nằm ở nhiều chỗ để lần sau còn đường quay lại.
Dọn một dòng mã chưa phải là sạch: làm đủ năm việc
Trong các ca chúng tôi đo, mã chuyển hướng thường đi kèm tài khoản quản trị giả và bài mồi ghi lùi ngày. Chỉ xoá dòng mã là bỏ sót hai thứ đó.
- Thay lõi, plugin và theme bằng bản gốc tải từ nguồn chính thức, đừng sửa tay từng tệp. Cách kiểm bằng checksum có trong bài WordPress bị chèn mã độc: 9 bước xử lý.
- Xoá cửa hậu (backdoor): tệp lạ trong uploads, plugin không rõ nguồn, đoạn mã trong theme.
- Dọn tài khoản quản trị giả. Chỉ xoá tài khoản bạn đã đo là giả; xoá nhầm là mất quyền của người thật.
- Tìm bài mồi theo ngày sửa, không theo ngày đăng. Truy vấn bảng bài viết, sắp xếp theo cột post_modified giảm dần. Bài mồi hay bị ghi lùi ngày đăng nên chìm xuống cuối danh sách thông thường.
- Soi lại trên trang thật bằng điện thoại, tab ẩn danh, và bằng đường bấm từ Google.
Nếu Google hoặc trình duyệt đã gắn cảnh báo, sau khi sạch hãy vào Search Console, mục sự cố bảo mật, và gửi yêu cầu xem xét lại. Mô tả ngắn những gì bạn đã dọn.
Hai ca thật của Net Solutions: một ca nằm im, một ca có lỗ hổng rõ
Ca thứ nhất (tháng 09/2026, một site khách, ẩn tên). Kẻ xấu giữ quyền ghi từ 21/08 đến 09/09, tức 20 ngày tính cả hai đầu, mà không cổng nào báo. Có 6 bài mồi bị ghi lùi ngày đăng về 01/01/2020. So với ngày phát hiện, ngày giả lệch 2.443 ngày, hơn 6 năm. Chỉ cột ngày sửa lộ ra. Site còn có 47 tài khoản quản trị giả.
Ca thứ hai (CVE-2026-87902, khách dùng hosting WebCloud). Chúng tôi dò nhật ký truy cập, chặn đường vào ở tầng máy chủ, gỡ tệp lạ trong uploads, rà tài khoản quản trị phát sinh, rồi vá gốc bằng lõi 7.1.2 và gỡ pearcmd. Chặn đường vào và vá gốc là hai việc khác nhau; chỉ làm việc đầu thì lỗ hổng vẫn còn. Chi tiết nằm trong bài lỗ hổng CVE-2026-87902 trên WordPress.
| Việc | Ca thứ nhất | Ca thứ hai |
|---|---|---|
| Thời gian bị chiếm quyền ghi | 20 ngày, không cổng nào báo | Dò từ nhật ký truy cập |
| Dấu vết lộ ra | 6 bài mồi lùi ngày, 47 quản trị giả | Tệp lạ trong uploads, quản trị phát sinh |
| Việc dọn | Đếm admin, bài lạ, ngày lùi; chỉ xoá tài khoản đã đo là giả | Chặn ở máy chủ, gỡ tệp lạ, vá gốc |
Số đo của Net Solutions, QT-WEB-04, đo 10/09/2026 (ca thứ nhất); bài CVE-2026-87902 trên netsolutions.vn (ca thứ hai).
Tự làm được những việc nào, và lúc nào nên nhờ người
Bạn tự làm được cập nhật, đổi mật khẩu và khôi phục từ một bản sao lưu sạch. Nhờ người khi thấy tệp lạ, tài khoản quản trị lạ, hoặc khi site đã dọn rồi mà vẫn bị lại.
Chúng tôi nói rõ giới hạn: Net Solutions không hứa sạch 100% và không dọn site khi chưa có quyền truy cập. Bài này cũng không thay cho một bước kiểm tra trực tiếp. Nếu bạn đang cần người xem site, hãy xem dịch vụ chăm sóc website của chúng tôi.

Về chi phí, gói chăm sóc bắt đầu từ 1.500.000đ/tháng và hosting WebCloud là 1.200.000đ/năm, gồm SSL, sao lưu và cập nhật (nguồn: bài bảo trì website là gì, ghi nhận 10/10/2026). Gói chăm sóc giúp site luôn cập nhật và có bản sao lưu, nhưng không phải gói dọn mã độc.
Phòng lặp lại: bốn thói quen rẻ hơn một lần dọn
- Cập nhật đều lõi, plugin, theme; gỡ plugin không dùng.
- Sao lưu ra ngoài máy chủ và thử khôi phục thật ít nhất một lần.
- Giới hạn quản trị viên ở số người cần thiết, đếm lại hằng tuần.
- Canh nhiều lớp. Trang chủ mở được chưa chứng tỏ site sạch; nhìn cả danh sách tài khoản và bài viết.
Phần việc định kỳ này nằm trong bài bảo trì website gồm những gì. Nếu bạn còn nghi ngờ các dấu hiệu khác, bài website bị hack: dấu hiệu nhận biết liệt kê theo mức khẩn.
Câu hỏi thường gặp
Vì sao website chỉ chuyển hướng trên điện thoại hoặc khi vào từ Google? Vì mã độc chọn người để chuyển hướng. Nó có thể kiểm tra loại thiết bị hoặc nơi khách đến, rồi chỉ ra tay với khách thật và bỏ qua chủ site. Google nêu đúng kiểu này trong chính sách nội dung rác. Hãy thử bằng điện thoại, qua 4G, bấm từ kết quả tìm kiếm.
Website bị chuyển hướng có ảnh hưởng SEO không? Có thể. Google coi chuyển hướng lén lút là vi phạm chính sách, và trình duyệt hoặc Google có thể gắn cảnh báo lên site. Chúng tôi không có số liệu tụt hạng chung cho trường hợp này. Cách an toàn là dọn sớm rồi kiểm tra lại trong Search Console.
Chuyển hướng lạ có chắc là bị hack không? Chưa chắc. Plugin chuyển hướng, cấu hình http sang https và cache cũng gây ra hiện tượng này. Dấu hiệu nặng là đích đến một miền lạ, hoặc có tài khoản quản trị và bài viết bạn không tạo. Đi theo bảng phân biệt ở trên để chắc chắn.
Làm sao tìm đoạn mã chuyển hướng trong WordPress? Bắt đầu từ .htaccess, wp-config.php và index.php ở thư mục gốc. Tiếp theo là functions.php và header.php của theme, rồi tệp .php trong uploads. Cuối cùng tìm thẻ script lạ trong wp_options và wp_posts. Luôn sao lưu trước khi sửa.
Dọn xong rồi sao vẫn bị lại? Thường do còn cửa hậu ở nơi chưa soát, đường vào ban đầu chưa vá, mật khẩu cũ vẫn dùng được, hoặc tài khoản quản trị giả chưa xoá. Trong ca của chúng tôi, dòng mã chuyển hướng đi kèm quản trị giả và bài mồi. Dọn thiếu một thứ là mở lại cửa.
Google cảnh báo “trang web có thể bị tấn công” thì xin xét lại thế nào? Dọn sạch và vá đường vào trước. Sau đó vào Search Console, mở mục sự cố bảo mật và gửi yêu cầu xem xét lại, mô tả ngắn các việc đã làm. Gửi khi chưa sạch dễ bị từ chối và mất thêm thời gian.
Cần người xem site giúp? Gọi 0906.207.001 hoặc nhắn Zalo cùng số.
Cập nhật 17/10/2026 bởi Công ty TNHH Net Solutions.