Pomoc: pon-pt 9:00-17:00kontakt@sorahost.plWebmailZgłoszeniaPanel klienta
WordPress

Błąd 500 w WordPressie: jak go naprawić?

Błąd 500 w WordPressie oznacza, że serwer nie dokończył budowania strony, najczęściej przez wtyczkę, motyw, plik .htaccess albo limit pamięci PHP. Przyczynę znajdziesz zwykle w 15 do 30 minut, sprawdzając podejrzanych od najczęstszego.

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.

Zanim zaczniesz

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ć.

Krok 1 z 6

Przeczytaj log błędów

Ok. 5 minut · panel hostingu lub wp-config.php

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.

  1. 1Sprawdź log błędów w panelu hostingu. Zwykle jest w sekcji statystyk albo logów domeny.
  2. 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.
  3. 3Odśwież stronę z błędem i otwórz plik wp-content/debug.log.
wp-config.php
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.

Krok 2 z 6

Wyłącz wszystkie wtyczki naraz

Ok. 5 minut · menedżer plików

Gdy panel WordPressa nie działa, wtyczki wyłączasz przez zmianę nazwy katalogu. WordPress nie znajdzie wtedy żadnej i uruchomi się bez nich.

  1. 1W menedżerze plików otwórz katalog wp-content.
  2. 2Zmień nazwę katalogu plugins na plugins-wylaczone.
  3. 3Odśwież stronę. Działa? Winna jest któraś z wtyczek.
  4. 4Przywróć nazwę plugins i wyłączaj wtyczki po jednej, zmieniając nazwy ich katalogów, aż znajdziesz tę, po której błąd wraca.
Krok 3 z 6

Przełącz motyw na domyślny

Ok. 5 minut · menedżer plików

Jeśli wtyczki nie były winne, sprawdź motyw. Robisz to tak samo: zmianą nazwy katalogu.

  1. 1Otwórz wp-content/themes i sprawdź, czy jest tam domyślny motyw WordPressa, np. Twenty Twenty-Five.
  2. 2Zmień nazwę katalogu swojego motywu, np. dopisując na końcu -test.
  3. 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ę.

Krok 4 z 6

Odtwórz plik .htaccess

Ok. 5 minut · menedżer plików i panel WordPressa

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.

  1. 1W katalogu strony zmień nazwę pliku .htaccess na .htaccess-stary.
  2. 2Utwórz nowy plik .htaccess z domyślną treścią WordPressa z przykładu.
  3. 3Jeśli panel działa, wejdź w Ustawienia, Bezpośrednie odnośniki i kliknij Zapisz zmiany, żeby WordPress dopisał resztę.
.htaccess
# 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 WordPress

Jeśli w starym pliku były reguły od wtyczki cache albo przekierowania, przenoś je po jednej i sprawdzaj stronę po każdej.

Krok 5 z 6

Zwiększ limit pamięci PHP

Ok. 5 minut · wp-config.php i panel hostingu

Gdy PHP kończy się pamięć, w logu zobaczysz komunikat ze słowami Allowed memory size exhausted. Wtedy pomaga podniesienie limitu.

wp-config.php
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.

Krok 6 z 6

Przywróć kopię zapasową

Ok. 15 minut · panel hostingu

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.

  1. 1W panelu hostingu otwórz kopie zapasowe.
  2. 2Wybierz kopię sprzed pojawienia się błędu i przywróć pliki oraz bazę danych.
  3. 3Zanim cokolwiek zaktualizujesz, zrób nową kopię.

Lista kontrolna

0 z 5 sprawdzone

Pytania

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.

Czy ten poradnik pomógł?
Radek Cholewiński
Radek Cholewiński

Opiekun klientów w Sorahost. Przy hostingu od ponad 15 lat, wcześniej strony, sklepy i marketing dla firm.

Zadaj pytanie Radkowirc@sorahost.pl

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.

Zobacz hosting WordPressOd 299 zł brutto rocznie · pon-pt 9:00-17:00