Jeśli WordPress wyświetla białą stronę, najczęściej oznacza to, że podczas wykonywania kodu wystąpił błąd, ale jego komunikat nie jest widoczny dla użytkownika. Przyczyną może być wtyczka, motyw, własny kod, problem z PHP, wyczerpanie dostępnej pamięci albo nieudana aktualizacja. Nie zawsze jest to jednak awaria całej witryny. Biała strona może pojawiać się tylko w panelu administracyjnym, na pojedynczej podstronie, stronie produktu, koszyku czy formularzu.
Najlepszą metodą naprawy nie jest przypadkowe wyłączanie kolejnych funkcji. Najpierw trzeba ustalić zakres problemu, zabezpieczyć dane i znaleźć właściwy błąd.
Biała strona w WordPressie – co właściwie oznacza?
Problem bywa określany jako White Screen of Death, w skrócie WSOD. Użytkownik otwiera adres i zamiast witryny lub komunikatu błędu widzi pustą, białą stronę.
Sam biały ekran mówi jednak bardzo niewiele o przyczynie. WordPress działa w środowisku PHP, korzysta z motywu, wtyczek, bazy danych i konfiguracji serwera. Awaria na którymś etapie może przerwać generowanie strony.
Dlatego pierwszym pytaniem powinno być nie „jak usunąć białą stronę?”, ale „gdzie dokładnie pojawia się problem?”.
Sprawdź stronę główną, kilka podstron, wpis blogowy i panel /wp-admin/. Jeśli prowadzisz sklep, sprawdź również produkty, kategorie, koszyk, finalizację zamówienia i konto klienta.
Czy biała strona zawsze oznacza poważny błąd WordPressa?
Nie. Problem niekoniecznie musi dotyczyć całego WordPressa.
Jeżeli strona główna i większość podstron działa poprawnie, a biały ekran pojawia się tylko pod jednym adresem, przyczyny warto szukać w elementach charakterystycznych dla tej podstrony.
Często dotyczy to bardziej rozbudowanych miejsc, takich jak:
- strony produktów i kategorii w WooCommerce,
- koszyk i proces składania zamówienia,
- podstrony z formularzami,
- strony utworzone za pomocą dodatkowego buildera,
- wyniki wyszukiwania i filtrowania,
- podstrony korzystające z własnych szablonów,
- panel administracyjny lub konkretny ekran w panelu.
Przykładowo, jeśli biała strona występuje wyłącznie podczas finalizacji zamówienia, nie ma sensu zaczynać diagnostyki od optymalizacji strony głównej. Lepiej sprawdzić rozszerzenia związane z płatnościami, dostawą, WooCommerce i samym procesem zamówienia.
Co zrobić przed rozpoczęciem naprawy?
Jeśli masz dostęp do hostingu, plików i bazy danych, przed większymi zmianami wykonaj kopię zapasową obecnego stanu strony. Nawet jeśli witryna jest już uszkodzona, jej kopia może przydać się podczas diagnostyki.
Sprawdź również, czy hosting posiada automatyczne backupy. Nie przywracaj jednak od razu najstarszej działającej kopii.
Jest to szczególnie ważne w sklepach internetowych. Przywrócenie całej bazy danych do wcześniejszego stanu może spowodować utratę zamówień, nowych kont lub innych informacji zapisanych od momentu wykonania backupu.
Najpierw spróbuj więc ustalić przyczynę białej strony.
Krok 1: Przypomnij sobie ostatnie zmiany
Jeżeli WordPress jeszcze niedawno działał, ustal, co wydarzyło się bezpośrednio przed pojawieniem się problemu.
Czy aktualizowana była wtyczka? Czy zmieniałeś motyw? Czy ktoś edytował plik functions.php? Czy zmieniono wersję PHP? A może problem pojawił się po automatycznej aktualizacji?
Ostatnia zmiana jest bardzo ważną wskazówką, choć nie stanowi jeszcze dowodu na źródło awarii.
Przykładowo nowa wersja wtyczki może działać poprawnie sama w sobie, ale wejść w konflikt z innym rozszerzeniem. Problem pojawia się po aktualizacji, lecz jego rzeczywistą przyczyną jest niekompatybilność dwóch elementów.
Krok 2: Sprawdź wtyczki WordPressa
Wtyczki są jednym z pierwszych elementów, które warto zweryfikować. Jeśli masz dostęp do panelu, możesz wyłączyć rozszerzenie aktualizowane lub instalowane bezpośrednio przed pojawieniem się białej strony.
Po dezaktywacji sprawdź ponownie problematyczną podstronę. Jeśli zacznie działać, masz istotny trop.
Co jednak zrobić, jeśli biała strona obejmuje również panel administracyjny?
Mając dostęp przez FTP, SFTP albo menedżer plików hostingu, przejdź do:
wp-content/plugins
Możesz tymczasowo zmienić nazwę katalogu konkretnej podejrzanej wtyczki. WordPress nie będzie mógł załadować jej w standardowy sposób.
Jeśli nie wiadomo, która wtyczka powoduje problem, diagnostycznie można zmienić nazwę całego folderu plugins. Trzeba jednak pamiętać, że oznacza to wyłączenie wszystkich rozszerzeń, co na działającym sklepie może mieć poważne konsekwencje. Bezpieczniej przeprowadzać takie testy na środowisku testowym.
Krok 3: Sprawdź aktywny motyw
Jeśli wtyczki nie są przyczyną, kolejnym podejrzanym jest motyw. Problem może pojawić się po jego aktualizacji, modyfikacji plików albo zmianie wersji WordPressa czy PHP.
Szczególnie istotny jest własny kod dodawany do motywu. Nawet drobny błąd składni w pliku PHP może spowodować, że witryna nie będzie generowana prawidłowo.
Testem diagnostycznym może być przełączenie strony na odpowiedni domyślny motyw WordPressa. Jeżeli po zmianie biały ekran znika, warto przeanalizować dotychczasowy motyw.
Na stronie produkcyjnej nie zawsze jest to jednak dobry pomysł. Zmiana motywu może wpłynąć na wygląd i funkcjonowanie serwisu, dlatego w miarę możliwości test należy przeprowadzić na stagingu.
Krok 4: Włącz diagnostykę WordPressa
Biały ekran jest trudny do naprawienia głównie dlatego, że nie pokazuje przyczyny. Znacznie więcej można dowiedzieć się z logów.
WordPress posiada mechanizm debugowania kontrolowany między innymi przez ustawienia w pliku wp-config.php. Diagnostyka może pomóc zapisać informacje o błędach do pliku zamiast pozostawiać administratora z pustym ekranem.
W środowisku produkcyjnym nie należy bez potrzeby wyświetlać szczegółowych komunikatów błędów wszystkim odwiedzającym. Mogą zawierać ścieżki do plików i inne informacje techniczne.
Lepszym rozwiązaniem jest zapisywanie błędów do logu i analiza informacji przez administratora lub programistę.
Krok 5: Sprawdź logi serwera
WordPress nie jest jedynym miejscem, w którym można znaleźć informacje o awarii. Hosting może udostępniać logi błędów PHP i serwera.
To właśnie tam można znaleźć konkretną wskazówkę, na przykład nazwę pliku wtyczki, numer linii kodu lub informację o przekroczeniu dostępnych zasobów.
Jeżeli komunikat wskazuje konkretny plik znajdujący się w katalogu jednej wtyczki, diagnostyka staje się znacznie łatwiejsza. Zamiast wyłączać losowe rozszerzenia, można skupić się na wskazanym komponencie.
Krok 6: Sprawdź limit pamięci PHP
Jedną z możliwych przyczyn białej strony jest wyczerpanie pamięci dostępnej dla procesu PHP. Może do tego dojść na przykład podczas wykonywania szczególnie wymagającej operacji.
Nie oznacza to jednak, że rozwiązaniem zawsze jest zwiększenie limitu pamięci.
Jeżeli jedna wtyczka zużywa nienaturalnie dużo zasobów z powodu błędu, podniesienie limitu może tylko odsunąć problem w czasie. Najpierw warto sprawdzić logi i ustalić, dlaczego pamięć została wyczerpana.
Większy limit ma sens wtedy, gdy aplikacja rzeczywiście potrzebuje dodatkowych zasobów i konfiguracja serwera na to pozwala.
Krok 7: Zweryfikuj wersję PHP
Problem może pojawić się po zmianie PHP na serwerze. Starszy motyw lub wtyczka może nie współpracować prawidłowo z nowszym środowiskiem. Z kolei aktualne rozszerzenie może mieć wymagania, których bardzo stara wersja PHP nie spełnia.
Nie należy jednak przełączać wersji PHP w ciemno.
Najpierw sprawdź wymagania aktualnej wersji WordPressa oraz kluczowych wtyczek i motywu. Jeżeli zmiana PHP jest konieczna, najlepiej przetestować ją wcześniej na kopii witryny.
Biała strona pojawia się tylko na jednej podstronie – co robić?
To dobra wiadomość diagnostyczna, ponieważ znacznie zawęża obszar poszukiwań.
Sprawdź, czym problematyczna podstrona różni się od działających. Może korzystać z innego szablonu, dodatkowej wtyczki, shortcode’u, formularza lub własnego fragmentu kodu.
Jeżeli biały ekran pojawia się tylko na jednym produkcie, sprawdź również jego dane i elementy charakterystyczne dla tego produktu. Jeśli problem dotyczy wszystkich produktów, ale nie zwykłych stron WordPressa, należy zainteresować się komponentami odpowiedzialnymi za WooCommerce i szablony produktów.
Taka metoda zawężania problemu jest znacznie skuteczniejsza niż wyłączanie wszystkiego po kolei.
Czy przywrócenie kopii zapasowej rozwiąże problem?
Często może szybko przywrócić działanie strony, ale nie zawsze jest najlepszym pierwszym krokiem.
Jeżeli dokładnie wiesz, że awaria wystąpiła po aktualizacji wykonanej kilka minut wcześniej i od tego czasu w witrynie nie zapisano ważnych danych, przywrócenie odpowiedniej kopii może być rozsądnym rozwiązaniem awaryjnym.
W przypadku sklepu trzeba zachować większą ostrożność. Cofnięcie bazy danych może oznaczać utratę nowych zamówień i zmian wprowadzonych przez klientów.
Po przywróceniu strony nadal warto znaleźć przyczynę. W przeciwnym razie przy następnej aktualizacji biała strona może pojawić się ponownie.
Jak ograniczyć ryzyko białej strony w przyszłości?
Regularne backupy są podstawą, ale równie ważne jest posiadanie środowiska testowego. Aktualizację WordPressa, kluczowych wtyczek, motywu lub PHP można najpierw przeprowadzić na stagingu.
Po aktualizacji należy sprawdzić nie tylko stronę główną. Warto przetestować najważniejsze typy podstron i funkcje serwisu. W sklepie będą to między innymi produkty, kategorie, koszyk, płatności i konto klienta. Na stronie firmowej mogą to być formularze, landing page’e i elementy przygotowane w page builderze.
Gdy WordPress wyświetla białą stronę, najważniejsza jest systematyczna diagnostyka. Ustal, gdzie występuje problem, sprawdź ostatnie zmiany, przeanalizuj wtyczki i motyw, zajrzyj do logów oraz zweryfikuj środowisko PHP. Biały ekran jest tylko objawem. Skuteczna naprawa polega na znalezieniu i usunięciu jego rzeczywistej przyczyny.