Bỏ qua tới nội dung
Sửa lỗi website· ·6 phút đọc

Cách sửa lỗi màn hình trắng WordPress (WSOD)

Vũ Đức Minh
Cách sửa lỗi màn hình trắng WordPress (WSOD)
Cỡ chữ

Lỗi màn hình trắng WordPress (White Screen of Death — WSOD) là khi web chỉ hiện một trang trắng trơn, không nội dung, không báo lỗi. Nguyên nhân gần như luôn nằm ở ba chỗ: cạn bộ nhớ PHP, xung đột plugin, hoặc lỗi theme. Bài này chỉ cách bật lỗi ẩn để thấy thủ phạm rồi xử đúng chỗ.

Bước quan trọng nhất: bật chế độ gỡ lỗi

Nhiều người sửa mò vì màn hình trắng không cho biết gì. Hãy bật nhật ký lỗi trước — thêm vào wp-config.php:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Lỗi sẽ được ghi vào wp-content/debug.log để bạn đọc. Lưu ý quan trọng: trên web thật, luôn để WP_DEBUG_DISPLAYfalse — đừng để lỗi hiện ra cho khách và kẻ xấu thấy (đây là khuyến cáo chính thức của WordPress.org). Sửa xong nhớ tắt chế độ gỡ lỗi.

Cách sửa theo thứ tự

  1. Tắt toàn bộ plugin: qua FTP, đổi tên thư mục wp-content/plugins thành plugins_old. Nếu web hiện lại → bật lại từng plugin để tìm thủ phạm.
  2. Đổi về theme mặc định: đổi tên thư mục theme đang dùng → WordPress tự chuyển về theme mặc định. Web lên lại → lỗi do theme.
  3. Tăng giới hạn bộ nhớ PHP nếu nhật ký báo cạn bộ nhớ (xem bài lỗi memory exhausted).
  4. Khoanh vùng: nếu chỉ trang quản trị trắng còn mặt ngoài bình thường (hoặc ngược lại), so sánh để thu hẹp nguyên nhân.

Đọc nhật ký lỗi để biết thủ phạm

Sau khi bật ghi nhật ký, mở file wp-content/debug.log và nhìn dòng cuối — nó thường chỉ đích danh file gây lỗi. Ví dụ dòng Fatal error ... in wp-content/plugins/ten-plugin/... cho biết ngay plugin nào là thủ phạm; còn Allowed memory size ... exhausted nghĩa là cạn bộ nhớ (xem bài lỗi memory exhausted). Đọc đúng dòng này giúp bạn sửa trúng đích, thay vì tắt mò từng thứ.

Ba nguyên nhân và cách xử tương ứng

  • Cạn bộ nhớ PHP → tăng giới hạn bộ nhớ trong wp-config.php.
  • Xung đột hoặc lỗi plugin → tắt toàn bộ rồi bật lại từng cái để tìm thủ phạm.
  • Lỗi theme → đổi tạm về theme mặc định để kiểm chứng.

Gần như mọi ca màn hình trắng đều rơi vào một trong ba nhóm này — nên cứ lần lượt loại trừ là ra.

Phòng tái diễn

Test cập nhật ở môi trường thử (staging) trước khi áp lên web thật; để giới hạn bộ nhớ PHP đủ rộng; không cài nhiều plugin trùng chức năng. Nếu màn hình trắng đi kèm dấu hiệu lạ khác (redirect, file lạ), hãy kiểm cả khả năng web bị hack.

Khi không vào được cả trang quản trị

Màn hình trắng đôi khi chặn luôn cả /wp-admin, khiến bạn không tắt plugin hay đổi theme qua giao diện được. Lúc này phải thao tác qua FTP hoặc trình quản lý file của host:

  • Tắt toàn bộ plugin: vào wp-content/, đổi tên thư mục plugins thành plugins-tat. WordPress mất plugin sẽ tự ngừng kích hoạt chúng. Nếu web hiện lại, đổi tên về plugins rồi bật lại từng cái trong quản trị để tìm thủ phạm.
  • Đổi theme: đổi tên thư mục theme đang dùng trong wp-content/themes/; WordPress sẽ tự chuyển về theme mặc định nếu còn theme đó.

Cách này luôn dùng được kể cả khi cả mặt ngoài lẫn quản trị đều trắng, vì bạn can thiệp trực tiếp vào file thay vì qua giao diện. Sau khi vào lại được, nhớ bật chế độ gỡ lỗi để đọc nguyên nhân gốc.

Câu hỏi thường gặp

Màn hình trắng có làm mất dữ liệu không?

Thường là không — đây là lỗi hiển thị do PHP dừng, dữ liệu trong cơ sở dữ liệu vẫn còn. Sửa đúng nguyên nhân là web hiện lại.

Vì sao chỉ trang quản trị bị trắng?

Thường do một plugin chỉ chạy ở khu quản trị, hoặc khu quản trị cạn bộ nhớ riêng. Tắt plugin và tăng bộ nhớ admin thường khắc phục được.

Nguồn: WordPress.org — Debugging in WordPress.

Đọc tiếp

Bài viết
cùng chủ đề.

Tất cả bài viết