Rollback WordPress 7.1 Khi Nâng Cấp Lỗi: Quay Về Bản Cũ An Toàn Trong 15 Phút

Câu trả lời nhanh
Rollback WordPress là hạ core từ 7.1 về 7.0.4 bằng lệnh wp core update --version=7.0.4 --force, kèm hạ plugin về bản trước bằng WP-CLI hoặc plugin WP Rollback. Chỉ rollback khi trang trắng, không vào được admin hoặc lỗi 500 sau nâng cấp. Nếu hạ core không hết lỗi, restore toàn bộ code và database từ backup trước khi nâng cấp. Không hạ về dưới 7.0.4 để giữ các bản vá bảo mật.
Rollback WordPress 7.1 ve ban cu khi nang cap loi huong dan WP-CLI an toan

WordPress 7.1 phát hành đúng ngày 19/8, còn 3 ngày nữa thôi. Mình đã đi qua checklist nâng cấp an toàn, đã backup, đã test staging. Nhưng thực tế là không staging nào giống production 100 percent. Nếu nâng cấp xong mà trang trắng, không vào nổi admin, editor không tải — đừng hoảng. Rollback về bản cũ mất khoảng 15 phút nếu bạn chuẩn bị các lệnh từ bây giờ. Mình tổng hợp đầy đủ trong bài này: hạ core bằng WP-CLI, hạ plugin về bản trước, và trường hợp buộc phải restore toàn bộ từ backup.

Rollback WordPress là gì và khi nào bạn thật sự cần nó?

Rollback là đưa site về phiên bản hoạt động ổn định trước đó sau khi nâng cấp gặp lỗi: hạ core từ 7.1 về 7.0.4, hạ plugin về bản cũ hơn, hoặc trong trường nặng là phục hồi cả code lẫn database từ backup. Bạn cần rollback khi gặp trang trắng, không đăng nhập được admin, lỗi 500 hàng loạt, editor không tải hoặc frontend hiển thị sai hoàn toàn sau khi update. Nếu chỉ có một warning nhỏ trong debug.log thì chưa nên vội, khoanh vùng nguyên nhân trước đã.

Vì sao WordPress 7.1 lại có nguy cơ vỡ cao hơn các bản trước?

7.1 là bản major chạm sâu vào khu vực nhạy cảm nhất: editor. Toàn bộ giao diện soạn thảo chuyển sang chạy trong iframe bắt buộc, plugin nào chèn script trực tiếp vào admin theo cách cũ có thể vỡ ngay lập tức. Thêm vào đó là loạt thay đổi nền tảng như SVG Icons API, xử lý ảnh phía trình duyệt, speculative loading và các thay đổi đòi hỏi test kỹ với React 19 mà mình đã note trong bài hướng dẫn test plugin và theme với 7.1.

Theo kinh nghiệm vận hành site khách hàng của mình, hơn 80 percent sự cố sau nâng cấp đến từ plugin chứ không phải core. Nghĩa là nhiều khi bạn tưởng phải rollback core, nhưng thực chất chỉ cần hạ đúng một plugin về bản trước là hết. Vì vậy bước chẩn đoán ở dưới rất quan trọng, đừng bỏ qua.

Trước khi rollback cần chuẩn bị những gì?

Trước tiên, chẩn đoán trong 5 phút để biết lỗi đến từ đâu. Bật debug trong wp-config.php của site bị lỗi, rồi tắt toàn bộ plugin và đổi sang theme mặc định. Nếu hết lỗi, thủ phạm là plugin hoặc theme, bạn chuyển sang phần hạ plugin bên dưới thay vì hạ core. Nếu vẫn lỗi, mới rollback core.

Thứ hai, backup hiện trạng ngay cả khi site đang lỗi, gồm cả database. Nhiều bạn bỏ qua bước này và mất luôn nội dung được viết giữa lúc nâng cấp và lúc rollback. Cách backup chuẩn trên VPS mình đã hướng dẫn chi tiết trong bài backup WordPress bằng rsync và mysqldump.

Thứ ba, chốt phiên bản đích. Hiện bản ổn định mới nhất của nhánh 7.0 là 7.0.4, đã chứa các bản vá bảo mật quan trọng. Đừng hạ về 7.0.3 trở xuống, vì bạn sẽ mất ngay vá RCE qua Imagick mà mình đã phân tích trong bài WordPress 7.0.4 security release. Hạ phiên bản nhưng giữ bảo mật, đó là nguyên tắc.

Rollback WordPress core từ 7.1 về 7.0.4 bằng WP-CLI như thế nào?

Đây là phần chính. Với ai quản trị VPS, WP-CLI xử lý trong dưới 2 phút. SSH vào server, chuyển sang user sở hữu site, chạy lần lượt 4 lệnh sau. Nguyên lý: tải gói core 7.0.4 ghi đè toàn bộ file core hiện tại, giữ nguyên wp-content và wp-config.php, sau đó xác minh toàn vẹn file.

# 1. Xác nhận phiên bản hiện tại
wp core version
# Kết quả: WordPress 7.1

# 2. Hạ core về 7.0.4, --force để ghi đè file
wp core update --version=7.0.4 --force

# 3. Kiểm tra toàn vẹn file core sau khi hạ
wp core verify-checksums
# Kết quả mong đợi: Success: WordPress installation verifies against checksums.

# 4. Xóa cache để tránh hiển thị lỗi cũ
wp cache flush

Nếu lệnh update báo không tìm thấy phiên bản hoặc treo ở bước download, dùng đường vòng trực tiếp hơn: tải gói core đè lên bằng lệnh download, nó bỏ qua logic so sánh phiên bản của updater.

# Ghi đè trực tiếp gói core 7.0.4, chỉ đè file core
wp core download --version=7.0.4 --force

# Sau đó nâng cấp database nếu được nhắc
wp core update-db

Có một điều quan trọng bạn phải hiểu về database: lệnh wp core update-db chỉ nâng schema lên, không hỗ trợ hạ xuống. May mắn là các bản major gần đây của WordPress gần như không thay đổi schema database, nên hạ core từ 7.1 về 7.0.4 thường an toàn. Nếu sau khi hạ core bạn gặp thông báo database không khớp hoặc lỗi truy vấn hàng loạt, đó là lúc chuyển sang phương án restore toàn bộ ở phần dưới.

Bước cuối nhiều bạn hay quên: tắt auto-update để WordPress không tự nâng bạn lên 7.1 lại vào đêm nay trong khi bạn chưa xong việc khắc phục. Thêm dòng sau vào wp-config.php:

define( 'WP_AUTO_UPDATE_CORE', false );

Sau khi mọi thứ ổn định và bạn đã sửa xong nguyên nhân gốc, hãy bật lại auto-update cho các bản bảo mật, hoặc tối thiểu giữ minor updates bật để không bỏ lỡ các bản vá như 7.0.4 nói trên.

Hạ plugin và theme về bản trước như thế nào khi lỗi đến từ chúng?

Nếu bước chẩn đoán chỉ ra thủ phạm là plugin, bạn không cần đụng vào core. Cách nhanh nhất trên VPS là hạ trực tiếp plugin đó về phiên bản trước bằng WP-CLI. Ví dụ plugin WooCommerce vừa cập nhật lên bản mới và vỡ layout, hạ về bản trước chỉ cần một lệnh:

# Hạ plugin về phiên bản cụ thể, --force để ghi đè bản hiện tại
wp plugin install woocommerce --version=9.8.5 --force

# Tương tự với theme
wp theme install twentytwentyfive --version=1.4 --force

# Kích hoạt lại cho chắc
wp plugin activate woocommerce

Nếu bạn không rành SSH hoặc muốn chọn phiên bản bằng giao diện đồ họa, cài plugin WP Rollback từ kho WordPress.org. Vào danh sách plugin, bấm nút Rollback cạnh plugin cần hạ, chọn phiên bản từ danh sách thả xuống, plugin sẽ tự tải và cài bản đó. Cách này phù hợp với site chạy shared hosting không có WP-CLI.

Trường hợp không rõ plugin nào gây lỗi, dùng cách loại trừ: tắt toàn bộ, rồi bật lại từng cái, mỗi lần load lại trang bị lỗi một lần.

# Tắt toàn bộ plugin đang kích hoạt
wp plugin deactivate $(wp plugin list --status=active --field=name)

# Bật lại từng cái rồi test, ví dụ
wp plugin activate seo-by-rank-math

Khi nào rollback không đủ và buộc phải restore từ backup?

Có ba triệu chứng cho thấy hạ core và hạ plugin đều vô dụng, bạn cần phục hồi toàn bộ. Một: vẫn trắng trang sau khi đã hạ core về 7.0.4 và tắt hết plugin. Hai: gặp lỗi dạng “database is out of date” hoặc lỗi truy vấn hàng loạt, nghĩa là schema đã bị thay đổi. Ba: phát hiện nội dung hoặc đơn hàng bị mất sau nâng cấp, lúc này mọi thao tác ghi thêm vào database chỉ làm tình hình tệ hơn.

Quy trình restore tóm tắt như sau. Dừng web server để không có request ghi mới vào database, khôi phục thư mục code từ backup bằng rsync, import database từ file dump, rồi khởi động lại web server và kiểm tra. Nếu bạn đã làm theo hướng dẫn backup của mình thì mọi thứ nằm sẵn trên server hoặc máy cá nhân, việc còn lại chỉ là lệnh khôi phục. Đây cũng chính là lý do mình luôn nhắc: backup trước khi nâng cấp không phải tùy chọn, mà là điều kiện tiên quyết.

Sau khi rollback thành công, lần nâng cấp tiếp theo cần làm gì đúng?

Rollback là giải pháp tạm, không phải đích đến. Site của bạn vẫn cần lên 7.1 sớm để nhận tính năng mới và các bản vá sau này. Sau khi ổn định, làm bốn việc: một, lập staging site copy nguyên văn production; hai, nâng 7.1 trên staging và bật Query Monitor để bắt hết warning; ba, báo lỗi cho nhà phát triển của plugin gây sự cố, đa số sẽ vá trong vài ngày; bốn, cân nhắc chờ bản 7.1.1 — bản .1 đầu tiên luôn gom hồi loạt fix lùi từ cộng đồng, an toàn hơn hẳn ngày release.

Để nắm toàn bộ thay đổi kỹ thuật của 7.1 trước khi thử lại, bạn nên đọc WordPress 7.1 Field Guide mà mình đã tổng hợp, kết hợp chạy thử trên RC theo hướng dẫn test 4 cách đã đăng tuần trước. Test kỹ một lần trên staging còn hơn rollback ba lần trên production.

Kết luận

Còn 3 ngày trước khi WordPress 7.1 tới tay mọi site. Checklist của bạn giờ nên có thêm trang cuối: kịch bản rollback. Lưu sẵn 4 lệnh WP-CLI hạ core, nhớ nguyên tắc chỉ hạ về 7.0.4 chứ không thấp hơn, và chắc chắn backup trước 19/8. Nếu lần nâng cấp ấy trơn tru thì tốt, còn nếu site vỡ, bạn sẽ là người bình tĩnh nhất phòng kỹ thuật lúc đó.

Thanh Tùng

Mình là Thanh Tùng. Bạn bè gọi mình là "bác sĩ máy tính" vì hễ máy nào có vấn đề là mình muốn mò vào xem sao. Mình viết hướng dẫn theo cách mà mình mong người khác đã viết cho mình ngày xưa — từng bước rõ ràng, không bỏ sót, và nói luôn cái gì hay bị lỗi. Ngoài giờ làm mình chơi guitar, nuôi mèo, và có một con VPS riêng dành riêng cho việc cài thử đủ thứ linh tinh.

Xem tất cả bài viết →

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *