Trong quá trình Backup – Restore WordPress Website rất nhiều người dùng gặp các lỗi xuất phát từ việc không chuẩn bị mọi thứ đúng như yêu cầu của các plugins.
Việc nắm rõ Qui trình backup – restore WordPress cũng như các yêu cầu chung khi backup – restore sẽ giúp chúng ta thực hiện việc này dễ dàng và hiệu quả.
Bài hướng dẫn này là Phần 3 của Chapter Backup – Restore – Clone – Migrate WordPress của Khóa học Pro WordPress Master thuộc WP Academy – WPbanquyen.com!
Chapter: Backup – Restore – Clone – Migrate WordPress gồm các phần:
- Phần 1 – Backup Websites – Các phương pháp Backup phổ biến
- Phần 2 – So sánh & Đánh giá những Plugins Backup & Restore – Clone tốt nhất 2018
- Phần 3 – Qui trình backup – restore WordPress và những lưu ý khi thực hiện
- Phần 4 – Hướng dẫn UpdraftPlus để backup tự động & restore từ Google Drive
- Phần 5 – Hướng dẫn sử dụng All in One WP Migration để Backup – Restore, Clone & Migrate từ Google Drive
- Phần 6 – Hướng dẫn Backup & Restore – Clone & Migrate Thủ công
Backup – Restore WordPress: QUI TRÌNH VÀ LƯU Ý
Mục lục bài viết
A. Qui trình Backup – Restore WordPress
Để hiểu về các bước thực hiện khi Backup – Restore Website dùng WordPress, chúng ta cần nắm được một Website WordPress đang hoạt động gồm những thành phần nào?
Về cơ bản, khi bạn hoàn thành cài đặt WordPress thì Website sẽ gồm các thành phần sau:
- WordPress Core: chứa tất cả các thư mục và tập tin của bản WordPress gốc tải về từ WordPress.Org hầu như các files không thay đổi so với bản gốc tải về từ WordPress.org trong quá trình site hoạt động. Nếu có thì thường là do viruses chèn code hay file chứa mã độc vào. (phần thay đổi là file cấu hình wp-config.php & thư mục wp-content)
- File cấu hình riêng cho mỗi site wp-config.php và file cấu hình của hosting .htaccess (nếu dùng shared hosting – file .htaccess thường bị ẩn).
- Các files của dịch vụ ngoài nằm trên thư mục chứa code (thường là public_html hay ten_mien.com…): ví dụ bạn kết nối các dịch vụ như Yandex Domain Mail hay Google Analytics… thì họ sẽ cần thêm các file này vào để xác thực.
- Thư mục wp-content, chứa Themes (Themes), Plugins (Plugins) và media (Uploads) và các files phát sinh do Plugins tạo ra hay người dùng thêm vào (như Languages).
- Database MySQL: cơ sở dữ liệu của toàn bộ Website.
Vậy với mỗi Website WordPress, khi cần backup – clone hay migrate ta cần những phần: toàn bộ thư mục wp-content (3) + các files xác thực của dịch vụ ngoài nếu có (2) + file chứa database .sql (4) và wp-config.php (1).
Riêng file .htacces (1) chúng ta có thể không cần backup mà chỉ cần cấu hình lại Hosting cho phù hợp là được.
Vậy qui trình Backup và Restore sẽ bao gồm sao lưu và phục hồi các phần tương ứng:
- Backup Database: nếu làm thủ công thì vào phpMyAdmin, chọn database của Website rồi dùng tính năng Export để xuất toàn bộ ra file .sql để tải về.
- Backup thư mục wp-content: nén lại thành file .zip rồi tải về.
- Backup các file của dịch vụ ngoài: chọn tất cả, nén lại thành .zip để tải về.
- Cẩn thận hơn thì ta tải file wp-config.php về luôn.
Trong bài hướng dẫn Backup & Restore – Clone – Migration thủ công, chúng ta sẽ hiểu kỹ hơn về 4 cái này.
Như UpdraftPlus và dịch vụ VaultPress, chúng tự động backup 4 mục nói trên, và cho phép người dùng chọn thêm các file hay folder khác nếu muốn.
Một số plugins chuyên về Clone – Migration như AllinOne WP Migration hay Duplicator thì backup toàn bộ Code của Website (cả WordPress Core và .htaccess) + Database.
B. Chuẩn bị trước khi Backup & Restore
Người dùng ít kinh nghiệm thường gặp rất nhiều vấn đề khi tiến hành Backup & Restore: có thể là quá trình bị lỗi giữa chừng hay website sau khi restore bị lỗi giao diện, mất tính năng.
Hầu hết các vấn đề xuất phát từ việc chưa đọc hết các hướng dẫn của plugins (thường khá dài). Bạn cần lưu ý các vấn đề sau trước khi cài đặt Backup – hay Restore Website:
1. Dung lượng của Hosting phải đủ để chứa bản Backup của Website
Dù được lưu trữ trên Cloud Drive hay ở dịch vụ lưu trữ khác thì quá trình Backup và Restore, bản lưu trữ vẫn phải chứa tạm trên Hosting để up lên Cloud Drive hay Giải nén ra để Restore Website.
Trước khi backup hay restore, chúng ta cần xem dung lượng bản backup là bao nhiêu, và xem dung lượng ổ còn trống trên Hosting có đủ không (xem trên cPanel).
Dung lượng trống khi Backup
Nếu dung lượng Website là 1GB, thì dung lượng trống Hosting phải hơn 1GB để chứa bản backup.
Dung lượng trống khi Import bản Backup
Để Import một bản backup lên site mới – thì phải cần dung lượng trống hosting như sau:
- Dung lượng để chứa bản backup
- Dung lượng để bung nén bản backup
Như vậy, nếu bạn cần import (clone/ migration) một Website nặng 1GB – Thì Hosting của bạn phải có dung lượng trên 2GB mới đạt yêu cầu!
Thủ thuật WP
Nếu dung lượng size quá lớn nguyên nhân chính là do thư mục uploads (wp-content/uploads), nơi chứa hình ảnh và các tập tin khác (zip, pdf…) trong quá trình sử dụng chúng ta tải lên Media Library.
- Để giảm dung lượng file backup và restore, chúng ta có thể nén folder uploads rồi tải về, sau đó Xóa folders này (và cả bản nén uploads.zip) để giảm dung lượng size (thường chỉ còn vài trăm MB).
- Sau khi restore, chúng ta upload file uploads.zip và giải nén vào wp-content trên hosting mới.
- Sau khi giải nén, hãy vào Dashboard, trong Settings -> Permalinks nhấp Save changes để cập nhật các đường dẫn (nếu không bạn sẽ không thấy Images trên site mới).

Đa số các dịch vụ Hosting uy tín đều có thể tăng thêm cho bạn dung lượng lưu trữ trong 12h -> 24h. Nên nếu hosting còn quá ít dung lượng trống, hãy liên hệ support để họ giúp bạn.
2. Các thông số PHP Version & PHP Option Limits phải phù hợp

Việc thay đổi PHP version và các thông số giới hạn PHP Options (trên VPS hay cPanel) , cũng như bật tắt các Extension phải cẩn thận vì có thể khiến Website khi restore hoạt động không đúng như khi tiến hành backup.
Sau đây là các thông số khuyên dùng (đáp ứng hầu hết các plugins nặng nhất hiện nay). Một số hosting không cho phép bạn tăng quá cao các mục memory_limit, post_max_size và upload_max_filesize thì bạn cứ để thông số cao nhất họ cho phép.

Thường khi Restore thì các plugins sẽ làm việc tốt nhất nếu phiên bản PHP và các Extension giống như lúc Backup.
Khi bạn thay đổi PHP Version (ví dụ từ 5.6 lên 7.2) hay các giá trị limits trong PHP Options thì cần ghi nhớ để nhỡ khi Restore Website không hoạt động tốt thì chỉnh lại như cũ.
PHP 7.2 đang là phiên bản mạnh nhất nên sẽ giúp quá trình Backup – Restore mượt mà hơn.

3. Tắt OPcache khi Restore Website
OPcache là một extension của PHP cho phép lưu (caching) kết quả của các lệnh PHP vào bộ nhớ đệm, việc này giúp giảm tải quá trình thực hiện các lệnh PHP trùng lặp, nhờ đó tăng tốc độ load và giảm tải cho máy chủ đáng kể.
Đáng tiếc là OPcache thường gây vấn đê khi tiến hành Restore Website – có thể là do dữ liệu đệm giữa thời điểm backup & restore xung đột nhau.
Nên chúng ta cần tắt extension này trước khi tiến hành restore Website.
Để tắt Extension OPcache, bạn vào cPanel, phần PHP version/ extension bỏ chọn và Save changes là xong.
Riêng nếu dùng VPS (Linux – Nginx) thì bạn không cần tắt OPcache mà chỉ cần tìm file trong đường dẫn:
/etc/php.d/opcache-default.blacklist
Và khai báo các plugins backup để nó loại trừ. Thêm các dòng sau vào file opcache-default.blacklist rồi Save lại.
/home/*/public_html/wp-content/plugins/backwpup/* /home/*/public_html/wp-content/plugins/duplicator/* /home/*/public_html/wp-content/plugins/updraftplus/*
(Lưu ý nếu không có file opcache-default.blacklist thì khả năng VPS chưa cài OPcache, nên không cần làm gì nữa).
4. Backup dự phòng ngay trước khi Restore
Khi Website gặp vấn đề và không sửa được hoặc việc sử lại quá khó khăn, mất thời gian thì chúng ta thường chọn Restore lại phiên bản gần nhất đã Backup.
Tuy nhiên, đôi khi việc restore bị lỗi hoặc Website khi restore hoạt động không tốt và phiên bản Website hiện tại cũng mất luôn (do bị bản backup ghi đè lên trong quá trình restore). Lúc này có thể ta sẽ cần mọi thứ trở lại như trước khi Restore.
Do vậy, ngay trước thời điểm Restore Website, chúng ta nên tiến hành backup:
- Backup Website, để an toàn ta sẽ backup Website bằng vài plugins khác nhau (ví dụ UpdraftPlus – AllionOne WP Migration, Duplicator).
- Cùng với đó là backup Website thủ công (vào PHP MyAdmin để Export database và tải về) + nén rồi toàn bộ code WordPress về.
- Backup Hosting (vào cPanel, mục Backup).
- Backup VPS (nếu có hỗ trợ backup tự động hoặc ta nén và tải toàn bộ code về + backup database)
Càng cẩn thận thì khi có sự cố ta càng dễ thở. Rất nhiều trường hợp chỉ vì một chút chủ quan mà mất rất nhiều thời gian để khắc phục, có khi mất luôn cả code và dữ liệu.
Chúc thành công!
Chào bạn mình có vấn đề về làm website. Mong bạn bớt chút thời gian trợ giúp mình với. Vì mình có ” Làm hiệu ứng bóng cho Logo – có tìm được code trên mạng. Và mình đã chỉnh sửa ở file Style.css. Nhưng bị lỗi theme . Sau đó mình có upload lại file css gốc . Nhưng vẫn không được. mình có xoá hết wordpress và cài lại . nhưng vẫn xuất hiện lỗi đó khi cài theme cũ . theme khác thì được. mình cũng không biết lỗi do đâu nữa. dù đã xoá cache, cookie rồi. Mong bạn giúp đỡ ạ. Cám ơn bạn nhiều .
Mình đoán vấn đề nằm ở cache còn lưu trên trình duyệt của bạn hoặc cache còn giữ ở hosting (nếu bạn dùng plugin cache trước đó)
Bạn thử xóa cache trình duyệt (Ctrl+Shilf+Delete) rồi vào lại xem nhé!
À, mình hay dùng All in One WP Migration nên có thấy cái này nữa, là đợt gần đây thấy dung lượng web tăng chóng mặt. Thì ra là bố All in One WP Migration lưu file backup trên host khi mình dùng bản miễn phí 500mb để load file về máy. AE vào xóa đi là OK ạ
Cảm ơn bạn. Backup web là một công việc vô cùng quan trọng nếu ko muốn sấp mẹt khi có sự cố 😀