Lỗi màn hình trắng là một trong những lỗi hay gặp nhất trên WordPress. Nó cũng là một trong những lỗi gây khó chịu nhất vì không có bất kỳ thông báo lỗi nào và bạn không thể vào được WordPress.
Một vấn đề nữa với lỗi màn hình trắng là đôi khi chỉ một phần nhất định trang web của bạn bị ảnh hưởng.
Ví dụ, có thể bạn chỉ bị màn hình trắng ở vùng quản trị WordPress, trong khi các phần khác hoạt động bình thường. Hoặc bạn có thể gặp nó trên một bài đăng nhất định, trong khi mọi nơi khác đều ổn.
Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách khắc phục lỗi màn hình trắng trên WordPress bằng cách xem xét các giải pháp khác nhau.
Lưu ý: Trước khi thực hiện bất kỳ thay đổi nào với website của bạn, hãy đảm bảo bạn đã có một bản backup trang web WordPress của mình. Nếu bạn không thể truy cập vào trang quản trị, hãy xem hướng dẫn của chúng tôi về cách tạo thủ công một bản sao cơ sở dữ liệu WordPress.
Tại sao bạn gặp lỗi màn hình trắng trong WordPress?
Đa số trường hợp, việc bạn gặp lỗi màn hình trắng đồng nghĩa với một chương trình (script) trong website của bạn đã sử dụng quá giới hạn bộ nhớ cho phép.
Máy chủ hosting WordPress của bạn sẽ vô hiệu hóa chương trình đó, hoặc đơn giản đã vượt quá thời gian phản hồi (timeout). Đây là lý do tại sao không có thông báo lỗi thực sự nào, và bạn thấy một màn hình trắng trơn.
Lỗi này cũng có thể xảy ra do một theme hoặc plugin chất lượng kém cài đặt trên trang web của bạn. Đôi khi lỗi xảy ra khi máy chủ hosting của bạn có vấn đề.
Do lỗi màn hình trắng có thể bắt nguồn từ nhiều nguyên nhân, để khắc phục ta cần giải quyết vấn đề một cách tuần tự.
Lỗi có xảy ra trên các trang web khác của bạn?
Nếu bạn có các trang web WordPress khác dùng chung một tài khoản hosting, có lẽ bạn cần bắt đầu bằng cách kiểm tra xem lỗi có xảy ra trên các trang web khác hay không.
Nếu có, thì đó là một dấu hiệu rõ ràng cho thấy dịch vụ hosting WordPress của bạn đã có vấn đề. Đây có thể là vấn đề tạm thời làm ảnh hưởng dịch vụ của họ và bạn cần liên hệ với bộ phận trợ giúp để được hỗ trợ thêm.
Mặt khác, nếu lỗi chỉ xảy ra với một website hoặc một phần nhất định của trang web đó thì lỗi sẽ nằm ở website đó.
Sửa lỗi màn hình trắng với Chế độ Khôi phục (Recovery Mode) của WordPress
Nếu lỗi màn hình trắng do một plugin hoặc theme WordPress gây ra thì WordPress có thể tìm ra lỗi.
Tính năng phòng chống lỗi dừng chương trình (fatal error) mới được đưa vào WordPress 5.2 có thể giúp tìm ra lỗi này. Do đó, thậm chí bạn có thể sẽ không thấy một màn hình màu trắng. Thay vào đó, bạn sẽ thấy một thông báo rằng trang web đã gặp trục trặc kỹ thuật.
Bạn cũng sẽ nhận được một email thông báo gửi đến địa chỉ email quản trị của bạn với tiêu đề “Your Site is Having a Technical Issue” (Trang web của bạn đang gặp trục trặc kỹ thuật).
Email này sẽ chỉ ra plugin đã gây ra lỗi, và nó cũng chứa một đường dẫn đặc biệt. Đường dẫn này sẽ cho phép bạn đăng nhập vào chế độ khôi phục của WordPress và tắt plugin bị lỗi.
Tuy nhiên, nếu bạn chỉ thấy một màn hình trắng trơn và không có email hay khả năng vào chế độ khôi phục, thì bạn sẽ phải khắc phục lỗi bằng cách thủ công.
Tăng giới hạn bộ nhớ
Thông thường, lỗi này xảy ra do một chương trình (script) đã sử dụng quá bộ nhớ cho phép và ngắt giữa chừng. Để sửa lỗi này, bạn cần tăng bộ nhớ khả dụng cho PHP trên WordPress. Việc này sẽ cho phép đoạn script được dùng thêm bộ nhớ để hoàn thành nhiệm vụ của mình.
Bạn có thể làm theo hướng dẫn của chúng tôi để tăng bộ nhớ PHP trong WordPress.
Vô hiệu hóa tất cả các plugin
Nếu tăng giới hạn bộ nhớ không giúp được gì hoặc nếu giới hạn bộ nhớ của bạn cao (như 256M hoặc 512M) thì bạn cần bắt đầu xử lý sự cố.
Theo kinh nghiệm của chúng tôi khi khắc phục sự cố, chúng tôi thấy rằng lỗi này luôn liên quan đến một plugin hoặc một theme cụ thể nào đó. Ta hãy tiếp tục xử lý và vô hiệu hóa tất cả các plugin.
Nếu bạn vẫn có thể truy cập vào trang quản trị WordPress, bạn hãy đơn giản đến trang Plugins » Installed Plugins. Chọn tất cả các plugin đã cài đặt và sau đó chọn “Deactivate” (Tắt) trong menu thả “Bulk Action” (Tác vụ gộp).
Tuy nhiên, nếu bạn không thể truy cập trang quản trị WordPress thì bạn sẽ phải tắt tất cả các plugin qua FTP.
Trước tiên, hãy kết nối với trang WordPress của bạn bằng một phần mềm FTP (FPT client). Sau khi kết nối, hãy vào thư mục “wp-content” nơi bạn sẽ thấy thư mục “plugins”.
Bây giờ, hãy nhấn chuột phải vào thư mục “plugins” và chọn “rename”. Bạn có thể đổi tên thư mục “plugins” sang “plugins-deactivated”.
Lúc này, phần mềm FTP của bạn sẽ đổi tên thư mục “plugins”.
WordPress tìm kiếm thư mục có tên “plugins” để nạp các plugin. Khi không tìm thấy thư mục đó, nó chỉ đơn giản là tắt tất cả các plugin.
Nếu việc này khắc phục được lỗi thì bạn hãy bật từng plugin một để truy tìm tận gốc plugin gây ra lỗi. Khi phát hiện ra plugin gây ra lỗi, bạn có thể thay nó bằng một plugin khác hoặc báo lỗi với tác giả tạo plugin.
Thay thế theme bằng một theme mặc định
Nếu sửa lỗi plugin không khắc phục được vấn đề, bạn nên thử thay thế theme hiện tại bằng một theme mặc định.
Trước hết, hãy kết nối với trang web của bạn qua phần mềm FTP và tới thư mục /wp-content/themes/. Thư mục này sẽ chứa tất cả các theme đã cài đặt trên trang web của bạn.
Nhấn chuột phải để chọn theme WordPress bạn đang sử dụng và tải nó về máy tính để làm bản sao dự phòng.
Tiếp theo, bạn sẽ phải xóa theme đó khỏi trang web của mình. Nhấn chuột phải vào thư mục theme và chọn “Delete”. Lúc này phần mềm FTP sẽ xóa theme này khỏi trang web của bạn.
Bây giờ nếu bạn có một chủ đề WordPress mặc định như “Twenty Eighteen or Twenty Nineteen” cài sẵn trên website của mình thì WordPress sẽ tự động sử dụng nó như theme mặc định.
Tuy nhiên, nếu bạn chưa cài sẵn một theme mặc định, bạn sẽ phải cài đặt thủ công qua FTP.
Nếu vấn đề được giải quyết, bạn nên kiểm tra file functions.php trong theme của bạn. Nếu dưới cùng tập tin có khoảng trống dư, bạn cần xóa những khoảng trống đó. Đôi khi thao tác này sẽ giúp giải quyết vấn đề.
Nếu tập tin functions.php của theme của bạn có những hàm được code kém chất lượng, nó cũng có thể gây ra lỗi màn hình trắng.
Hãy cân nhắc việc tải về một bản sao mới của theme đó từ nguồn và cài đặt lại.
Bật Chế độ Sửa lỗi (Debug Mode) để phát hiện lỗi trong WordPress
Nếu đến giờ mọi biện pháp đều không có tác dụng, thì bước tiếp theo là bật chế độ sửa lỗi trong WordPress. Việc này sẽ cho phép bạn xem đang xảy ra loại lỗi gì.
Đơn giản chỉ cần thêm đoạn mã sau vào tập tin wp-config.php.
12 | define( 'WP_DEBUG' , true); define( 'WP_DEBUG_LOG' , true ); |
Sau khi bạn thêm vào, trên màn hình trắng sẽ xuất hiện các lỗi, cảnh báo và thông báo. Chúng có thể sẽ giúp bạn xác định nguyên nhân gây ra vấn đề.
Nếu bạn không thấy thông báo lỗi nào, có lẽ bạn vẫn cần kiểm tra nhật ký sửa lỗi (debug log). Chỉ cần truy cập vào thư mục “wp-content” trong website của bạn qua phần mềm FTP. Tại đó, bạn sẽ tìm thấy một tập tin “debug.log” mới có chứa nhật ký bao gồm tất cả các lỗi, thông báo, và cảnh báo.
Xóa cache WordPress
Đôi khi, bạn có thể truy cập vào vùng quản trị (backend), nhưng giao diện người dùng (front-end) của trang web vẫn có màn hình trắng. Điều này có thể xảy ra do một plugin cache. Bạn đơn giản chỉ cần xóa bộ nhớ cache.
Hãy xem hướng dẫn của chúng tôi về cách xóa bộ nhớ cache WordPress để được hướng dẫn chi tiết.
Sửa lỗi với các bài viết dài
Nếu bạn chỉ bị màn hình trắng trên một bài viết hoặc một trang rất dài, mẹo nhỏ sau có thể sẽ có tác dụng.
Thủ thuật này về cơ bản làm tăng khả năng xử lý văn bản của PHP bằng cách tăng giới hạn đệ quy (recursion limit) và quay lui (backtrack limit). Bạn có thể dán đoạn mã sau vào tập tin “wp-config.php” của mình.
123 | /** Trick for long posts */ ini_set ( 'pcre.recursion_limit' ,20000000); ini_set ( 'pcre.backtrack_limit' ,10000000); |
Chúng tôi hiểu rằng đây là một lỗi rất phiền toái, và hy vọng một trong những mẹo ở trên có thể giúp bạn khắc phục vấn đề. Bạn có lẽ cũng sẽ muốn xem hướng dẫn giải quyết vấn đề trên WordPress của chúng tôi, hướng dẫn từng bước bạn cần thực hiện để tự mình phát hiện và sửa các lỗi trên WordPress.
Nếu bạn thích bài viết này, vui lòng đăng ký Kênh YouTube của chúng tôi để xem các video hướng dẫn WordPress. Bạn cũng có thể tìm chúng tôi trên Twitter và Facebook để được cập nhật những thông tin mới nhất.