Một lỗi hay gặp: bấm cập nhật toàn bộ plugin cùng lúc, xong trang trắng hoặc giao diện vỡ ngay sau đó, rồi mất cả buổi để tìm xem plugin nào vừa gây ra chuyện đó. Cập nhật WordPress plugin an toàn không phức tạp, chỉ cần thêm vài bước và đổi đúng thứ tự.
Bài này đi theo quy trình thực tế: sao lưu, thử trước, cập nhật đúng thứ tự, bật auto-update đúng cách, và biết cách lùi lại (rollback) khi có sự cố. Việc này thường nằm trong lịch chăm sóc website hoặc quản trị website định kỳ.
Vì sao thứ tự cập nhật quan trọng hơn bạn nghĩ
Một bản cập nhật plugin có thể đổi cách plugin đó gọi hàm của theme hoặc plugin khác. Cập nhật nhiều thứ cùng lúc làm bạn không biết thành phần nào vừa gây lỗi khi trang có vấn đề. Cập nhật từng thành phần, kiểm tra ngay sau mỗi lần, giúp khoanh vùng lỗi nhanh hơn nhiều so với cập nhật dồn một lượt rồi mới kiểm tra lại toàn bộ.
Bước 1: sao lưu trước khi cập nhật bất cứ thứ gì
Sao lưu gồm cả tệp (mã nguồn, ảnh, giao diện) và cơ sở dữ liệu, không chỉ một trong hai. Có thể sao lưu qua công cụ của gói hosting, qua plugin sao lưu, hoặc dùng wp-cli kết hợp mysqldump nếu bạn tự quản trị server. Chi tiết cách làm và nguyên tắc giữ bản sao lưu, đọc thêm ở bài backup website WordPress.
Không có bản sao lưu gần nhất, mọi bước sau trong bài này rủi ro hơn hẳn, vì nếu có lỗi nặng, cách nhanh nhất để quay lại trạng thái hoạt động là phục hồi từ bản sao lưu.
Bước 2: thử trên bản sao staging trước
Staging là một bản sao của website thật, chạy ở một địa chỉ riêng, không ảnh hưởng tới khách đang truy cập trang chính. Bạn cập nhật và kiểm tra trên staging trước, chỉ áp dụng lên trang chính khi staging chạy ổn.
- Qua gói hosting: nhiều nhà cung cấp hosting có sẵn nút tạo staging trong bảng điều khiển, tạo bản sao chỉ trong vài bước.
- Qua plugin staging: một số plugin tạo bản sao ngay trong WordPress, phù hợp khi hosting không có tính năng này sẵn.
- Thủ công qua cPanel hoặc aaPanel: tạo thư mục và cơ sở dữ liệu riêng, chép tệp và cơ sở dữ liệu của trang chính sang, đổi địa chỉ trong tệp cấu hình để trỏ về cơ sở dữ liệu mới.
Với website nhỏ, ít thay đổi, có thể bỏ bước staging cho các cập nhật nhỏ (ví dụ vá lỗi chính tả của plugin), nhưng vẫn nên dùng staging cho cập nhật đổi số phiên bản chính, hoặc khi cập nhật nhiều thành phần cùng một lúc.
Thứ tự cập nhật an toàn: core, theme, plugin
Không có một thứ tự bắt buộc cho mọi trường hợp, nhưng cách làm sau giảm được phần lớn rủi ro thường gặp:
- Đọc ghi chú phiên bản (changelog) của từng thành phần trước, xem có yêu cầu phiên bản PHP hoặc WordPress tối thiểu mới không.
- Cập nhật WordPress core trước nếu bản mới có vá bảo mật, vì core là nền cho mọi plugin và theme chạy trên đó.
- Cập nhật từng plugin một, theo thứ tự plugin ít quan trọng trước, plugin cốt lõi (thanh toán, đặt hàng, bảo mật) cập nhật sau cùng khi đã chắc các phần khác ổn.
- Sau mỗi lần cập nhật một thành phần, mở lại trang, thử vài chức năng chính (trang chủ, trang sản phẩm, form liên hệ, giỏ hàng nếu có) trước khi cập nhật thành phần tiếp theo.
- Cập nhật theme sau cùng, vì theme thường ảnh hưởng tới giao diện hiển thị nhiều hơn tới chức năng vận hành.
Bật auto-update đúng cách
WordPress cho ba cách kiểm soát auto-update, mức độ chủ động khác nhau:
| Cách | Thực hiện thế nào | Phù hợp với ai |
|---|---|---|
| Bật từng plugin trên Dashboard | Vào Plugins, cột Automatic Updates, bấm Enable cho từng plugin muốn tự cập nhật | Hầu hết website, muốn kiểm soát theo từng plugin cụ thể |
| Dùng filter trong code | Thêm add_filter(‘auto_update_plugin’, ‘__return_true’) để bật cho mọi plugin, hoặc kiểm theo tên plugin để chọn lọc | Người quản trị quen chỉnh file functions.php hoặc dùng plugin code snippet |
| Tắt toàn bộ qua wp-config.php | Thêm define(‘AUTOMATIC_UPDATER_DISABLED’, true) để tắt mọi cập nhật tự động, kể cả bản vá bảo mật khẩn cấp | Chỉ nên dùng khi có người theo dõi cập nhật thủ công thường xuyên, vì WordPress khuyến cáo không nên tắt hoàn toàn |
Một plugin cài trên nhiều website, ít thay đổi hành vi qua các bản vá, phù hợp để bật auto-update. Một plugin tuỳ biến nhiều, hoặc plugin cốt lõi cho việc bán hàng, nên để tự tay cập nhật và kiểm tra, tránh để auto-update âm thầm đổi hành vi lúc bạn không theo dõi sát.
Rollback khi cập nhật gây lỗi
Có hai tình huống khác nhau, nên xử lý khác nhau:
- Lỗi do plugin hoặc theme vừa cập nhật: mỗi plugin, theme trên kho WordPress.org đều có mục “Advanced View”, trong đó có danh sách “Previous Versions” để tải lại đúng bản cũ, rồi cài bằng cách tải lên (Upload Plugin) thay cho bản mới. Cách này nhanh hơn khôi phục toàn bộ sao lưu nếu chỉ một thành phần gây lỗi.
- Lỗi do cập nhật WordPress core: hạ phiên bản core rủi ro hơn nhiều, vì các bản cập nhật core thường kèm thay đổi cấu trúc cơ sở dữ liệu; hạ phiên bản không đúng cách có thể làm hỏng dữ liệu. Với core, cách an toàn hơn là phục hồi từ bản sao lưu đầy đủ cả tệp và cơ sở dữ liệu, thay vì tự hạ phiên bản.
Trước khi rollback, nên đọc qua mục thay đổi (changelog) của bản mới để biết lỗi có được những người dùng khác báo cáo chưa, nhiều khi chỉ cần chờ bản vá tiếp theo thay vì rollback ngay.
Nếu nghi ngờ lỗi xuất phát từ việc bị khai thác lỗ hổng chứ không phải lỗi tương thích thông thường, nên kiểm tra bảo mật website trước khi kết luận, và nếu đã bị khai thác thì chuyển sang quy trình xử lý website bị hack.
Lịch cập nhật định kỳ và việc cần chuẩn bị trước mỗi lần
Một quy trình cập nhật lặp lại được, không phải nhớ lại từ đầu mỗi lần, cần vài thứ chuẩn bị sẵn:
- Một nơi ghi lại phiên bản đang chạy của core, theme và từng plugin, để biết chính xác mình vừa đổi từ bản nào sang bản nào nếu cần rollback.
- Một bản sao lưu đặt tên theo ngày, giữ lại ít nhất bản gần nhất trước khi bắt đầu một đợt cập nhật mới, không ghi đè lên bản sao lưu duy nhất.
- Một danh sách chức năng cần thử sau khi cập nhật: trang chủ hiển thị đúng, form liên hệ gửi được, trang sản phẩm và giỏ hàng hoạt động nếu website có bán hàng, trang quản trị đăng nhập được.
- Một người chịu trách nhiệm theo dõi trong vài giờ sau khi cập nhật lên trang chính, để phát hiện lỗi sớm thay vì để khách hàng là người báo lỗi đầu tiên.
Với website ít thay đổi, lịch cập nhật có thể gộp theo tháng cho các bản vá không gấp, và xử lý ngay khi có vá bảo mật khẩn cấp. Với website có giao dịch, lịch kiểm tra nên sát hơn, vì thời gian gián đoạn ảnh hưởng trực tiếp tới đơn hàng đang chờ xử lý.
Để VIDCO lo phần cập nhật, bạn lo phần kinh doanh
Gửi brief: website đang dùng nền tảng gì, có bao nhiêu plugin, lần cập nhật gần nhất là khi nào. VIDCO trao đổi phạm vi và báo giá theo nhu cầu thực tế.
Nguồn tham khảo
Thông tin trong bài được đối chiếu với các nguồn chính thức dưới đây tại thời điểm biên soạn; văn bản và chính sách có thể thay đổi.
- Nâng cấp WordPress – Hướng dẫn chính thức
- Plugin WordPress – Hướng dẫn phát triển
- Cập nhật theme và plugin an toàn
Câu hỏi thường gặp
Có cần staging cho mọi lần cập nhật không?
Không bắt buộc cho các bản vá lỗi nhỏ. Nên dùng staging khi cập nhật đổi số phiên bản chính, khi cập nhật nhiều thành phần cùng lúc, hoặc khi website có luồng bán hàng quan trọng không chịu được gián đoạn.
Auto-update có an toàn không?
An toàn hơn nếu bạn vẫn theo dõi email thông báo và kiểm tra trang sau mỗi lần có cập nhật tự động. Tắt hoàn toàn auto-update khiến bạn phải tự nhớ cập nhật các bản vá bảo mật, điều WordPress khuyến cáo không nên làm.
Cập nhật xong trang trắng thì làm gì trước?
Xác định thành phần vừa cập nhật gần nhất, tạm tắt thành phần đó qua trình quản lý tệp hoặc wp-cli nếu không vào được trang quản trị, rồi rollback về bản trước theo hướng dẫn ở phần rollback trên.
Có nên cập nhật ngay khi WordPress vừa thông báo không?
Với bản vá bảo mật khẩn cấp, nên cập nhật sớm; đây cũng là trường hợp WordPress chủ động đẩy cập nhật cho mọi site dù có bật auto-update hay không. Với bản cập nhật tính năng thông thường, nên theo quy trình sao lưu và kiểm tra ở bài này trước.