Lỗi WordPress DNS Mismatch là một trong những vấn đề kỹ thuật khiến nhiều chủ website đau đầu, đặc biệt khi vừa chuyển đổi hosting hoặc thay đổi tên miền. Khi gặp tình trạng này, website có thể hiển thị không đúng, mất chức năng quản trị hoặc không truy cập được. Bài viết dưới đây phân tích toàn diện về WordPress DNS mismatch, từ bản chất, nguyên nhân, hậu quả cho đến hướng dẫn khắc phục từng bước một.
WordPress DNS Mismatch là gì?

DNS Mismatch (không khớp DNS) trong WordPress xảy ra khi địa chỉ IP thực tế của máy chủ lưu trữ website khác với địa chỉ IP được ghi trong bản ghi DNS của tên miền. Kết quả là trình duyệt không thể kết nối đúng đến server chứa mã nguồn WordPress, dẫn đến lỗi hiển thị, lỗi redirect vòng lặp, hoặc thông báo “The site is experiencing technical difficulties”.
DNS hoạt động như một danh bạ điện thoại của internet. Nếu thông tin trong danh bạ (bản ghi DNS) không khớp với vị trí thực tế của server, bạn không thể gọi đúng số. Tương tự, WordPress không thể tải đúng dữ liệu. Lỗi này đặc biệt phổ biến khi bạn di chuyển website từ host cũ sang host mới mà quên cập nhật bản ghi A, CNAME hoặc Nameserver.
Nguyên nhân phổ biến gây ra lỗi WordPress DNS Mismatch
- Thay đổi nhà cung cấp hosting: Khi chuyển server, địa chỉ IP thay đổi. Nếu không cập nhật bản ghi DNS kịp thời, WordPress vẫn cố gắng kết nối vào IP cũ.
- Sai cấu hình Nameserver: Trỏ tên miền về nameserver sai hoặc chưa hết thời gian propagation (tối đa 48 giờ).
- Lỗi plugin bảo mật hoặc cache: Một số plugin có thể lưu địa chỉ IP cũ trong bộ nhớ cache của WordPress, gây ra mismatch giữa URL và server thực tế.
- Thiết lập Site URL và Home URL sai: Trong cơ sở dữ liệu WordPress, hai tham số này lưu địa chỉ website. Nếu chúng trỏ đến domain cũ hoặc IP sai, lỗi mismatch phát sinh.
- CDN hoặc reverse proxy cấu hình sai: Khi sử dụng Cloudflare, StackPath,… bản ghi DNS có thể đã được proxy tự động nhưng server gốc lại thay đổi IP mà chưa đồng bộ.
- File wp-config.php định nghĩa địa chỉ cứng: Nếu bạn thêm define(‘WP_HOME’,’…’) và define(‘WP_SITEURL’,’…’) với giá trị cũ, nó sẽ ghi đè lên DNS thực tế.
- Trang quản trị (wp-admin) không load được, chuyển hướng vô hạn.
- Hình ảnh, CSS, JavaScript bị hỏng do đường dẫn tuyệt đối trỏ sai.
- Email từ WordPress (thông báo, reset mật khẩu) gửi đến sai tên miền.
- SEO giảm mạnh vì Google thấy website không ổn định.
- Mất doanh thu nếu là trang thương mại điện tử.
- Kiểm tra bản ghi DNS hiện tại: Dùng công cụ online như dnschecker.org hoặc dig command trên terminal để xem IP mà domain đang phân giải.
- So sánh IP từ bước 1 và bước 2. Nếu khác nhau, đó là mismatch cấp DNS.
- Kiểm tra siteurl/home: Vào phpMyAdmin, tìm bảng wp_options, xem giá trị của ‘siteurl’ và ‘home’. So sánh với domain mong muốn.
- Kiểm tra file wp-config.php: Dùng FTP mở file, tìm dòng define(‘WP_HOME’,…). Nếu có, kiểm tra giá trị.
- Mở bảng wp_options, tìm option_name là ‘siteurl’ và ‘home’.
- Thay giá trị cũ (thường là IP cũ hoặc domain sai) bằng domain mới chính xác (ví dụ: https://example.com).
- Lưu ý: Giữ nguyên giao thức (http/https) và không có dấu gạch cuối.
Hậu quả của lỗi DNS Mismatch với website WordPress

Khi gặp lỗi này, website có thể rơi vào trạng thái không thể truy cập hoàn toàn, hoặc hiển thị giao diện lỗi thời, mất dữ liệu mới. Cụ thể:
Phân loại lỗi WordPress DNS Mismatch
| Loại lỗi | Đặc điểm | Mức độ phổ biến |
|---|---|---|
| Mismatch giữa IP bản ghi A và server | Trình duyệt phân giải domain ra IP sai, không tải được trang | Rất cao |
| Mismatch do Nameserver | Domain trỏ sai nameserver, không tìm thấy vị trí lưu trữ | Cao |
| Mismatch trong cơ sở dữ liệu WordPress | siteurl và home khác với domain thực tế, gây redirect loop | Trung bình |
| Mismatch do cache DNS trình duyệt hoặc CDN | Website hiển thị phiên bản cũ dù DNS đã cập nhật | Trung bình |
Cách kiểm tra lỗi WordPress DNS Mismatch

Trước khi sửa, cần xác định chính xác loại mismatch. Ghi lại.
Hướng dẫn khắc phục lỗi WordPress DNS Mismatch chi tiết
1. Cập nhật bản ghi DNS tại nhà cung cấp tên miền
Đây là bước cơ bản nhất. Đăng nhập vào nơi quản lý domain (Namecheap, GoDaddy, VinaHost,…), vào phần DNS Management. Sửa bản ghi A (hoặc AAAA nếu dùng IPv6) thành IP mới của hosting. Nếu dùng nameserver của host, đảm bảo đã trỏ đúng hai nameserver do host cung cấp. Chờ propagation từ vài phút đến 48 giờ.
2. Cập nhật Site URL và Home URL trong cơ sở dữ liệu
Nếu DNS đã đúng nhưng WordPress vẫn báo lỗi, khả năng cao là dữ liệu trong wp_options bị sai. Dùng phpMyAdmin hoặc plugin WP-CLI để sửa:
3. Sửa file wp-config.php nếu có định nghĩa cứng
Thêm hoặc sửa hai dòng sau đây trong wp-config.php, ngay trước dòng “That’s all, stop editing!”:
define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');
Thay example.com bằng domain thực tế. Điều này sẽ ghi đè lên giá trị trong database, giúp WordPress biết chính xác địa chỉ cần dùng.
4. Xóa cache DNS trên trình duyệt và CDN
Trình duyệt lưu cache DNS riêng. Trên Chrome, vào chrome://net-internals/#dns, click “Clear host cache”. Trên Cloudflare, vào Dashboard > Caching > Purge Everything. Nếu dùng plugin cache WordPress, clear all cache từ plugin.
5. Sử dụng WP-CLI để đồng bộ nhanh
Đối với người dùng command line, WP-CLI giúp thay đổi siteurl chỉ với một lệnh:
wp option update siteurl 'https://example.com' wp option update home 'https://example.com'
Lệnh này thực hiện tương tự như bước 2 nhưng nhanh hơn, không cần vào phpMyAdmin.
Sai lầm thường gặp khi xử lý WordPress DNS Mismatch và cách tránh

- Không đợi propagation: Nhiều người thay đổi DNS xong liền truy cập và thấy lỗi, vội vàng đổi lại. Cần kiên nhẫn tối thiểu 30 phút, kiểm tra bằng công cụ online.
- Nhầm lẫn giữa siteurl và home: Nếu chỉ update siteurl mà quên home, WordPress vẫn có thể gặp redirect loop. Luôn update cả hai.
- Sửa sai bản ghi CNAME thay vì A: Nếu dùng domain chính (example.com), cần bản ghi A, không phải CNAME. CNAME chỉ dùng cho subdomain.
- Quên xóa cache WordPress: Một số plugin cache như W3 Total Cache lưu địa chỉ IP trong các file tĩnh. Sau khi sửa DNS, clear cache ngay.
- Thay đổi nameserver không đúng cách: Nếu chuyển nameserver, cần xóa bản ghi cũ và tạo mới từ đầu, nếu không sẽ xung đột.
So sánh các phương pháp khắc phục
| Phương pháp | Thời gian thực hiện | Độ phức tạp | Hiệu quả |
|---|---|---|---|
| Cập nhật bản ghi DNS | Vài phút + chờ propagation | Thấp | Cao nếu đúng IP |
| Sửa database qua phpMyAdmin | 5-10 phút | Trung bình | Cao |
| Thêm define trong wp-config.php | 2 phút | Thấp | Cao, ghi đè mọi lúc |
| Sử dụng WP-CLI | 1 phút | Cao (cần SSH) | Cao |
| Xóa cache trình duyệt / CDN | 1-2 phút | Thấp | Bổ trợ |
Ứng dụng thực tế: case study điển hình

Một website thương mại điện tử chạy WordPress, sau khi nâng cấp hosting từ shared lên VPS, chủ website quên cập nhật bản ghi A. Kết quả: khách hàng báo lỗi “ERR_CONNECTION_REFUSED”. Sau khi kiểm tra, phát hiện IP cũ (192.168.1.10) vẫn còn trong DNS, trong khi server mới có IP 203.0.113.5. Giải pháp: chủ website vào domain registrar, sửa bản ghi A thành IP mới, đồng thời dùng WP-CLI cập nhật siteurl và home. Sau 1 giờ, website hoạt động bình thường. Doanh thu phục hồi ngay trong ngày.
Lưu ý quan trọng khi xử lý WordPress DNS Mismatch
- Luôn sao lưu cơ sở dữ liệu và file trước khi can thiệp.
- Kiểm tra SSL/TLS: Nếu thay đổi IP, cần đảm bảo chứng chỉ SSL vẫn hợp lệ cho domain mới. Một số host tự động cấp SSL miễn phí qua Let’s Encrypt.
- Nếu dùng CDN như Cloudflare, để chế độ DNS Only (tắt proxy) trong lúc thay đổi, sau đó bật lại proxy sau khi propagation hoàn tất.
- Lỗi DNS Mismatch có thể ảnh hưởng đến email hosting nếu dùng cùng domain. Cần cập nhật bản ghi MX nếu cần.
- Thời gian propagation có thể kéo dài tùy theo TTL (Time To Live) đã cài đặt. Giảm TTL xuống 300 giây (5 phút) trước khi thay đổi để tăng tốc.
Câu hỏi thường gặp về WordPress DNS Mismatch
Lỗi WordPress DNS Mismatch có nguy hiểm không?
Lỗi này ở cấp độ kỹ thuật, không gây mất dữ liệu trực tiếp nhưng khiến website không hoạt động đúng, ảnh hưởng đến trải nghiệm người dùng và SEO. Nếu để lâu, Google có thể đánh giá website không ổn định.
Tại sao website vẫn báo lỗi dù đã đổi DNS?
Có ba nguyên nhân chính: chưa hết thời gian propagation, cache DNS trình duyệt hoặc CDN chưa xóa, hoặc cơ sở dữ liệu WordPress vẫn giữ URL cũ. Cần thực hiện lần lượt các bước kiểm tra và khắc phục ở trên.
Có plugin nào tự động sửa lỗi này không?
Hiện chưa có plugin chuyên dụng cho DNS mismatch, nhưng các plugin vệ sinh database như “Better Search Replace” có thể giúp thay đổi URL hàng loạt. Tuy nhiên, phần lớn công việc liên quan đến DNS vẫn phải làm thủ công qua nhà cung cấp tên miền.
Lỗi DNS Mismatch có xảy ra khi dùng subdomain không?
Có. Nếu subdomain (ví dụ shop.example.com) trỏ đến IP khác với IP chính, bạn cần tạo bản ghi A riêng cho subdomain đó. Nếu dùng CNAME trỏ về domain chính, hãy đảm bảo domain chính đã đúng.
Làm sao để kiểm tra DNS propagation đã hoàn tất?
Dùng công cụ https://dnschecker.org, nhập domain, chọn bản ghi A. Xem kết quả từ nhiều máy chủ DNS trên thế giới. Nếu tất cả đều trả về IP mới, propagation hoàn tất.
Kết luận
WordPress DNS Mismatch tuy gây phiền toái nhưng hoàn toàn có thể xử lý triệt để nếu bạn hiểu rõ cơ chế. Bắt đầu bằng việc kiểm tra IP thực tế của hosting, so sánh với bản ghi DNS hiện tại, sau đó điều chỉnh lần lượt từ bản ghi, database, cho đến file cấu hình. Luôn nhớ xóa cache và chờ propagation. Với hướng dẫn chi tiết trên, bạn sẽ nhanh chóng đưa website WordPress trở lại hoạt động ổn định, tránh mất mát không đáng có.
- Hướng dẫn chi tiết cách xóa bình luận WordPress nhanh chóng và hiệu quả
- Quản lý tag WordPress chuyên nghiệp: Bí quyết tối ưu SEO và trải nghiệm người dùng
- Google Analytics là gì? Hướng dẫn toàn diện từ A-Z cho người mới bắt đầu
- Plugin WordPress Recovery Mode: Hướng Dẫn Toàn Diện Từ A Đến Z Cho Người Mới
- Woocommerce thanh toán không ghi nhận: Nguyên nhân và cách khắc phục triệt để














