Khi thực hiện chuyển đổi máy chủ lưu trữ, nhiều người gặp phải tình trạng WordPress chuyển hosting bị lỗi. Đây là vấn đề phổ biến khi di chuyển website từ nhà cung cấp hosting cũ sang mới. Các lỗi thường xảy ra do cấu hình không đồng bộ, cơ sở dữ liệu bị hỏng hoặc file cấu hình thiếu sót. Bài viết này sẽ giúp bạn hiểu rõ nguyên nhân và các giải pháp khắc phục triệt để.
Bản chất của lỗi khi WordPress chuyển hosting bị lỗi

WordPress lưu trữ thông tin kết nối cơ sở dữ liệu trong file wp-config.php. Khi chuyển hosting, địa chỉ máy chủ, tên database, mật khẩu và tiền tố bảng thay đổi hoàn toàn. Nếu không cập nhật chính xác, hệ thống không thể kết nối, dẫn đến hàng loạt lỗi từ màn hình trắng, 500 Internal Server Error đến lỗi “Error Establishing Database Connection”.
Ngoài ra, cơ chế cache của trình duyệt và plugin cache trên hosting cũ gây ra hiện tượng website hiển thị nội dung cũ dù dữ liệu mới đã được chuyển sang máy chủ khác.
Phân loại các dạng lỗi thường gặp
- Lỗi kết nối database: “Error Establishing Database Connection” hoặc “Can’t select database”.
- Lỗi màn hình trắng (White Screen of Death): Không hiển thị nội dung gì.
- Lỗi 500 Internal Server Error: Máy chủ chạy mã PHP gặp sự cố.
- Lỗi redirect loop: Trang web liên tục chuyển hướng giữa tên miền cũ và mới.
- Lỗi file htaccess: Định tuyến URL bị sai, gây phân trang không đúng.
- Lỗi ảnh bị vỡ: Đường dẫn tuyệt đối vẫn trỏ về hosting cũ.
- Lỗi bảo trì: File.maintenance còn sót lại sau quá trình update.
- DB_NAME: tên database mới
- DB_USER: tên user có quyền truy cập database
- DB_PASSWORD: mật khẩu chính xác
- DB_HOST: thường là localhost, nhưng một số host dùng socket riêng
- Không backup database và file trước khi chuyển: Khi lỗi xảy ra, bạn không có dữ liệu gốc để khôi phục.
- Chỉ copy file mà không export database: WordPress cần cả hai phần mới hoạt động.
- Quên thay đổi domain trong file wp-config.php: Dù đã tạo DB mới nhưng không thêm dòng define(‘WP_SITEURL’,…) và define(‘WP_HOME’,…) để ghi đè URL.
- Nhập database bằng phpMyAdmin với file dung lượng lớn: Dẫn đến timeout, import thiếu dữ liệu. Nên dùng command line hoặc chia nhỏ file SQL.
- Để plugin hoặc theme lỗi kích hoạt sau import: Nên deactivate tất cả plugin trước khi di chuyển, chỉ kích hoạt lại sau khi kiểm tra.
Nguyên nhân sâu xa khiến WordPress chuyển hosting bị lỗi
Có 5 nhóm nguyên nhân chính dẫn đến thất bại khi di chuyển WordPress. Nhận diện đúng nguyên nhân sẽ giúp bạn tiết kiệm thời gian xử lý.
Sai thông tin kết nối cơ sở dữ liệu
Khi tạo database mới trên hosting mới, bạn cần điền đúng thông tin vào file wp-config.php. Sai tên database, tên user, mật khẩu hoặc host (thường là localhost hoặc IP của localhost) sẽ khiến WordPress không thể giao tiếp với database.
Đường dẫn tuyệt đối cũ trong database
WordPress lưu trữ hàng loạt đường dẫn tuyệt đối trong cơ sở dữ liệu, bao gồm siteurl và home. Nếu không thay thế bằng domain mới (hoặc URL tạm thời), toàn bộ liên kết nội bộ, ảnh, file CSS và JS sẽ trỏ về vị trí cũ.
Định dạng file không tương thích
Một số nhà cung cấp hosting chạy PHP phiên bản khác hoặc giới hạn dung lượng upload file, thời gian thực thi PHP. Khi bạn export database hoặc import file dump, nếu kích thước quá lớn hoặc charset không phù hợp, quá trình import bị gián đoạn, gây thiếu dữ liệu.
Plugin và theme không tương thích với môi trường mới
Các plugin cache, security hoặc page builder có thể lưu cache ở cấp độ server hoặc tạo file cấu hình cứng với đường dẫn cũ. Khi chuyển hosting, cache này gây xung đột. Tương tự, theme sử dụng mã đặc thù cho hosting cũ cũng sinh lỗi.
File.htaccess và permalink chưa được tái tạo
Sau khi chuyển, file.htaccess cần được reset mặc định. Nếu giữ nguyên nội dung cũ chứa các rule chuyển hướng hoặc rewrite, website có thể rơi vào vòng lặp redirect hoặc hiển thị 404 hàng loạt.
Hướng dẫn chi tiết khắc phục WordPress chuyển hosting bị lỗi

Bước 1: Kiểm tra file wp-config.php
Mở file wp-config.php trong thư mục gốc của website. Xác minh 4 thông số sau:
Nếu bạn không chắc chắn về DB_HOST, hãy liên hệ nhà cung cấp hosting mới hoặc xem thông báo trong control panel.
Bước 2: Reset permalink và file.htaccess
Đăng nhập vào wp-admin bằng cách tắt tất cả plugin và chuyển sang theme mặc định (Twenty Twenty-Four). Nếu không vào được admin, dùng FTP xóa file.htaccess (đặt tên khác như.htaccess_old). Sau đó truy cập Settings > Permalinks, nhấn Save Changes để tạo lại cấu trúc URL mới.
Bước 3: Thay thế đường dẫn cũ trong database
Sử dụng plugin Better Search Replace hoặc chạy câu lệnh SQL trực tiếp trên phpMyAdmin. Thay thế toàn bộ URL cũ bằng URL mới. Lưu ý: thay thế cả giao thức http và https, cả đường dẫn có dấu / ở cuối và không có dấu /.
Ví dụ câu lệnh SQL:
UPDATE wp_options SET option_value = REPLACE(option_value, 'https://cu.com', 'https://moi.com') WHERE option_name = 'siteurl' OR option_name = 'home';
Bước 4: Kiểm tra và sửa lỗi ảnh bị vỡ
Nếu ảnh vẫn hiển thị lỗi sau khi đã thay thế URL, hãy kiểm tra trong cột meta_value của bảng wp_postmeta. Có thể tồn tại serialized data – dữ liệu tuần tự hóa. Khi đó, dùng plugin Velvet Blues Update URLs hoặc thực hiện thay thế bằng code PHP để tránh làm hỏng định dạng serialized.
Bước 5: Xóa cache và kiểm tra plugin bảo trì
Xóa tất cả cache từ plugin cache, cache trình duyệt, và cache CDN. Kiểm tra xem file.maintenance có tồn tại trong thư mục gốc không. Nếu có, xóa nó đi. File này khiến WordPress hiển thị thông báo “Briefly unavailable for scheduled maintenance”.
Bước 6: Kiểm tra phiên bản PHP và giới hạn tài nguyên
Vào control panel hosting mới, đảm bảo phiên bản PHP từ 7.4 trở lên (tối ưu là 8.0 đến 8.3). Tăng memory_limit lên 256MB, max_execution_time lên 300 giây, upload_max_filesize lên 64MB.
Bước 7: Kiểm tra DNS và SSL
Đảm bảo bản ghi DNS của tên miền đã trỏ về IP hosting mới. Nếu website chạy HTTPS, cần cài đặt SSL mới và đảm bảo plugin Really Simple SSL hoặc tương tự nhận diện đúng giao thức.
So sánh phương pháp chuyển hosting thủ công và dùng plugin
| Tiêu chí | Chuyển thủ công (FTP + phpMyAdmin) | Chuyển bằng plugin (All-in-One WP Migration, Duplicator) |
|---|---|---|
| Mức độ kiểm soát | Cao, xử lý được mọi file chi tiết | Trung bình, plug-in tự động hóa nhiều bước |
| Thời gian thực hiện | 1-3 giờ (tùy kích thước) | 10-30 phút |
| Rủi ro mất dữ liệu | Trung bình nếu sai quy trình | Thấp nếu plug-in uy tín |
| Phù hợp | Người có kiến thức kỹ thuật, host không hỗ trợ plug-in | Người mới, cần nhanh chóng |
| Xử lý serialized data | Phải dùng tool hỗ trợ hoặc code | Tự động thay thế đúng định dạng |
Những sai lầm thường gặp khi di chuyển WordPress

Lưu ý quan trọng khi chuyển hosting cho website WordPress lớn
Với các website có dung lượng trên 5GB hoặc lưu lượng truy cập cao, cần áp dụng thêm kỹ thuật chuyển đổi không downtime. Sử dụng hosting mới làm môi trường staging, đồng bộ dữ liệu qua rsync, sau đó chuyển DNS khi mọi thứ đã sẵn sàng. Kiểm tra kỹ email server, cron job và các dịch vụ bên thứ ba liên kết qua API.
Nếu website dùng WooCommerce, hãy lưu ý dữ liệu session và giỏ hàng. Tốt nhất nên thực hiện chuyển vào thời điểm ít người truy cập nhất (đêm khuya) và tạm thời chuyển sang chế độ bảo trì.
FAQs về WordPress chuyển hosting bị lỗi

Tại sao sau khi chuyển hosting, website hiển thị “Error Establishing Database Connection”?
Lỗi này xuất hiện khi file wp-config.php chứa thông tin kết nối database sai. Nguyên nhân thường do tên database, tên user hoặc mật khẩu không khớp với thông tin trên hosting mới. Ngoài ra, DB_HOST có thể không phải localhost mà là đường dẫn socket riêng. Bạn cần kiểm tra lại trong control panel hosting.
Làm cách nào để khắc phục lỗi 500 Internal Server Error sau khi chuyển hosting?
Bước đầu tiên, kích hoạt WP_DEBUG trong wp-config.php bằng cách thêm dòng define(‘WP_DEBUG’, true). Xem log lỗi trong thư mục wp-content/debug.log. Nguyên nhân thường đến từ plugin lỗi, theme lỗi hoặc giới hạn memory. Vô hiệu hóa tất cả plugin bằng FTP (đổi tên thư mục plugins thành plugins_old) và chuyển về theme mặc định để xác định vấn đề.
Chuyển hosting xong nhưng website vẫn hiển thị nội dung cũ, tại sao?
Nguyên nhân do DNS chưa propagated hoàn toàn (có thể mất 24-48 giờ) hoặc cache trình duyệt của bạn. Thử xóa cache trình duyệt, dùng chế độ ẩn danh hoặc kiểm tra bằng công cụ như whatsmydns.net. Nếu DNS đã cập nhật nhưng website vẫn cũ, hãy xóa cache plugin và CDN.
Có cần phải xóa dữ liệu trên hosting cũ không?
Không nên xóa ngay. Giữ nguyên dữ liệu trên hosting cũ ít nhất 1-2 tuần sau khi chuyển đổi thành công, để đề phòng trường hợp hosting mới gặp sự cố và bạn cần rollback. Sau khi mọi thứ ổn định, bạn mới tiến hành xóa dữ liệu để tránh bị tính phí lưu trữ.
Lỗi 404 trên toàn bộ trang sau chuyển hosting giải quyết thế nào?
Đây là lỗi cấu trúc permalink chưa được refresh. Vào wp-admin > Settings > Permalinks, chọn lại định dạng (ví dụ Post name) và nhấn Save Changes. Nếu không vào được admin, vào FTP xóa file.htaccess và tạo file mới với nội dung mặc định. Đặt lại quyền 644 cho file.htaccess.
Kết luận
WordPress chuyển hosting bị lỗi là tình huống mà bất kỳ quản trị website nào cũng có thể gặp. Hiểu rõ bản chất của từng lỗi và nắm vững quy trình khắc phục sẽ giúp bạn tiết kiệm thời gian và tránh mất dữ liệu. Luôn thực hiện backup toàn bộ website trước khi chuyển, kiểm tra kỹ thông tin kết nối database, thay thế đường dẫn cũ trong cơ sở dữ liệu và kiểm tra cache. Với các website thương mại điện tử hoặc trang có lưu lượng lớn, nên thuê dịch vụ chuyển hosting chuyên nghiệp hoặc sử dụng plugin chuyên dụng để đảm bảo quá trình diễn ra suôn sẻ. Nếu bạn mới làm quen, hãy thực hành với một website test trước khi áp dụng cho trang chính thức.
- Nguyên Nhân Và Cách Khắc Phục Elementor Giao Diện Bị Vỡ (2025) – Hướng Dẫn Chi Tiết Từ A-Z
- Theme WordPress Purchase Code Lỗi: Nguyên Nhân Và Cách Khắc Phục Toàn Diện
- Hướng Dẫn Toàn Diện Xử Lý Lỗi WordPress Lazy Load Gây Ảnh Hưởng Hiệu Suất Website
- Khắc phục lỗi theme wordpress installation failed: Hướng dẫn chi tiết từ A đến Z
- Hướng dẫn chi tiết về Stock Keeping Unit WooCommerce: Quản lý sản phẩm chuyên nghiệp














