Khắc phục critical error trong WordPress từng bước

Giới thiệu về Lỗi Nghiêm Trọng trong WordPress
Lỗi nghiêm trọng trong WordPress (thường được gọi là “Critical Error” hoặc “White Screen of Death” – WSOD) là một trong những vấn đề đáng sợ nhất mà người dùng WordPress có thể gặp phải. Khi gặp lỗi này, trang web của bạn sẽ hiển thị một màn hình trắng trơn, hoặc một thông báo lỗi chung chung, và bạn sẽ không thể truy cập vào trang web của mình, bao gồm cả bảng điều khiển quản trị (wp-admin).
Nguyên nhân gây ra lỗi nghiêm trọng rất đa dạng, nhưng thường liên quan đến các vấn đề sau:
- Plugin xung đột hoặc bị lỗi
- Theme xung đột hoặc bị lỗi
- Vượt quá giới hạn bộ nhớ PHP
- Lỗi trong mã nguồn của theme hoặc plugin
- Cơ sở dữ liệu bị lỗi
Việc xác định nguyên nhân gốc rễ của lỗi là bước đầu tiên quan trọng để khắc phục. Bài viết này sẽ hướng dẫn bạn từng bước cách khắc phục lỗi nghiêm trọng trong WordPress.
Bước 1: Kích hoạt Chế độ Debug trong WordPress
Chế độ debug (gỡ lỗi) trong WordPress cho phép hiển thị các thông báo lỗi chi tiết, giúp bạn xác định chính xác vấn đề gây ra lỗi nghiêm trọng. Để kích hoạt chế độ debug, bạn cần chỉnh sửa file wp-config.php
.
- Truy cập vào hosting của bạn thông qua FTP hoặc trình quản lý file của hosting.
- Tìm file
wp-config.php
nằm ở thư mục gốc của WordPress. - Tải file
wp-config.php
về máy tính của bạn và mở bằng trình soạn thảo văn bản. - Tìm dòng
define( 'WP_DEBUG', false );
. - Thay đổi
false
thànhtrue
. Nếu dòng này không tồn tại, hãy thêm đoạn code sau vào trước dòng/* That's all, stop editing! Happy publishing. */
:define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', true );
- Lưu file
wp-config.php
và tải nó trở lại hosting, ghi đè lên file cũ. - Kiểm tra lại trang web của bạn. Nếu lỗi nghiêm trọng vẫn còn, thông báo lỗi chi tiết sẽ hiển thị, giúp bạn xác định plugin, theme, hoặc file nào đang gây ra vấn đề.
Sau khi khắc phục xong lỗi, hãy nhớ tắt chế độ debug bằng cách thay đổi true
thành false
trong file wp-config.php
để tránh hiển thị thông tin nhạy cảm cho người dùng.
Bước 2: Kiểm tra Plugin
Plugin là một trong những nguyên nhân phổ biến nhất gây ra lỗi nghiêm trọng. Để kiểm tra xem plugin có phải là nguyên nhân hay không, bạn có thể thử tắt tất cả các plugin.
- Truy cập vào hosting của bạn thông qua FTP hoặc trình quản lý file của hosting.
- Điều hướng đến thư mục
wp-content/plugins
. - Đổi tên thư mục
plugins
thành một tên khác, ví dụ nhưplugins_disabled
. Điều này sẽ vô hiệu hóa tất cả các plugin. - Kiểm tra lại trang web của bạn. Nếu trang web hoạt động bình thường sau khi tắt plugin, thì một trong các plugin là nguyên nhân gây ra lỗi.
- Để xác định plugin nào gây ra lỗi, đổi tên thư mục
plugins_disabled
trở lạiplugins
. Sau đó, kích hoạt từng plugin một, và kiểm tra trang web sau mỗi lần kích hoạt. Khi trang web bị lỗi trở lại, bạn đã tìm ra plugin gây ra vấn đề. - Sau khi xác định được plugin gây ra lỗi, bạn có thể thử cập nhật nó lên phiên bản mới nhất, hoặc gỡ bỏ hoàn toàn plugin đó.
Bước 3: Kiểm tra Theme
Tương tự như plugin, theme cũng có thể gây ra lỗi nghiêm trọng. Để kiểm tra xem theme có phải là nguyên nhân hay không, bạn có thể thử chuyển sang một theme mặc định của WordPress (ví dụ như Twenty Twenty-Three).
Nếu bạn không thể truy cập vào bảng điều khiển quản trị, bạn có thể thay đổi theme thông qua FTP hoặc trình quản lý file của hosting.
- Truy cập vào hosting của bạn thông qua FTP hoặc trình quản lý file của hosting.
- Điều hướng đến thư mục
wp-content/themes
. - Đổi tên thư mục của theme hiện tại của bạn thành một tên khác, ví dụ như
theme_disabled
. - Nếu bạn chưa cài đặt theme mặc định (ví dụ như Twenty Twenty-Three), hãy tải theme đó lên thư mục
wp-content/themes
. - Kiểm tra lại trang web của bạn. Nếu trang web hoạt động bình thường sau khi thay đổi theme, thì theme cũ của bạn là nguyên nhân gây ra lỗi.
Nếu theme là nguyên nhân gây ra lỗi, bạn có thể thử cập nhật nó lên phiên bản mới nhất, hoặc thay thế nó bằng một theme khác.
Bước 4: Tăng Giới Hạn Bộ Nhớ PHP
Nếu bạn thấy thông báo lỗi liên quan đến bộ nhớ (ví dụ như “Allowed memory size of X bytes exhausted”), thì bạn cần tăng giới hạn bộ nhớ PHP.
Bạn có thể tăng giới hạn bộ nhớ PHP bằng cách chỉnh sửa file wp-config.php
, .htaccess
, hoặc php.ini
.
- Chỉnh sửa file
wp-config.php
: Thêm dòng code sau vào trước dòng/* That's all, stop editing! Happy publishing. */
:define( 'WP_MEMORY_LIMIT', '256M' );
- Chỉnh sửa file
.htaccess
: Thêm dòng code sau vào file.htaccess
:php_value memory_limit 256M
- Chỉnh sửa file
php.ini
: Nếu bạn có quyền truy cập vào filephp.ini
, hãy tìm dòngmemory_limit = X
và thay đổi giá trị X thành256M
.
Lưu ý: Không phải tất cả các nhà cung cấp hosting đều cho phép bạn chỉnh sửa file .htaccess
hoặc php.ini
. Nếu bạn không thể chỉnh sửa các file này, hãy liên hệ với nhà cung cấp hosting để được hỗ trợ.
Bước 5: Kiểm tra Cơ sở Dữ liệu
Cơ sở dữ liệu bị lỗi cũng có thể gây ra lỗi nghiêm trọng. Bạn có thể kiểm tra và sửa chữa cơ sở dữ liệu bằng cách sử dụng công cụ phpMyAdmin.
- Truy cập vào phpMyAdmin thông qua cPanel hoặc control panel của hosting của bạn.
- Chọn cơ sở dữ liệu của WordPress.
- Chọn tab “Operations” (hoặc tương tự, tùy thuộc vào phiên bản phpMyAdmin).
- Tìm tùy chọn “Repair table” (hoặc tương tự) và chọn tất cả các bảng trong cơ sở dữ liệu.
- Nhấp vào “Go” để bắt đầu quá trình sửa chữa.
Ngoài ra, bạn cũng có thể sử dụng plugin để tối ưu hóa cơ sở dữ liệu, ví dụ như WP-Optimize.
Bước 6: Khôi phục từ Bản Sao Lưu
Nếu bạn đã thử tất cả các phương pháp trên mà vẫn không thể khắc phục được lỗi, thì phương án cuối cùng là khôi phục trang web từ bản sao lưu. Đây là lý do tại sao việc tạo bản sao lưu thường xuyên là rất quan trọng.
Quá trình khôi phục từ bản sao lưu sẽ khác nhau tùy thuộc vào phương pháp bạn sử dụng để tạo bản sao lưu. Hãy tham khảo tài liệu hướng dẫn của plugin sao lưu hoặc nhà cung cấp hosting của bạn để biết thêm chi tiết.
Kết luận
Lỗi nghiêm trọng trong WordPress có thể gây ra sự lo lắng, nhưng với các bước khắc phục từng bước được trình bày trong bài viết này, bạn có thể tự tin giải quyết vấn đề và đưa trang web của bạn hoạt động trở lại. Quan trọng nhất là luôn sao lưu trang web của bạn thường xuyên để đề phòng các sự cố bất ngờ.