Bạn mở website WordPress và không thấy gì: một trang trắng hoàn toàn. Không có lỗi, không có thông báo, đôi khi wp-admin cũng trắng. Đây chính là màn hình trắng WordPress (White Screen of Death, WSoD).
Trông đáng lo, nhưng màn hình trắng gần như luôn do một lỗi PHP đang bị ẩn, sự cố plugin hoặc theme, hoặc PHP hết bộ nhớ. Nội dung của bạn vẫn nằm trong cơ sở dữ liệu. Dưới đây là cách tìm nguyên nhân và đưa website trở lại.
Trước khi bắt đầu: hãy sao lưu từ bảng điều khiển hosting nếu bạn làm được. Các bước bên dưới gồm sửa file và đổi tên thư mục.
Màn hình trắng hay critical error?
Trên các phiên bản WordPress hiện đại, hầu hết fatal error của PHP hiện thông báo “There has been a critical error on this website” thay vì trang trắng. Nếu bạn thấy thông báo đó, hãy làm theo hướng dẫn sửa critical error của WordPress. Màn hình trắng thật sự thường có nghĩa là lỗi xảy ra trước khi WordPress kịp hiện trang lỗi, nội dung xuất ra bị cắt ngang, hoặc một lớp cache đang phục vụ trang rỗng.
Bước 1: Xóa cache và kiểm tra trong cửa sổ riêng tư
Trước khi đổi bất cứ thứ gì, hãy loại trừ khả năng trang trắng đến từ cache:
- Mở website trong cửa sổ riêng tư hoặc ẩn danh.
- Xóa cache của plugin cache. Nếu bạn không vào được wp-admin, hầu hết hosting dùng LiteSpeed hoặc cache tương tự có nút “purge cache” trong bảng điều khiển.
- Nếu bạn dùng Cloudflare hoặc CDN khác, hãy xóa cache của nó.
Nếu website hiện lại sau khi xóa cache, cache đã lưu một trang hỏng từ lỗi trước đó. Vẫn nên xem các bước bên dưới để tìm nguyên nhân của lỗi đó.
Bước 2: Kiểm tra wp-admin có cũng trắng không
- Chỉ trang ngoài trắng: theme đang dùng là nguyên nhân khả dĩ nhất.
- Cả trang ngoài và wp-admin đều trắng: plugin, giới hạn bộ nhớ PHP hoặc sự cố file lõi khả dĩ hơn.
- Chỉ một trang trắng: xem phần riêng của trang đó, chẳng hạn shortcode, widget của page builder, hoặc một bài viết rất dài.
Bước 3: Bật debug log
Màn hình trắng che mất lỗi thật. Hãy để WordPress ghi lỗi vào log bằng cách sửa wp-config.php (qua File Manager của hosting hoặc FTP). Thay define( 'WP_DEBUG', false ); bằng:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Tải lại trang trắng, rồi mở wp-content/debug.log. Dòng PHP Fatal error cuối cùng cho biết file nào lỗi. Nếu thư mục sau /plugins/ hoặc /themes/ được nêu tên, bạn đã tìm ra thủ phạm.
Cũng hãy xem error log của bảng điều khiển hosting. Một số lỗi xảy ra trước khi WordPress kịp ghi log của chính nó.
Bước 4: Tắt plugin khi không vào được wp-admin
- Vào
wp-content/plugins/trong File Manager hoặc FTP. - Đổi tên thư mục được nêu trong debug log, ví dụ
slider-pluginthànhslider-plugin-off. - Nếu log không nêu tên plugin nào, đổi tên cả thư mục
pluginsthànhplugins-off. Nếu website trở lại, đổi tên lại và tắt từng plugin một cho đến khi màn hình trắng quay lại.
Bước 5: Chuyển sang theme mặc định
Nếu chỉ trang ngoài trắng, hãy đổi tên thư mục theme đang dùng trong wp-content/themes/. WordPress sẽ quay về theme mặc định như Twenty Twenty-Four nếu đã cài. Nếu website tải được, vấn đề nằm ở theme hoặc ở code tùy chỉnh thêm vào functions.php của theme.
Bước 6: Tăng giới hạn bộ nhớ PHP
Màn hình trắng thường có nghĩa PHP đã hết bộ nhớ, đặc biệt trên trang lớn, page builder và cửa hàng WooCommerce. Thêm dòng sau vào wp-config.php, phía trên “That’s all, stop editing”:
define( 'WP_MEMORY_LIMIT', '256M' );
Nếu hosting giới hạn bộ nhớ thấp hơn, hãy yêu cầu họ tăng memory_limit của PHP. Nếu bạn cần ngày càng nhiều bộ nhớ theo thời gian, một plugin có thể đang rò rỉ bộ nhớ và cần được kiểm tra.
Bước 7: Tìm lỗi cú pháp trong các file vừa sửa
Gần đây bạn hoặc ai đó có dán code vào functions.php hoặc một plugin snippet không? Chỉ thiếu một dấu chấm phẩy hoặc một dấu ngoặc cũng có thể tạo màn hình trắng. Hãy hoàn tác lần sửa cuối, hoặc khôi phục riêng file đó từ bản sao lưu.
Cũng kiểm tra khoảng trắng hoặc dòng trống thừa trước <?php hoặc sau dòng cuối của wp-config.php. Chúng có thể gây sự cố “headers already sent” trông như trang trống.
Bước 8: Tải lại file lõi WordPress
Nếu các bước trên không giúp được, file lõi có thể bị hỏng do bản cập nhật thất bại. Tải đúng phiên bản WordPress từ WordPress.org và chỉ tải lại các thư mục wp-admin và wp-includes. Không bao giờ ghi đè wp-content hoặc wp-config.php.
Sau khi website hoạt động lại
- Đặt
WP_DEBUGlại thànhfalsevà xóawp-content/debug.log. - Cập nhật hoặc thay thế plugin hay theme gây sự cố.
- Kiểm tra các trang và form quan trọng.
- Đảm bảo sao lưu tự động đang chạy.
Website vẫn trắng? Dịch vụ WordPress Fix của chúng tôi tìm nguyên nhân gốc và đưa website trở lại, kèm bản tóm tắt ngắn về những gì chúng tôi đã thay đổi. Giá cố định $45, được xác nhận trước khi chúng tôi bắt đầu, và được bảo đảm bởi Service Guarantee của chúng tôi. Yêu cầu sửa lỗi.
Câu hỏi thường gặp
Màn hình trắng có do hacker gây ra không?
Hiếm khi. Thường là sự cố plugin, theme hoặc bộ nhớ. Nếu debug log trỏ tới những file bạn không nhận ra, hãy đọc hướng dẫn cần làm gì khi website WordPress bị hack.
Vì sao màn hình trắng chỉ xảy ra đôi lúc?
Màn hình trắng không liên tục thường liên quan đến giới hạn bộ nhớ hoặc tài nguyên máy chủ. Trang chạy được khi máy chủ rảnh và lỗi khi máy chủ bận hoặc khi một trang nặng được tải.
Sửa màn hình trắng có xóa nội dung của tôi không?
Không. Tắt plugin, đổi theme và tải lại file lõi không đụng tới bài viết và trang được lưu trong cơ sở dữ liệu.




