
Lúc mới học làm thiết kế web, mình từng nghĩ việc up web từ localhost lên hosting là dễ ẹt. Làm demo cho khách xong, nghĩ chỉ cần upload source + database lên là xong.
Ai ngờ đâu…
Trang thì trắng bóc, lúc thì bị 404, lúc thì login không được, ảnh thì mất sạch. Gặp khách dễ tính thì còn đỡ, chứ gặp khách gắt là… quê toàn tập.
Hôm nay mình viết lại bài này, không phải kiểu hướng dẫn “mẫu giáo”, mà là chia sẻ đúng 7 cái lỗi thực tế mình từng vấp phải, để bạn nào mới vào nghề tiết kiệm được thời gian sửa sai.
Nếu bạn chưa biết cách chuyển WordPress từ XAMPP lên hosting thì hãy đọc kỹ bài viết này để tránh những lỗi ngớ ngẩn thường gặp.
1. Quên sửa đường dẫn URL trong database

Đây là lỗi kinh điển. Khi bạn cài web trên localhost, đường dẫn sẽ là kiểu http://localhost/tendoan. Khi chuyển lên host, nếu bạn không sửa lại domain thật trong database, thì:
- Web sẽ cứ redirect về localhost
- Form, ảnh, liên kết sẽ không hoạt động
👉 Cách sửa:
- Vào phpMyAdmin, tìm bảng wp_options, chỉnh 2 dòng:
- siteurl → đổi thành https://tenmiencuaban.com
- home → đổi y chang như trên

Nhớ đổi URL sang web mới sau khi cài database WordPress
📌 Có lần mình sửa domain rồi mà quên /tenweb, khách mở ra bị lỗi redirect vòng vòng, tìm hoài không ra. Sau mới nhớ là URL cũ mình cài là localhost/abcxyz, chứ không phải localhost.
2. Lỗi trắng trang hoặc không truy cập được admin

Nếu bạn upload source lên host mà vào web chỉ thấy trang trắng, có thể do mấy nguyên nhân:
- PHP version trên host không khớp
- File wp-config.php sai thông tin database
- Thiếu file .htaccess
👉 Kiểm tra lại trong file wp-config.php:
define('DB_NAME', 'ten_database_tren_host');
define('DB_USER', 'user_tren_host');
define('DB_PASSWORD', 'mat_khau_tren_host');
define('DB_HOST', 'localhost'); // hoặc IP nếu hosting yêu cầu

Cách chỉnh sửa file cấu hình WordPress wp-config
💡 Có lần mình điền sai mỗi cái tên database mà ngồi gỡ hơn 30 phút, vì tưởng lỗi gì nghiêm trọng.
3. Ảnh mất sạch hoặc không hiển thị

Trên localhost thì ảnh hiển thị bình thường, lên host cái là trắng bóc, hoặc bể ảnh hàng loạt.
❌ Nguyên nhân: ảnh vẫn đang lấy link tuyệt đối từ localhost

Bạn cần phải cài Better Search Replace để tìm và thay thế URL
✅ Cách xử lý:
- Dùng plugin Better Search Replace để thay hết http://localhost/abc → https://tenmien.com
📌 Một lần mình sửa xong web gửi khách, khách nhắn: “Sao hình không thấy gì hết anh ơi”. Vô check thì mới biết là có vài ảnh up lúc còn ở localhost, không được thay link.
4. Lỗi 404 khi click menu hoặc bài viết

Nhiều bạn úp web xong, trang chủ thấy bình thường, nhưng bấm vô menu hoặc bài viết thì lỗi 404.
👉 Cách sửa cực kỳ đơn giản:
- Vô admin WordPress → Settings → Permalinks → Nhấn Save Changes

Lưu cấu hình để tạo lại file htaccess
📝 Lưu ý: File .htaccess phải tồn tại. Nếu không có, bạn tạo file mới với nội dung sau:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
5. PHP version trên hosting không phù hợp

Bạn làm web bằng PHP 8.1 trên máy, mà hosting chỉ hỗ trợ PHP 7.4 → một số plugin không chạy được, báo lỗi trắng trang. Vì vậy bạn cần phải nâng cấp phiên bản php cao hơn.
👉 Cách xử lý:
- Vô cPanel → PHP Selector → đổi về đúng phiên bản bạn đang dùng trên localhost
- Bật mấy extension cần thiết: zip, mbstring, mysqli, gd,…
📌 Mình từng bị bể layout Elementor chỉ vì thiếu zip extension. Debug muốn gãy lưng mới phát hiện.
6. Sai đường dẫn thư mục con

Một số bạn khi cài trên localhost hay để web trong thư mục con, ví dụ: localhost/tenweb.
Khi lên hosting, nếu bạn up source vào thư mục gốc /public_html thì đường dẫn sẽ khác → một số link bị sai.
👉 Kinh nghiệm:
- Xác định rõ domain thật trỏ về thư mục nào
- Nếu xài subdomain hoặc subfolder → cần xử lý lại Rewrite hoặc cấu trúc link
7. Quên test toàn diện trước khi gửi khách

Cái này là lỗi tâm lý: “up web xong là xong”. Nhưng thực ra:
- Có thể ảnh vẫn lỗi ở một số chỗ
- Một số plugin login bằng cookie localhost không hoạt động
- Hoặc thậm chí quên xóa file wp-config-sample.php, để đó cũng bị cảnh báo bảo mật
✅ Checklist trước khi gửi khách:
- Vô thử /wp-admin, login được không?
- Test trang chủ, menu, bài viết, liên hệ, ảnh,…
- Dùng ẩn danh hoặc máy khác test lại 1 lần nữa
📌 Có lần mình test bằng trình duyệt có cache, thấy mọi thứ bình thường, gửi khách thì họ bảo “web trắng bóc”. Té ra là do cache máy mình thôi!
Kết luận
Làm thiết kế web bằng WordPress thì chuyện chuyển source từ XAMPP lên hosting là như… ăn cơm mỗi ngày. Nhưng nếu chủ quan, thiếu kinh nghiệm thì rất dễ dính lỗi nhỏ mà hậu quả lớn – mất uy tín, mất thời gian, mất điểm trong mắt khách.
Hy vọng 7 chia sẻ trên giúp bạn tiết kiệm được khối thời gian và công sức khi làm web thực tế. Đừng ngại mắc sai, miễn là mình rút ra được bài học – và lần sau làm ngon hơn lần trước là được rồi.
Câu hỏi thường gặp khi chuyển XAMPP lên Hosting (FAQs)
Làm thế nào để sửa lỗi WordPress chuyển hướng về localhost sau khi chuyển lên hosting?
Đây là lỗi kinh điển khi đường dẫn trong database vẫn trỏ về localhost. Bạn cần vào phpMyAdmin, tìm bảng wp_options, và chỉnh sửa hai dòng siteurl và home thành đường dẫn tên miền thật của bạn, ví dụ: https://tenmiencuaban.com.
Nguyên nhân và cách khắc phục lỗi trang trắng hoặc không truy cập được admin WordPress sau khi chuyển từ XAMPP?
Lỗi này thường do phiên bản PHP trên host không khớp, file wp-config.php sai thông tin database, hoặc thiếu file .htaccess. Bạn cần kiểm tra và chỉnh sửa lại thông tin DB_NAME, DB_USER, DB_PASSWORD, DB_HOST trong wp-config.php cho đúng với thông tin hosting.
Làm sao để sửa lỗi ảnh bị mất hoặc không hiển thị trên website WordPress sau khi chuyển host?
Khi ảnh vẫn lấy link tuyệt đối từ localhost, chúng sẽ không hiển thị. Cách xử lý là sử dụng plugin Better Search Replace để tìm và thay thế tất cả các đường dẫn ảnh cũ (ví dụ: http://localhost/abc) bằng đường dẫn tên miền mới của bạn (ví dụ: https://tenmien.com).
Cách khắc phục lỗi 404 Not Found khi truy cập các trang con hoặc bài viết trên WordPress sau khi chuyển lên hosting?
Lỗi 404 thường xảy ra do cấu trúc permalink chưa được cập nhật. Để sửa, bạn hãy vào admin WordPress → Settings → Permalinks và nhấn nút Save Changes. Đảm bảo file .htaccess tồn tại và có nội dung chuẩn của WordPress để mod_rewrite hoạt động.
Lỗi phiên bản PHP không tương thích trên hosting ảnh hưởng đến WordPress như thế nào và cách xử lý?
Nếu phiên bản PHP trên hosting thấp hơn hoặc khác với phiên bản bạn dùng trên localhost, một số plugin có thể không chạy được hoặc gây lỗi trắng trang. Bạn cần vào cPanel hoặc bảng điều khiển hosting, tìm PHP Selector để chuyển về đúng phiên bản PHP đang dùng và bật các extension cần thiết như zip, mbstring, mysqli, gd.