Lỗi trắng trang (White Screen of Death – WSOD) là một trong những lỗi đáng sợ nhất mà người dùng WordPress có thể gặp phải. Khi website biến thành một trang trắng không có nội dung, nó có thể gây hoang mang và khiến bạn không biết bắt đầu từ đâu. Tuy nhiên, đừng lo lắng! Hầu hết các trường hợp đều có thể được khắc phục nếu bạn biết cách chẩn đoán và xử lý.
Dưới đây là hướng dẫn chi tiết dựa trên kinh nghiệm của CodecungAi, bao gồm hai trường hợp phổ biến nhất dẫn đến lỗi trắng trang và cách khắc phục chúng.
Hướng dẫn xử lý lỗi trắng trang trên website WordPress
Lỗi trắng trang thường báo hiệu một vấn đề nghiêm trọng với code PHP hoặc lỗi bộ nhớ, khiến WordPress không thể hoàn thành việc tải trang. Việc quan trọng là xác định nguyên nhân để có hướng xử lý phù hợp.
Trường hợp 1: Website bị lỗi trắng trang mà bạn KHÔNG thực hiện cập nhật WordPress hay PHP
Nếu website của bạn đột nhiên bị trắng trang mà không phải do bất kỳ hành động cập nhật nào từ phía bạn (như nâng cấp WordPress, plugin, theme hay phiên bản PHP), thì khả năng cao website đã bị dính mã độc hoặc có file code bị lỗi đột ngột do nguyên nhân bên ngoài.
Cách xử lý:
- Thay thế các file WordPress cốt lõi mới:
- Truy cập vào trang wordpress.org/download/releases/ và tải về phiên bản WordPress giống với phiên bản bạn đang dùng trên website của mình. Nếu không nhớ, bạn có thể tải bản mới nhất (có thể sẽ yêu cầu cập nhật cơ sở dữ liệu sau đó).
- Giải nén file
.zip
đã tải về. Bạn sẽ có một thư mục tên làwordpress
chứa các file cài đặt mới. - Sử dụng FTP/SFTP client (như FileZilla) hoặc trình quản lý tệp (File Manager) trong cPanel/DirectAdmin để kết nối với hosting của bạn.
- Điều hướng đến thư mục gốc chứa website WordPress của bạn (thường là
public_html
hoặcwww
). - Chọn TẤT CẢ các thư mục và file trong thư mục gốc của website.
- BỎ CHỌN thư mục
wp-content
và filewp-config.php
. Đây là hai thành phần chứa dữ liệu và cấu hình riêng của bạn, không được phép ghi đè. - Xóa tất cả các file và thư mục đã chọn (ngoại trừ
wp-content
vàwp-config.php
) trên server của bạn. Thao tác này sẽ loại bỏ các file WordPress cốt lõi cũ (có thể đã bị nhiễm độc hoặc hỏng). - Tải lên các thư mục và file mới từ thư mục
wordpress
mà bạn đã giải nén lên thư mục gốc của website. - Sau khi tải lên xong, bạn cần chuyển các thư mục và file đó ra ngoài thư mục cài đặt web (tức là ra khỏi thư mục
wordpress
đã tải lên nếu bạn tải nguyên thư mục). Đảm bảo rằng các file nhưindex.php
,wp-load.php
nằm trực tiếp trong thư mục gốc của website.
- Kiểm tra website:
- Sau khi hoàn tất việc thay thế file, hãy thử truy cập lại website của bạn.
- Rất có khả năng website sẽ hoạt động bình thường trở lại. Việc thay thế các file cốt lõi mới giúp loại bỏ mọi mã độc hoặc lỗi PHP ẩn trong các file hệ thống của WordPress.
- Quét và xử lý mã độc:
- Mặc dù website đã hoạt động, bạn vẫn cần đảm bảo rằng mã độc không còn tồn tại trong thư mục
wp-content
hoặc cơ sở dữ liệu. - Đăng nhập vào bảng quản trị WordPress của bạn.
- Đi tới Plugins > Cài mới (Add New).
- Tìm và cài đặt plugin Wordfence Security.
- Kích hoạt và chạy quét mã độc (Scan) với Wordfence. Plugin này sẽ giúp bạn phát hiện và hướng dẫn cách xử lý các file đáng ngờ hoặc mã độc còn sót lại.
- Mặc dù website đã hoạt động, bạn vẫn cần đảm bảo rằng mã độc không còn tồn tại trong thư mục
Trường hợp 2: Website bị lỗi trắng trang khi chuyển hosting, chuyển đổi phiên bản PHP, hoặc nâng cấp code/plugin/theme
Khi lỗi trắng trang xảy ra sau một hành động cụ thể của bạn (chẳng hạn như nâng cấp, di chuyển hosting), nguyên nhân thường là do xung đột code giữa các thành phần (plugin, theme) hoặc lỗi tương thích với phiên bản PHP mới.
Cách xử lý:
- Bật chế độ Debug (gỡ lỗi) của WordPress:
- Sử dụng FTP/SFTP client hoặc File Manager, truy cập vào thư mục gốc của website.
- Mở file
wp-config.php
để chỉnh sửa. - Tìm dòng này (thường ở gần cuối file):
define( 'WP_DEBUG', false );
Thay đổi false
thành true
và thêm hai dòng sau để ghi lỗi vào file log:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // Ghi lỗi vào file wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // Không hiển thị lỗi ra màn hình công khai
Lưu file wp-config.php
.
- Kiểm tra file Debug Log:
- Sau khi bật debug, truy cập lại website của bạn (trang trắng). Điều này sẽ kích hoạt việc ghi lỗi.
- Sử dụng FTP/SFTP client hoặc File Manager, điều hướng đến thư mục
wp-content
. - Tìm và mở file
debug.log
. - Trong file
debug.log
, bạn sẽ thấy các dòng lỗi PHP, thường bắt đầu bằngPHP Fatal error:
hoặcPHP Warning:
. Dòng lỗi sẽ chỉ ra tên file và dòng code gây ra lỗi. - Tìm dòng lỗi quan trọng nhất (thường là lỗi
Fatal Error
) và chú ý đến đường dẫn file được báo cáo. Ví dụ:.../wp-content/plugins/tên-plugin-lỗi/file-gây-lỗi.php on line X
.../wp-content/themes/tên-theme-lỗi/file-gây-lỗi.php on line Y
- Xử lý lỗi dựa trên thông tin Debug Log:
- Lỗi do Plugin:
- Nếu file log chỉ ra lỗi từ một plugin cụ thể (ví dụ:
.../wp-content/plugins/ten-plugin-bi-loi/...
), bạn đã tìm được thủ phạm. - Sử dụng FTP/SFTP hoặc File Manager, điều hướng đến thư mục
wp-content/plugins/
. - Xóa toàn bộ thư mục của plugin bị lỗi đó. Thao tác này sẽ vô hiệu hóa plugin và cho phép website của bạn hoạt động trở lại.
- Sau khi website hoạt động, đăng nhập vào bảng quản trị.
- Đi tới Plugins > Cài mới (Add New).
- Tìm kiếm và cài đặt lại phiên bản mới nhất của plugin đó. Hy vọng phiên bản mới đã được sửa lỗi hoặc tương thích tốt hơn.
- Nếu file log chỉ ra lỗi từ một plugin cụ thể (ví dụ:
- Lỗi do Theme:
- Nếu lỗi chỉ ra một file trong thư mục theme của bạn (ví dụ:
.../wp-content/themes/ten-theme-bi-loi/...
), theme của bạn có thể là nguyên nhân. - Cách nhanh nhất để kiểm tra là sử dụng FTP/SFTP hoặc File Manager, điều hướng đến thư mục
wp-content/themes/
. - Đổi tên thư mục theme đang kích hoạt của bạn (ví dụ:
your-theme
thànhyour-theme-old
). WordPress sẽ tự động chuyển về một theme mặc định (như Twenty Twenty-Four). Nếu website hoạt động trở lại, theme là nguyên nhân. - Liên hệ nhà phát triển theme để tìm bản cập nhật hoặc giải pháp.
- Nếu lỗi chỉ ra một file trong thư mục theme của bạn (ví dụ:
- Lỗi do phiên bản PHP không tương thích (Deprecated functions, v.v.):
- Nếu file log báo lỗi liên quan đến các hàm hoặc phương thức đã bị “loại bỏ” hoặc “thay đổi” ở phiên bản PHP mới hơn (ví dụ:
PHP Fatal error: Uncaught Error: Call to undefined function ...
), điều này thường xảy ra khi bạn nâng cấp phiên bản PHP mà code cũ chưa kịp tương thích. - Các lỗi này có thể nằm trong plugin, theme hoặc thậm chí là code custom của bạn.
- Với các lỗi này, bạn có thể sao chép dòng lỗi cụ thể (đặc biệt là phần mô tả lỗi và tên hàm bị ảnh hưởng) và sử dụng các công cụ AI như ChatGPT hoặc Google Gemini để tìm kiếm giải pháp hoặc đoạn code thay thế. AI có thể gợi ý những thay đổi cần thiết để tương thích với phiên bản PHP mới.
- Trong trường hợp này, bạn cần có kiến thức cơ bản về PHP để áp dụng các gợi ý sửa lỗi.
- Nếu file log báo lỗi liên quan đến các hàm hoặc phương thức đã bị “loại bỏ” hoặc “thay đổi” ở phiên bản PHP mới hơn (ví dụ:
- Lỗi do Plugin:
- Tắt chế độ Debug sau khi khắc phục:
- Sau khi đã tìm ra và khắc phục lỗi, hãy quay lại file
wp-config.php
. - Đổi lại
define( 'WP_DEBUG', true );
thànhdefine( 'WP_DEBUG', false );
. - Xóa hoặc comment (thêm
//
vào đầu dòng) hai dòngdefine( 'WP_DEBUG_LOG', true );
vàdefine( 'WP_DEBUG_DISPLAY', false );
. - Lưu file.
- Xóa file
debug.log
trong thư mụcwp-content
để bảo mật và tránh tốn dung lượng hosting.
- Sau khi đã tìm ra và khắc phục lỗi, hãy quay lại file
Với hai kịch bản phổ biến này, bạn có thể tự tin hơn khi đối mặt với lỗi trắng trang WordPress. Luôn nhớ rằng việc sao lưu website định kỳ là chìa khóa để đảm bảo an toàn dữ liệu và khả năng phục hồi nhanh chóng khi có bất kỳ sự cố nào xảy ra. Chúc bạn thành công!
Xem thêm: Hướng dẫn thay đổi đường dẫn đăng nhập web wordpress