Czym jest error 500 WordPress?
HTTP 500 Internal Server Error to odpowiedź serwera oznaczająca, że coś poszło nie tak po jego stronie, ale serwer nie potrafi (lub nie chce) powiedzieć dokładnie co. W kontekście WordPress oznacza to zwykle, że skrypt PHP zakończył się błędem zanim zdążył wysłać poprawną odpowiedź do przeglądarki. Użytkownik widzi pustą stronę lub ogólny komunikat błędu, bez żadnej wskazówki dotyczącej przyczyny.
Warto od razu zaznaczyć różnicę: biały ekran śmierci WordPress (WSOD) to pokrewny problem, ale przeglądarka nie otrzymuje wtedy żadnego kodu HTTP, strona po prostu jest pusta. Error 500 z kolei zawsze zwraca kod 500 w nagłówku HTTP, co widać w narzędziach deweloperskich przeglądarki.
Najczęstsze przyczyny error 500 WordPress
1. Uszkodzony plik .htaccess
Plik .htaccess w głównym katalogu WordPress steruje regułami przepisywania URL (mod_rewrite). Wystarczy jedna nieprawidłowa dyrektywa, by serwer Apache zwrócił błąd 500. Najczęściej dzieje się to po ręcznej edycji pliku, po instalacji wtyczki do bezpieczeństwa lub po migracji strony.
2. Wyczerpany limit pamięci PHP (memory_limit)
Domyślny limit pamięci PHP na wielu hostingach współdzielonych (home.pl, cyber_Folks, LH.pl, OVH) wynosi 64–128 MB. Gdy strona uruchamia wiele wtyczek jednocześnie lub przetwarza duże pliki, PHP może przekroczyć ten limit i zakończyć działanie błędem 500.
3. Błąd wtyczki lub motywu
Uszkodzona wtyczka, niezgodna z aktualną wersją PHP lub WordPress, to klasyczna przyczyna error 500. Podobnie działa uszkodzony motyw, szczególnie po nieudanej aktualizacji lub ręcznej edycji pliku PHP w motywie dziecko.
4. Złe uprawnienia plików i katalogów
WordPress wymaga konkretnych uprawnień: pliki powinny mieć 644, katalogi 755. Jeśli po migracji, backupie lub zmianie hostingu uprawnienia są zbyt restrykcyjne (np. 600 dla plików) lub zbyt szerokie (777 dla katalogów), serwer może odmówić wykonania skryptu i zwrócić błąd 500.
5. Błąd składni PHP lub timeout skryptu
Literówka w pliku functions.php, nieopatrzna edycja pliku motywu lub ręczna modyfikacja pliku rdzenia WordPress może wprowadzić błąd składni PHP. Serwer nie jest wtedy w stanie sparsować pliku i zwraca 500. Timeout (przekroczenie czasu wykonania skryptu) działa podobnie, PHP urywa wykonanie po upłynięciu max_execution_time.
Jak zdiagnozować error 500 WordPress krok po kroku
Krok 1: Sprawdź logi błędów hostingu
Pierwszym krokiem zawsze powinno być zajrzenie do logów. W panelu cPanel znajdziesz je w sekcji Logi błędów lub Error Logs. Na hostingach Zenbox, Hostinger czy LH.pl logi są dostępne w podobnych sekcjach panelu. Szukaj wpisów zawierających PHP Fatal error, PHP Parse error lub AH00124, te wpisy wskażą Ci dokładnie, który plik i która linia zawiera problem.
Krok 2: Włącz WP_DEBUG
Jeśli masz dostęp do pliku wp-config.php przez FTP lub Menedżer Plików, dodaj przed linią /* That's all, stop editing! */:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Błędy będą zapisywane do wp-content/debug.log. Po naprawie koniecznie wyłącz debug, ustaw WP_DEBUG z powrotem na false.
Krok 3: Zregeneruj plik .htaccess
Przez FTP zmień nazwę pliku .htaccess na .htaccess_old. WordPress powinien automatycznie wygenerować nowy plik przy pierwszym odświeżeniu (lub możesz to wymusić ręcznie: Ustawienia → Bezpośrednie odnośniki → Zapisz w panelu admina). Jeśli strona wróciła do działania, problem leżał właśnie w .htaccess.
Krok 4: Zwiększ limit pamięci PHP
W pliku wp-config.php dodaj:
define('WP_MEMORY_LIMIT', '256M');
Alternatywnie możesz to zrobić w pliku .htaccess:
php_value memory_limit 256M
Jeśli hosting nie pozwala na taką zmianę (np. na serwerach nginx), konieczna może być aktualizacja PHP i zmiana jego konfiguracji bezpośrednio przez panel hostingu.
Krok 5: Dezaktywuj wszystkie wtyczki przez FTP
Gdy nie możesz zalogować się do panelu admina, połącz się z serwerem przez FTP i przejdź do katalogu wp-content/. Zmień nazwę folderu plugins na plugins_disabled. WordPress automatycznie wyłączy wszystkie wtyczki. Jeśli strona zaczęła działać, przywróć oryginalną nazwę folderu, a następnie aktywuj wtyczki po jednej, żeby znaleźć winowajcę.
Krok 6: Sprawdź i popraw uprawnienia plików
Przez panel FTP lub menedżer plików ustaw uprawnienia rekurencyjnie: 755 dla wszystkich katalogów i 644 dla wszystkich plików. Dla pliku wp-config.php zalecane jest nawet 440 lub 400, wystarczające do odczytu przez PHP, ale niedostępne dla innych procesów.
Kiedy lepiej zadzwonić do specjalisty
Jeśli po przejściu powyższych kroków error 500 WordPress nadal się pojawia, logi błędów są puste lub niezrozumiałe, a strona to sklep WooCommerce lub serwis biznesowy, każda minuta przestoju kosztuje. W takich przypadkach szybsza i bezpieczniejsza jest pomoc specjalisty. Zadzwoń do mnie: 577 020 415, diagnozę zaczynam w ciągu godziny, a naprawę błędów WordPress wyceniam uczciwie, rozliczając co 15 minut.