Będziesz potrzebować
- Dostępu do panelu hostingu i menedżera plików albo FTP
- Dostępu do pliku wp-config.php
- Świeżej kopii zapasowej, jeśli ją masz
Ile to trwa
Ok. 15 do 30 minut w typowym przypadku.
Od czego zacząć, gdy strona nagle pokazuje błąd?
Od pytania: co zmieniło się ostatnio? Błąd 500 rzadko pojawia się z niczego. W przypadkach, które widzę, prawie zawsze poprzedza go aktualizacja wtyczki, nowy motyw, zmiana wersji PHP albo ręczna edycja pliku. Jeśli wiesz, co to było, zacznij od cofnięcia właśnie tego.
Jeśli nie wiesz, idź po kolei przez kroki z tego poradnika. Ułożyłem je od najczęstszej przyczyny do najrzadszej i od najbezpieczniejszego działania do najbardziej inwazyjnego.
Jedna rzecz mnie przy tym uspokaja i Ciebie też powinna: błąd 500 prawie nigdy nie oznacza utraty danych. Wpisy, zamówienia i ustawienia leżą w bazie danych i czekają. Strona po prostu nie umie ich teraz wyświetlić.
Przeczytaj log błędów
Log błędów często mówi wprost, który plik i która wtyczka zawiodły. Szkoda zgadywać, skoro odpowiedź może czekać w jednym pliku.
- 1Sprawdź log błędów w panelu hostingu. Zwykle jest w sekcji statystyk albo logów domeny.
- 2Jeśli go nie ma, włącz zapisywanie błędów WordPressa, dopisując do wp-config.php trzy linie z przykładu poniżej, nad komentarzem kończącym edycję. Istniejącą linię z WP_DEBUG zamień, a nie dubluj.
- 3Odśwież stronę z błędem i otwórz plik wp-content/debug.log.
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );W logu szukaj linii ze słowami Fatal error. Ścieżka w tej linii, np. wp-content/plugins/nazwa-wtyczki, zwykle wskazuje winowajcę. Po naprawie usuń te trzy linie albo zmień true na false.
Wyłącz wszystkie wtyczki naraz
Gdy panel WordPressa nie działa, wtyczki wyłączasz przez zmianę nazwy katalogu. WordPress nie znajdzie wtedy żadnej i uruchomi się bez nich.
- 1W menedżerze plików otwórz katalog wp-content.
- 2Zmień nazwę katalogu plugins na plugins-wylaczone.
- 3Odśwież stronę. Działa? Winna jest któraś z wtyczek.
- 4Przywróć nazwę plugins i wyłączaj wtyczki po jednej, zmieniając nazwy ich katalogów, aż znajdziesz tę, po której błąd wraca.
Przełącz motyw na domyślny
Jeśli wtyczki nie były winne, sprawdź motyw. Robisz to tak samo: zmianą nazwy katalogu.
- 1Otwórz wp-content/themes i sprawdź, czy jest tam domyślny motyw WordPressa, np. Twenty Twenty-Five.
- 2Zmień nazwę katalogu swojego motywu, np. dopisując na końcu -test.
- 3Odśwież stronę. WordPress przełączy się na domyślny motyw.
Strona działa na domyślnym motywie? Winny jest Twój motyw albo jego ostatnia aktualizacja. Przywróć nazwę katalogu i skontaktuj się z autorem motywu albo wgraj jego poprzednią wersję.
Odtwórz plik .htaccess
Plik .htaccess steruje adresami stron. Jedna błędna linia, dopisana ręcznie albo przez wtyczkę, wystarczy, żeby cała strona zwracała błąd 500.
- 1W katalogu strony zmień nazwę pliku .htaccess na .htaccess-stary.
- 2Utwórz nowy plik .htaccess z domyślną treścią WordPressa z przykładu.
- 3Jeśli panel działa, wejdź w Ustawienia, Bezpośrednie odnośniki i kliknij Zapisz zmiany, żeby WordPress dopisał resztę.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPressJeśli w starym pliku były reguły od wtyczki cache albo przekierowania, przenoś je po jednej i sprawdzaj stronę po każdej.
Zwiększ limit pamięci PHP
Gdy PHP kończy się pamięć, w logu zobaczysz komunikat ze słowami Allowed memory size exhausted. Wtedy pomaga podniesienie limitu.
define( 'WP_MEMORY_LIMIT', '256M' );Linię dopisz nad komentarzem, który kończy edycję pliku. Jeśli to nie pomoże, limit ustawiony przez hosting może być niższy. Sprawdź ustawienie memory_limit w panelu hostingu, w opcjach PHP.
Przywróć kopię zapasową
Jeśli nic nie pomogło, przywróć kopię z dnia, w którym strona działała. Tak najszybciej wrócisz do działającej strony, a przyczynę znajdziesz potem na spokojnie.
- 1W panelu hostingu otwórz kopie zapasowe.
- 2Wybierz kopię sprzed pojawienia się błędu i przywróć pliki oraz bazę danych.
- 3Zanim cokolwiek zaktualizujesz, zrób nową kopię.
Lista kontrolna
0 z 5 sprawdzonePytania
Czy błąd 500 to wina hostingu?
Czasem, ale rzadziej, niż się wydaje. Najczęściej winna jest wtyczka, motyw albo plik .htaccess. Jeśli kroki 1 do 4 nic nie wykazały, a błąd pojawia się na wielu stronach na tym samym koncie, napisz do swojego hostingu.
Czy stracę dane przez błąd 500?
Nie. Treści i zamówienia są w bazie danych, a błąd oznacza tylko, że strona nie może się teraz wyświetlić. Uważaj dopiero przy przywracaniu kopii, żeby nie cofnąć bazy z nowymi zamówieniami.
WordPress wysłał mi maila o problemie technicznym. Co to znaczy?
To tryb odzyskiwania WordPressa. Mail zawiera link, który pozwala zalogować się do panelu mimo błędu i wyłączyć wtyczkę lub motyw, który go powoduje. Link działa przez ograniczony czas, więc użyj go od razu.
Czy błąd 500 szkodzi pozycjom w Google?
Krótki, kilkugodzinny błąd raczej nie. Jeśli trwa dniami, Google zaczyna rzadziej odwiedzać stronę i może usuwać podstrony z wyników, dlatego naprawiaj go od razu.
Błąd 500 o północy to zły moment na naukę.
W Sorahost piszesz do administratora, który zna Twój serwer, a codzienna kopia zapasowa jest w cenie. Przeniesiemy Twoją stronę za darmo, zwykle w jedną noc.
