
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.