Jak naprawić białą stronę śmierci (WSOD) w WordPressie
Biała strona bez żadnego komunikatu to jeden z najbardziej stresujących widoków w WordPressie – witryna po prostu znika, a Ty nie wiesz, co się stało. Ten poradnik pokazuje krok po kroku, jak znaleźć przyczynę białego ekranu (najczęściej to konflikt wtyczki, błąd w motywie albo wyczerpany limit pamięci PHP) i jak przywrócić działanie strony, nawet jeśli nie masz dostępu do panelu wp-admin.
- Sprawdź, czy biały ekran widać na całej stronie, tylko na wybranej podstronie, czy również w panelu wp-admin. Otwórz stronę główną w przeglądarce, a osobno spróbuj zalogować się do wp-admin. To określi, czy dalsze kroki będziesz wykonywać przez panel WordPressa, czy wyłącznie przez FTP lub menedżer plików w panelu hostingowym.
- Włącz tryb debugowania WordPressa, żeby zobaczyć treść błędu. Przez FTP lub menedżer plików w panelu hostingowym otwórz plik
wp-config.phpw głównym katalogu strony i znajdź liniędefine('WP_DEBUG', false);. Zmień ją nadefine('WP_DEBUG', true);i dodaj poniżejdefine('WP_DEBUG_LOG', true);orazdefine('WP_DEBUG_DISPLAY', false);. Zapisz plik. - Odśwież stronę, żeby wygenerować wpis w logu, a potem otwórz plik
wp-content/debug.logprzez FTP lub menedżer plików. Znajdź w nim najnowszy wpis błędu (zwykle na samym końcu pliku) – zawiera on nazwę wtyczki, motywu lub pliku, w którym wystąpił problem. - Jeśli błąd w logu wskazuje na konkretną wtyczkę, wyłącz tylko ją. Przez FTP lub menedżer plików przejdź do katalogu
wp-content/plugins, znajdź folder tej wtyczki i zmień jego nazwę (na przykład dopisz na końcu „-off”). WordPress przestanie ją ładować. - Jeśli log nie wskazuje jednoznacznie winowajcy albo nie masz dostępu do wp-admin, wyłącz wszystkie wtyczki naraz. W katalogu
wp-contentzmień nazwę całego folderuplugins, na przykład naplugins-old– to standardowy i bezpieczny sposób na zbiorcze wyłączenie wtyczek bez logowania się do panelu. - Odśwież stronę i sprawdź, czy biały ekran zniknął. Jeśli tak, przywróć oryginalną nazwę folderu
plugins, a następnie w panelu wp-admin (Wtyczki → Zainstalowane wtyczki) włączaj je pojedynczo, sprawdzając działanie strony po każdej – w ten sposób namierzysz tę, która powodowała problem. - Jeśli wyłączenie wtyczek nie pomogło, sprawdź motyw. Przez FTP przejdź do
wp-content/themesi zmień nazwę folderu aktualnie używanego motywu – WordPress automatycznie przełączy się na jeden z domyślnych motywów (np. Twenty Twenty-Four), o ile jest zainstalowany. Jeśli strona znów działa, problem leżał w motywie lub jego niestandardowej wersji. - Jeśli w logu widzisz komunikat „Allowed memory size of X bytes exhausted”, zwiększ limit pamięci PHP. W pliku
wp-config.phpdodaj liniędefine('WP_MEMORY_LIMIT', '256M');tuż przed wpisem „That's all, stop editing!”. Jeśli to nie wystarczy, zwiększ limit pamięci PHP także w panelu hostingowym (sekcja z ustawieniami PHP) – zapis wwp-config.phpnie zawsze może przekroczyć limit narzucony przez sam serwer. - Jeśli biały ekran pojawił się zaraz po tym, jak edytowałeś plik motywu (na przykład
functions.php) przez wbudowany edytor w wp-admin lub przez FTP, popraw lub cofnij tę zmianę ręcznie. Otwórz plik przez FTP, usuń dodany fragment kodu (albo wgraj wcześniejszą kopię pliku, jeśli ją masz) i zapisz. - Po naprawieniu strony wyłącz tryb debugowania. W pliku
wp-config.phpzmieńdefine('WP_DEBUG', true);z powrotem nadefine('WP_DEBUG', false);, żeby komunikaty błędów nie były widoczne publicznie na stronie.
Co zrobić, gdy coś pójdzie nie tak
Nie mam dostępu do FTP i nie wiem, jak inaczej wejść na serwer. Każdy hosting WordPress ma wbudowany menedżer plików w panelu klienta (czasem nazywany File Manager) – działa dokładnie tak samo jak FTP, tylko przez przeglądarkę, bez instalowania dodatkowego programu. Zaloguj się do panelu hostingowego i poszukaj tej opcji zamiast FTP.
Zmieniłem nazwę folderu plugins, a strona nadal jest biała. To oznacza, że przyczyna nie leży w żadnej wtyczce. Przywróć oryginalną nazwę folderu i przejdź do sprawdzenia motywu (krok 7) oraz limitu pamięci PHP (krok 8) – to dwa najczęstsze pozostałe źródła białego ekranu.
Włączyłem tryb debugowania, ale plik debug.log w ogóle się nie pojawia. Sprawdź, czy katalog wp-content ma odpowiednie uprawnienia do zapisu (zwykle 755) – bez nich WordPress nie może utworzyć pliku logu. Jeśli uprawnienia są poprawne, a pliku nadal nie ma, utwórz pusty plik debug.log ręcznie w katalogu wp-content przez FTP i odśwież stronę jeszcze raz.