Chuyển hosting không gián đoạn dựa vào một nguyên tắc: dựng xong và kiểm tra kỹ website trên hosting mới trong khi khách vẫn vào hosting cũ, rồi mới đổi DNS. Thứ tự chuẩn là sao lưu file và cơ sở dữ liệu, dựng bản trên hosting mới, kiểm tra bằng file hosts trên máy mình, hạ TTL trước một ngày, đổi DNS, rồi giữ hosting cũ thêm vài ngày phòng sự cố.
Làm đúng thứ tự, khách gần như không nhận ra website đã đổi chỗ. Làm ngược, ví dụ đổi DNS trước rồi mới tải dữ liệu lên, website sẽ trắng trang hoặc báo lỗi trong vài giờ tới vài ngày, email có thể mất.
Checklist dưới đây áp dụng cho website PHP phổ biến như WordPress, có ghi chú riêng cho email và SSL, hai thứ hay bị quên nhất.
Trước khi chuyển: kiểm hosting mới có hợp không
Chuyển đi rồi phải chuyển lại là tốn gấp đôi công. Trước khi trả tiền gói dài hạn, đối chiếu những điểm sau với website hiện có:
- Phiên bản PHP và cơ sở dữ liệu: có đúng phiên bản website đang chạy, có cho chọn nhiều phiên bản không.
- Dung lượng và số tệp (inode): website nhiều ảnh nhỏ có thể chạm giới hạn số tệp trước khi chạm giới hạn dung lượng.
- Tài nguyên CPU, RAM, số tiến trình: gói rẻ thường giới hạn chặt, website bán hàng đông khách giờ cao điểm sẽ chậm hoặc báo lỗi.
- Vị trí máy chủ: khách chủ yếu ở Việt Nam thì máy chủ trong nước hoặc gần khu vực sẽ phản hồi nhanh hơn; dùng CDN có thể bù phần nào.
- Sao lưu: hosting có tự sao lưu không, giữ bao nhiêu ngày, khôi phục có mất phí không.
- Email: có kèm hộp thư không, giới hạn số thư gửi mỗi giờ là bao nhiêu.
- SSL miễn phí và quyền truy cập: có cấp chứng chỉ tự động, có SSH, cron, phpMyAdmin.
- Hỗ trợ: kênh liên hệ, giờ làm việc, có hỗ trợ chuyển dữ liệu cho khách mới không.
Nếu được, thuê theo tháng hoặc dùng thời gian dùng thử để chạy bản sao website một hai tuần trước khi cam kết dài hạn.
Giai đoạn 1: chuẩn bị và sao lưu
Làm trước ngày chuyển ít nhất một hai ngày:
- Kiểm kê những gì đang nằm trên hosting cũ: bao nhiêu website, tên miền phụ, cơ sở dữ liệu, hộp thư email, tác vụ định kỳ (cron), các tệp cấu hình đặc biệt như .htaccess, phiên bản PHP đang dùng.
- Chép toàn bộ bản ghi DNS hiện tại ra một tệp, kể cả MX, TXT, CNAME.
- Sao lưu file: nén toàn bộ thư mục website (thường là public_html) bằng trình quản lý file của bảng điều khiển hoặc tải qua FTP, SFTP. Với website lớn, nén trên máy chủ rồi tải một tệp sẽ nhanh và ít lỗi hơn tải hàng chục nghìn tệp lẻ.
- Sao lưu cơ sở dữ liệu: xuất bằng phpMyAdmin hoặc công cụ dòng lệnh thành tệp .sql. Ghi lại tên cơ sở dữ liệu, tên người dùng, mật khẩu đang dùng trong tệp cấu hình (với WordPress là wp-config.php).
- Sao lưu email nếu email nằm trên hosting cũ: ghi danh sách hộp thư, chuẩn bị đồng bộ thư qua IMAP.
- Hạ TTL của các bản ghi A, CNAME, MX xuống khoảng 300 giây (5 phút) trước ngày đổi ít nhất bằng một chu kỳ TTL cũ, thường là trước 24 giờ. Khi đổi thật, các mạng sẽ nhận địa chỉ mới nhanh.
Kiểm tra tệp sao lưu: mở thử tệp nén, xem tệp .sql có dung lượng hợp lý, không dừng giữa chừng. Bản sao lưu chưa từng mở thử thì chưa chắc dùng được.
Giai đoạn 2: dựng website trên hosting mới
Thêm tên miền vào hosting mới (bước này không ảnh hưởng gì website đang chạy vì DNS chưa đổi). Tải tệp nén lên thư mục website và giải nén. Tạo cơ sở dữ liệu và người dùng mới, cấp đủ quyền, rồi nhập tệp .sql. Với tệp lớn, phpMyAdmin hay bị giới hạn dung lượng tải lên; khi đó dùng công cụ nhập của bảng điều khiển hoặc nhờ hỗ trợ của hosting.
Sửa tệp cấu hình website cho khớp thông tin cơ sở dữ liệu mới: tên cơ sở dữ liệu, người dùng, mật khẩu, máy chủ (thường là localhost nhưng không phải nơi nào cũng vậy). Chọn đúng phiên bản PHP như hosting cũ hoặc phiên bản mới hơn mà website đã được thử là chạy được; nhảy cóc nhiều phiên bản dễ gây lỗi với theme, plugin cũ.
Nếu website là WordPress, có thể dùng plugin di chuyển để gói và bung cả website một lần, tiện cho người mới. Nhưng với website lớn, plugin hay chạm giới hạn thời gian chạy, khi đó cách thủ công ở trên chắc ăn hơn. Nhiều hosting cũng nhận chuyển miễn phí cho khách mới nếu bạn đưa thông tin đăng nhập hosting cũ; hỏi trước, tiết kiệm được kha khá thời gian.
Cuối giai đoạn này, cài lại các tác vụ định kỳ và kiểm tra quyền thư mục (thường thư mục 755, tệp 644); thư mục tải lên ảnh cần ghi được, nếu không website chạy nhưng không đăng được ảnh mới.
Giai đoạn 3: kiểm tra bằng file hosts trước khi đổi DNS
File hosts là tệp trên máy tính của bạn cho phép ép một tên miền trỏ tới một IP chỉ trên máy đó, bỏ qua DNS. Nhờ nó, bạn mở website trên hosting mới bằng đúng tên miền thật, trong khi cả thế giới vẫn vào hosting cũ.
Trên Windows, tệp nằm ở thư mục C:\Windows\System32\drivers\etc, mở bằng Notepad chạy với quyền quản trị. Trên macOS và Linux, tệp là /etc/hosts, sửa bằng quyền quản trị. Thêm một dòng gồm IP hosting mới, dấu cách, rồi tên miền; thêm dòng thứ hai cho bản có www phía trước. Lưu lại, đóng hẳn trình duyệt rồi mở lại, hoặc dùng cửa sổ ẩn danh.
Giờ duyệt kỹ: trang chủ, vài trang con, trang sản phẩm, giỏ hàng, đặt thử một đơn, gửi biểu mẫu liên hệ, đăng nhập trang quản trị, tải ảnh lên. Để chắc mình đang xem bản mới, tạm đặt một thay đổi nhỏ chỉ có trên hosting mới (ví dụ một tệp thử) hoặc xem IP trong công cụ nhà phát triển. Lưu ý SSL lúc này có thể báo lỗi vì hosting mới chưa cấp được chứng chỉ khi DNS chưa trỏ về; đó là bình thường ở bước này.
Kiểm tra xong, nhớ xoá dòng vừa thêm trong file hosts. Quên xoá là sau này máy bạn mãi vào IP cũ dù website đã chuyển đi nơi khác, gây những lỗi rất khó hiểu.
Giai đoạn 4: đổi DNS và theo dõi
Chọn giờ ít khách, thường là đêm khuya hoặc sáng sớm:
- Ngưng cập nhật nội dung trên hosting cũ (tạm dừng đăng bài, nếu là cửa hàng có thể bật chế độ bảo trì ngắn), rồi xuất lại cơ sở dữ liệu mới nhất và nhập đè lên hosting mới, để không mất đơn hàng hay bình luận phát sinh trong thời gian chuẩn bị.
- Đổi bản ghi A (và AAAA nếu có) sang IP hosting mới. Nếu bạn đổi nameserver sang nameserver của hosting mới thay vì sửa bản ghi, hãy chắc vùng DNS ở hosting mới đã có đủ mọi bản ghi đã chép, đặc biệt MX và TXT.
- Cấp chứng chỉ SSL trên hosting mới ngay khi DNS đã trỏ về.
- Theo dõi bằng công cụ tra DNS trực tuyến từ nhiều nơi cho tới khi mọi nơi trả IP mới. Với TTL đã hạ, phần lớn mạng chuyển trong vài phút tới vài giờ.
- Nâng TTL lên lại mức thường (ví dụ 3600 giây) sau khi ổn định.
- Giữ hosting cũ thêm ít nhất 3–7 ngày, không xoá dữ liệu. Một số mạng, một số máy cache lâu vẫn vào chỗ cũ; có sự cố thì bạn quay lại chỉ bằng một lần sửa DNS.
Trong thời gian hai bên cùng chạy, nếu website có đơn hàng, kiểm tra hosting cũ xem có đơn nào lọt vào không để xử lý tay.
Lỗi hay gặp sau khi chuyển hosting
Mất email. Hộp thư nằm trên hosting cũ mà quên tạo lại trên hosting mới, hoặc đổi nameserver khiến bản ghi MX biến mất. Tạo lại hộp thư, đồng bộ thư cũ qua IMAP, kiểm tra MX và SPF trỏ đúng nơi đang giữ email. Nếu email dùng dịch vụ riêng, chỉ cần giữ nguyên MX là thư không bị ảnh hưởng.
Lỗi kết nối cơ sở dữ liệu. Thông báo kiểu "Error establishing a database connection" gần như luôn do tệp cấu hình còn tên, mật khẩu cũ, hoặc người dùng chưa được cấp quyền vào cơ sở dữ liệu.
Sai đường dẫn, ảnh không hiện. Đường dẫn tuyệt đối tới thư mục trên máy chủ cũ (như /home/tencu/...) còn nằm trong cấu hình plugin hoặc mã; thư mục trên hosting mới khác tên. Tìm và sửa các đường dẫn này. Nếu đổi luôn tên miền, phải thay địa chỉ cũ trong cơ sở dữ liệu bằng công cụ tìm và thay thế an toàn.
SSL chưa cấp, khách thấy cảnh báo. Chứng chỉ cũ không đi theo website. Cấp mới ngay sau khi DNS trỏ về; nếu dùng CDN, kiểm tra chế độ SSL không gây vòng chuyển hướng.
Trang trắng hoặc lỗi 500. Thường do khác phiên bản PHP, thiếu phần mở rộng PHP mà plugin cần, hoặc .htaccess có lệnh hosting mới không hỗ trợ. Bật nhật ký lỗi, đọc dòng lỗi cuối cùng thay vì đoán.
Tác vụ định kỳ không chạy. Email nhắc đơn, sao lưu tự động, đồng bộ kho im lặng ngừng vì cron chưa được cài lại.
Câu hỏi thường gặp
Chuyển hosting mất bao lâu?
Website nhỏ vài trăm MB có thể chuyển trong một buổi, phần lớn thời gian là kiểm tra. Website lớn, nhiều email hoặc cơ sở dữ liệu nặng cần một hai ngày chuẩn bị. Thời gian DNS lan truyền thường vài phút tới vài giờ nếu đã hạ TTL trước.
Chuyển hosting có ảnh hưởng SEO không?
Không đáng kể nếu tên miền và đường dẫn giữ nguyên, website không sập lâu. Hosting mới nhanh hơn còn có lợi. Rủi ro SEO đến từ việc website lỗi nhiều giờ, đường dẫn thay đổi không chuyển hướng, hoặc quên tệp robots.txt chặn toàn bộ trang.
Có cần chuyển tên miền khi chuyển hosting không?
Không. Tên miền và hosting là hai dịch vụ độc lập. Bạn chỉ cần đổi bản ghi DNS trỏ về hosting mới, tên miền vẫn ở nhà đăng ký cũ. Chuyển tên miền là việc riêng, nên làm vào lúc khác để tránh hai thay đổi cùng lúc.
File hosts là gì và có nguy hiểm không?
Là tệp văn bản nhỏ trên máy tính, ép tên miền trỏ tới IP bạn chỉ định, chỉ có tác dụng trên máy đó. Không nguy hiểm nếu bạn biết mình đã thêm gì và xoá sau khi kiểm tra. Một số phần mềm độc hại cũng sửa tệp này, nên thấy dòng lạ thì nên kiểm tra.
Hosting cũ hết hạn trước khi chuyển xong thì sao?
Gia hạn thêm một tháng nếu nhà cung cấp cho phép, chi phí nhỏ so với rủi ro mất dữ liệu. Nếu đã hết hạn, liên hệ ngay vì nhiều nơi giữ dữ liệu thêm vài ngày trước khi xoá hẳn. Luôn giữ bản sao lưu riêng trên máy hoặc lưu trữ đám mây.
Có nên nhờ hosting mới chuyển hộ không?
Nên nếu họ có dịch vụ chuyển miễn phí hoặc giá hợp lý, nhất là với website lớn. Bạn vẫn nên tự sao lưu trước, tự kiểm tra bằng file hosts và tự đổi DNS hoặc ít nhất biết họ sẽ đổi lúc nào.