WordPress pokazuje białą stronę – jak to naprawić bez paniki

Spis treści

Wprowadzenie – co to jest biała strona i dlaczego jest niebezpieczna

Biała strona WordPress, znana również jako White Screen of Death (WSOD), to sytuacja, w której zamiast strony WordPress zobaczysz pustą, białą stronę bez żadnych komunikatów błędów. To jeden z najbardziej stresujących problemów, jakie mogą spotkać administratorów stron WordPress.

Biała strona może wystąpić w dowolnym momencie – podczas aktualizacji, dodawania nowej wtyczki lub motywu, a nawet bez żadnego wyraźnego powodu. Choć może wydawać się, że strona jest całkowicie uszkodzona, w większości przypadków problem jest łatwy do rozwiązania.

Kluczem do szybkiego rozwiązania problemu jest włączenie trybu debugowania, które pokaże szczegółowy komunikat błędu. W tym przewodniku przeprowadzę Cię przez wszystkie kroki diagnostyki i naprawy białej strony WordPress.

Włączanie trybu debugowania – pierwszy krok do rozwiązania problemu

Zanim zaczniesz szukać przyczyny białej strony, musisz włączyć tryb debugowania. To pomoże Ci zobaczyć szczegółowy komunikat błędu, który wyjaśni, co dokładnie poszło nie tak.

Krok 1: Otwarcie pliku wp-config.php

Zaloguj się do swojego serwera przez FTP lub menedżera plików hostingu i znajdź plik wp-config.php w katalogu głównym instalacji WordPress.

Krok 2: Zmiana wartości WP_DEBUG

W pliku wp-config.php znajdź linię, która zawiera definicję constant WP_DEBUG. Zazwyczaj wygląda ona tak:

define( 'WP_DEBUG', false );

Zmień wartość na true, aby włączyć tryb debugowania:

define( 'WP_DEBUG', true );

Krok 3: Dodanie zapisywania logów błędów

Aby błędy były zapisywane do pliku, dodaj następujące linie pod definicją WP_DEBUG:

define( 'WP_DEBUG_LOG', true );

define( 'WP_DEBUG_DISPLAY', false );

Dzięki temu błędy będą zapisywane do pliku debug.log w katalogu wp-content, a nie wyświetlane bezpośrednio na stronie.

Sprawdzanie logów błędów – gdzie szukać informacji o problemie

Po włączeniu trybu debugowania odśwież stronę, aby zobaczyć białą stronę ponownie. Następnie sprawdź plik debug.log w katalogu wp-content.

Lokalizacja pliku debug.log

Plik debug.log znajduje się w katalogu: wp-content/debug.log

Typowe komunikaty błędów

W zależności od przyczyny problemu, w logu zobaczysz różne komunikaty. Oto najczęstsze:

  • Fatal error: Allowed memory size of X bytes exhausted – przekroczenie limitu pamięci PHP
  • Parse error: syntax error – błąd składni w pliku PHP
  • Warning: Cannot modify header information – problemy z plikiem wp-config.php
  • Plugin conflict – konflikt z wtyczką
  • Theme error – błąd w motywie

Problemy z limitem pamięci PHP – najczęstsza przyczyna białej strony

Przekroczenie limitu pamięci PHP to najczęstsza przyczyna białej strony WordPress. Dzieje się tak, gdy skrypt próbuje użyć więcej pamięci niż jest dostępne dla PHP.

Jak sprawdzić limit pamięci

W pliku debug.log zobaczysz komunikat podobny do tego:

Fatal error: Allowed memory size of 25600000 bytes exhausted (tried to allocate 12345678 bytes) in /wp-content/plugins/xxx.php on line 123

Rozwiązanie problemu

Otwórz plik wp-config.php i dodaj linię, która zwiększy limit pamięci:

define( 'WP_MEMORY_LIMIT', '256M' );

Możesz również spróbować wyższej wartości, np. 512M lub 1G, w zależności od potrzeb Twojej strony.

Jeśli to nie pomoże

Jeśli zwiększenie limitu pamięci w pliku wp-config.php nie rozwiązuje problemu, skontaktuj się z hostingiem w sprawie zwiększenia limitu pamięci PHP dla całego konta.

Konflikty z wtyczkami – jak wyłączyć wtyczki, gdy nie możesz wejść do panelu

Konflikty z wtyczkami to druga najczęstsza przyczyna białej strony. Często nowa wtyczka może powodować błędy krytyczne, które uniemożliwiają załadowanie strony.

Metoda 1: Wyłączenie wtyczek przez FTP

Jeśli nie możesz wejść do panelu WordPress, możesz wyłączyć wszystkie wtyczki przez FTP:

  1. Zaloguj się do serwera przez FTP
  2. Przejdź do katalogu wp-content/plugins
  3. Zmień nazwę folderu plugins na plugins-old
  4. Odśwież stronę WordPress

Wszystkie wtyczki zostaną tymczasowo wyłączone. Jeśli strona zacznie działać, problem leży w jednej z wtyczek.

Metoda 2: Wyłączenie wtyczek przez bazę danych

Możesz również wyłączyć wtyczki przez bazę danych. W phpMyAdmin otwórz tabelę wp_options, znajdź wpis active_plugins i ustaw pustą listę aktywnych wtyczek.

UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';

Po zapisaniu zmian odśwież stronę. Gdy witryna zacznie działać, włączaj wtyczki pojedynczo, aby znaleźć tę powodującą błąd.

Diagnoza problemu

Po wyłączeniu wtyczek, powtórz proces włączania wtyczek jeden po drugim, aby zidentyfikować tę, która powoduje problem.

Problemy z motywem – jak przywrócić działający motyw

Błędy w motywie mogą również powodować białą stronę. Często dzieje się to po aktualizacji motywu lub zmianie konfiguracji.

Wyłączenie motywu

Jeśli podejrzewasz problem z motywem, możesz go wyłączyć przez FTP:

  1. Zaloguj się do serwera przez FTP
  2. Przejdź do katalogu wp-content/themes
  3. Zmień nazwę folderu themes na themes-old
  4. Odśwież stronę WordPress

WordPress automatycznie przełączy się na domyślny motyw (Twenty Twenty-Four). Jeśli strona zacznie działać, problem leży w motywie.

Przywracanie motywu

Jeśli masz backup motywu, możesz go przywrócić przez FTP. Jeśli nie, możesz pobrać nową wersję motywu z oficjalnego sklepu i wgrać ją na serwer.

Błędy w plikach PHP – jak znaleźć i naprawić błędy krytyczne

Błędy w plikach PHP mogą powodować białą stronę, jeśli wystąpią w plikach krytycznych dla działania WordPressa.

Typowe pliki, które mogą powodować problemy

  • wp-config.php – plik konfiguracyjny WordPressa
  • wp-load.php – plik ładujący WordPress
  • wp-settings.php – plik ustawień WordPressa
  • pliki wtyczek i motywów

Sprawdzanie plików przez FTP

Możesz sprawdzić pliki przez FTP, aby znaleźć błędy składni. Otwórz plik w edytorze tekstu i poszukaj znaków błędu, takich jak nieparzyste nawiasy, niepoprawne tagi PHP itp.

Używanie edytora kodu

Możesz użyć edytora kodu, takiego jak VS Code, aby sprawdzić pliki. Wiele edytorów podświetla błędy składni w czasie rzeczywistym.

Problemy z bazą danych – czy biała strona uszkadza dane

Biała strona zazwyczaj nie uszkadza bazy danych. Jest to jeden z najważniejszych faktów, które warto wiedzieć – Twoje dane są zazwyczaj bezpieczne.

Dlaczego biała strona nie uszkadza bazy danych

Biała strona oznacza, że skrypt nie mógł wyświetlić strony, ale zazwyczaj nie wpływa na działanie bazy danych. W większości przypadków baza danych pozostaje w pełni funkcjonalna.

Kiedy baza danych może być uszkodzona

Baza danych może być uszkodzona w rzadszych przypadkach, takich jak:

  • Nagłe wyłączenie serwera podczas zapisu do bazy danych
  • Błędy w skryptach SQL
  • Problem z uprawnieniami do bazy danych

Co zrobić, jeśli podejrzewasz uszkodzenie bazy danych

Jeśli podejrzewasz problem z bazą danych, możesz spróbować przywrócić kopię zapasową. Jeśli nie masz backupu, skontaktuj się z hostingiem w sprawie naprawy bazy danych.

Krok po kroku diagnoza problemu – kompletny przewodnik

Aby skutecznie rozwiązać problem białej strony, postępuj zgodnie z tym kompletnym przewodnikiem:

Krok 1: Włącz tryb debugowania

Zmień wartość WP_DEBUG na true w pliku wp-config.php i dodaj WP_DEBUG_LOG true.

Krok 2: Sprawdź logi błędów

Otwórz plik debug.log w katalogu wp-content i sprawdź komunikat błędu.

Krok 3: Sprawdź limit pamięci

Jeśli komunikat błędu dotyczy przekroczenia limitu pamięci, zwiększ WP_MEMORY_LIMIT w pliku wp-config.php.

Krok 4: Wyłącz wtyczki

Jeśli problem nie wynika z limitu pamięci, wyłącz wszystkie wtyczki przez FTP, zmieniając nazwę folderu plugins na plugins-old.

Krok 5: Sprawdź motyw

Jeśli wtyczki nie powodują problemu, wyłącz motyw przez FTP, zmieniając nazwę folderu themes na themes-old.

Krok 6: Przywróć działające elementy

Jeśli strona zaczyna działać po wyłączeniu wtyczek lub motywu, powtórz proces włączania elementów jeden po drugim, aby zidentyfikować ten, który powoduje problem.

Krok 7: Przywróć backup

Jeśli nie możesz rozwiązać problemu, przywróć backup strony. Upewnij się, że masz aktualne kopie zapasowe, aby uniknąć takich sytuacji w przyszłości.

Zapobieganie białej stronie w przyszłości – najlepsze praktyki

Regularne kopie zapasowe to fundament bezpieczeństwa każdej strony WordPress. Pamiętaj o tych kluczowych zasadach:

1. Twórz regularne kopie zapasowe

Używaj wtyczki do tworzenia kopii zapasowych, takich jak UpdraftPlus, i skonfiguruj automatyczne backupy codziennie lub co tydzień.

2. Przechowuj kopie zapasowe w bezpiecznych lokalizacjach

Przechowuj kopie zapasowe w chmurze (Google Drive, Dropbox) oraz lokalnie na serwerze. Używaj co najmniej dwóch lokalizacji.

3. Testuj przywracanie backupów

Regularnie testuj przywracanie backupów, aby upewnić się, że system kopii zapasowych działa poprawnie.

4. Aktualizuj WordPress i wtyczki

Regularnie aktualizuj WordPress i wtyczki, aby uniknąć problemów z kompatybilnością.

5. Włącz tryb debugowania

Włącz tryb debugowania w pliku wp-config.php, aby łatwiej diagnozować problemy w przyszłości.

6. Monitoruj logi błędów

Regularnie sprawdzaj logi błędów, aby wykryć problemy przed ich eskalacją.

7. Używaj hostingu z odpowiednimi limitami

Wybierz hosting, który oferuje odpowiednie limity pamięci PHP i zasobów dla WordPressa.

Jeśli interesuje Cię rozwiązywanie problemów z logowaniem do WordPressa, polecam przeczytać artykuł: Nie mogę zalogować się do WordPressa – prosty poradnik, gdzie znajdziesz więcej szczegółów na temat diagnostyki i naprawy problemów z logowaniem.

Podsumowanie

Biała strona WordPress może być stresująca, ale zazwyczaj jest łatwa do rozwiązania. Kluczem do szybkiego rozwiązania problemu jest włączenie trybu debugowania i sprawdzenie logów błędów.

Pamiętaj o regularnych kopiach zapasowych i monitorowaniu logów błędów, aby uniknąć takich sytuacji w przyszłości. Jeśli nie możesz rozwiązać problemu samodzielnie, skontaktuj się z profesjonalnym wsparciem.

Masz problemy z białą stroną WordPress? Chętnie pomożemy Ci zdiagnozować i naprawić problem. Skontaktuj się z nami, aby uzyskać profesjonalne wsparcie w rozwiązaniu problemów z WordPress.