Thực hành chuyển host cho hosting có dung lượng lưu trữ nhỏ theo cách bán thủ công với sự hỗ trợ của plugin All-in-One WP Migration

Giả sử bạn có một website có dung lượng 800 – 900 MB, và bạn muốn chuyển đến hosting có dung lượng lưu trữ chỉ 1GB. Trong trường hợp này, bạn không thể sử dụng các biện pháp chuyển hosting tiện dụng như plugin All-in-One WP Migration để chuyển toàn bộ website được. Vì khi ấy file nén đã chiếm đến 80 – 90% dung lượng ổ cứng của host rồi, và khi dữ liệu bung ra sẽ không còn không gian trống cho nó nữa. Kết quả là lỗi.

PS: để khôi phục dữ liệu theo kiểu tải file nén về, up lên rồi bung ra thì dung lượng ổ cứng còn trống phải lớn hơn ít nhất 2 lần file nén.


Hôm nay tôi sẽ chia sẻ với các bạn cách chuyển hosting bán thủ công. Bạn vẫn tận dụng được tính tiện lợi của All-in-One WP Migration để đỡ nhức đầu vấn đề chuyển database & chỉnh các đoạn mã lằng nhằng trong wp-config.php, đồng thời vẫn khắc chế được vấn đề hosting có dung lượng lưu trữ nhỏ.

Bí quyết ở đây là chúng ta tách phần dữ liệu database, plugin, theme & media ra (thường là ảnh). Vì ảnh là thành phần chiếm dung lượng chủ yếu, nên việc tác riêng nó ra sẽ giúp giảm từ 70 – 90% dung lượng của website, và khi ấy việc khôi phục lại trang bằng All-in-One WP Migration (AioWPm) không gặp vấn đề gì.

Thế ảnh thì thế nào?

Chúng ta sẽ nén khu vực uploads theo năm hoặc theo tháng tùy theo cách nào phù hợp hơn. Tải file nén từ hosting cũ, sau đó up file nén lên hosting mới rồi giải nén. Dĩ nhiên sẽ mất chút thời gian, nhưng biện pháp này có hiệu quả và nhanh hơn đáng kể dùng FTP để tải từng file ảnh về rồi up lên hosting mới.

OK, let’s go. Chúng ta sẽ demo trong thực tế.


Website mà tôi định chuyển có dung lượng 821MB (xuất bằng AioWPm):

Đầu tiên tôi sẽ thử chuyển toàn bộ dung lượng site lên hosting nhỏ chỉ có 1GB SSD xem lỗi xảy ra như thế nào.

Quá trình tải file nén backup toàn bộ website lên hosting mới không gặp vấn đề gì vì 821MB vẫn nhỏ hơn 1024MB (1GB):

quá trình tải file lên

Tuy nhiên khi file bung ra, chúng ta sẽ thấy lỗi này:

không thể nhập file vào

Nó thông báo rằng ổ cứng đã đầy (out of disk space) và không thể nhập file vào được (unable to import).


Giờ tôi sẽ tách file media ra khỏi file nén backup, nghĩa là tạm thời tôi sẽ chỉ chuyển database, theme & plugin:

không backup file ảnh (media)

Dung lượng file backup chỉ còn 131MB:

dung lượng file backup website đã giảm xuống rất nhiều

Quá trình khôi phục dữ liệu không gặp vấn đề gì vì 131 x 2 = 262, vẫn nhỏ hơn 1024MB rất nhiều.

Tuy nhiên vì dữ liệu media chưa có nên ảnh trên site không hiển thị:

ảnh không hiển thị trên website

Giờ chúng ta sẽ giải quyết vấn đề này. Đầu tiên tôi sẽ vào host gốc, tìm đến thư mục uploads (nằm trong thư mục wp-content) để nén và tải file nén ảnh về.

Tôi sẽ thử nén theo năm trước:

Ví dụ tôi nén các file ảnh cho 2 năm 2020 & 2021. Nó tạo ra 2 file zip có dung lượng lần lượt là 428MB và 27MB.

Dĩ nhiên file 27MB sẽ không gặp vấn đề gì, nhưng file 428MB rất lớn so với ổ 1GB, tôi sẽ phải kiểm tra xem dung lượng website đã dùng là bao nhiêu.

Kiểm tra cho thấy hiện tôi đã dùng 179MB:

Như vậy tôi còn dư 1024 – 179 = 845MB.

Nhưng 428 x 2 = 856MB, mà 856 > 845, như vậy tôi sẽ không thể khôi phục nếu dùng file zip cho cả năm 2020, tôi sẽ phải tách ra, có thể là 6 tháng đầu và 6 tháng cuối.

OK, giờ chúng ta sẽ thử với file 2021.zip vốn có dung lượng nhẹ hơn nhiều.


Đầu tiên bạn phải tải file nén zip từ hosting cũ, sau đó vào thư mục uploads của hosting mới để tải file nén lên. Sau đó bạn giải nén (extract) nó trên hosting mới. Như vậy là sẽ xong năm 2021.

PS: (1) nếu bạn thấy hosting mới ở thư mục uploads có thư mục 2021 trước đó rồi thì xóa nó đi để file nén bung ra, tránh trường hợp trùng tên thư mục. (2) cấu trúc cần phải giữ nguyên, cụ thể là wp-content > uploads > 2021

Khi làm đúng, bạn thử tải lại các bài viết trong năm 2021 sẽ thấy ảnh hiện ra chứ không còn bị lỗi nữa.

Bạn cứ tiếp tục làm vậy cho đến khi up được toàn bộ ảnh lên hosting mới.

Sau khi upload file zip lên hosting mới và giải nén xong, bạn xóa file zip đi để giải phóng dung lượng lưu trữ cho hosting của bạn.

PS: AioWPm miễn phí 512MB dữ liệu tải lên khi chuyển hosting, nên với các site nhỏ & trung bình bạn sẽ thoải mãi upload dữ liệu lên. Do vậy biện pháp ở trên không chỉ áp dụng việc chuyển website nhỏ đến hosting nhỏ, mà ngay cả khi bạn có website trung bình cỡ 3GB nhưng không có bản AioWPm trả phí (để bỏ giới hạn 512MB) thì vẫn áp dụng được để đỡ mất thời gian xử lý với database.

OK, xin chào & hẹn gặp lại các bạn trong các bài viết khác.