“Đã có lỗi nghiêm trọng trên trang web của bạn” (bản tiếng Anh: There has been a critical error on this website) là thông báo WordPress hiện ra khi một đoạn mã PHP bị lỗi nặng tới mức không chạy tiếp được. Từ phiên bản 5.2, WordPress không để trang trắng nữa mà hiện thông báo này và gửi email cho quản trị viên. Tin tốt là email đó thường nói luôn plugin hay theme nào gây lỗi.

1. Đọc email báo lỗi
Tìm trong hộp thư của địa chỉ email quản trị (trong Cài đặt → Tổng quan) một email có tiêu đề kiểu “Trang web của bạn đang gặp sự cố kỹ thuật”. Kiểm tra cả thư rác và tab Quảng cáo nếu dùng Gmail. Email gồm:
- Tên plugin hoặc theme gây lỗi.
- Chi tiết lỗi: loại lỗi, đường dẫn file, số dòng. Ví dụ
Uncaught Error: Call to undefined function ... in /wp-content/plugins/abc/abc.php:120. - Đường link vào chế độ khôi phục (recovery mode).
Không thấy email thì nhiều khả năng web không gửi được thư. Khi đó chuyển sang mục 3 để đọc lỗi trực tiếp.
2. Dùng chế độ khôi phục
Bấm đường link trong email và đăng nhập. Ở chế độ khôi phục, WordPress tạm dừng plugin hoặc theme bị lỗi chỉ cho riêng phiên của bạn, nên bạn vào được trang quản trị trong khi khách vẫn thấy thông báo lỗi. Trong trang Plugin sẽ có thông báo plugin nào đang bị tạm dừng. Việc cần làm:
- Tắt hẳn plugin đó (bấm Huỷ kích hoạt).
- Thoát chế độ khôi phục bằng nút trên thanh quản trị, rồi mở web như khách để chắc web đã chạy lại.
- Quyết định xử lý plugin: cài lại bản cũ, chờ bản sửa, hoặc thay plugin khác.
Link khôi phục chỉ dùng được trong một thời gian ngắn. Nếu link hết hạn, tải lại trang lỗi để WordPress gửi email mới. Email chỉ được gửi lại sau một khoảng thời gian chờ.

3. Không có email: tự đọc lỗi
- Mở
wp-config.phptrong thư mục gốc, đổiWP_DEBUGthànhtruevà thêmdefine( 'WP_DEBUG_LOG', true );cùngdefine( 'WP_DEBUG_DISPLAY', false );. - Tải lại trang lỗi, rồi mở file
wp-content/debug.log. - Tìm dòng
PHP Fatal errorgần nhất. Đường dẫn trong dòng đó cho biết thủ phạm:/plugins/ten-plugin/là plugin,/themes/ten-theme/là theme. - Tắt thủ phạm bằng cách đổi tên thư mục của nó qua File Manager hoặc FTP.
Xong việc thì đặt WP_DEBUG về false và xoá debug.log.
4. Các thông báo lỗi hay gặp và ý nghĩa
| Thông báo | Thường do |
|---|---|
Call to undefined function | Plugin gọi hàm của một plugin khác đã bị tắt hoặc gỡ, hoặc hàm đã bị bỏ ở PHP mới |
Allowed memory size exhausted | Hết bộ nhớ PHP, cần tăng WP_MEMORY_LIMIT hoặc dọn plugin |
syntax error, unexpected ... | Vừa sửa code (thường trong functions.php) bị sai cú pháp |
Cannot redeclare ... | Hai plugin khai báo trùng một hàm, hoặc một plugin được cài hai lần |
requires PHP version ... | Plugin đòi PHP mới hơn bản hosting đang chạy |
Nếu lỗi liên quan phiên bản PHP, xem bài nâng cấp PHP cho WordPress an toàn.
5. Lưu ý với web bán hàng
Với WooCommerce, lỗi nghiêm trọng hay xuất hiện sau khi cập nhật WooCommerce mà chưa cập nhật các plugin mở rộng đi kèm (cổng thanh toán, vận chuyển, biến thể sản phẩm). Hãy cập nhật các plugin mở rộng trước hoặc cùng lúc. Nếu lỗi chỉ xảy ra ở trang thanh toán, rất có thể do plugin cổng thanh toán. Hãy tạm tắt nó, để lại phương thức chuyển khoản hoặc COD trong lúc chờ sửa, để khách vẫn đặt được hàng.
6. Phòng lại
- Sửa cho web gửi được email, để lần sau bạn nhận được email báo lỗi.
- Sao lưu trước khi cập nhật và cập nhật từng plugin một. Xem bài cập nhật WordPress không lỗi web.
- Không sửa code trực tiếp trong trình sửa theme của WordPress. Dùng theme con và sửa qua FTP để còn hoàn tác được.
- Bật giám sát website để biết ngay khi web lỗi.
7. Khi nào nên nhờ người làm
Nếu lỗi nằm trong theme tuỳ biến do bên khác viết, hoặc tắt plugin xong web vẫn lỗi, nên nhờ người đọc mã. Dịch vụ sửa lỗi trắng trang, lỗi 500, critical error giá 390.000đ đến 890.000đ, thường xong trong ngày, sao lưu trước khi sửa.