Błąd 500 Internal Server Error w WordPressie to jeden z najbardziej frustrujących błędów, ponieważ nie podaje żadnych informacji o tym, co poszło nie tak. Może pojawić się na dowolnej stronie, całkowicie wyłączyć witrynę i wpłynąć na pozycję w wynikach wyszukiwania, jeśli pozostanie nierozwiązany dłużej niż kilka godzin.
Contents
- Czym Jest Błąd 500 Internal Server Error w WordPressie?
- Co Powoduje Błąd 500 w WordPressie?
- Szybkie Sprawdziany na Początek
- Rozwiązanie 1: Włącz Tryb Debugowania WordPressa
- Rozwiązanie 2: Wygeneruj na Nowo Plik .htaccess
- Rozwiązanie 3: Zwiększ Limit Pamięci PHP
- Rozwiązanie 4: Wyłącz Wszystkie Wtyczki
- Rozwiązanie 5: Zainstaluj Ponownie Pliki Rdzenia WordPressa
- Rozwiązanie 6: Skontaktuj się z Dostawcą Hostingu
- Co Zrobić, Gdy Żadne z Rozwiązań Nie Działa
- Powiązane Artykuły
W skrócie: Pięć najczęstszych rozwiązań błędu 500 w WordPressie to: (1) włączenie trybu debugowania, aby odczytać dziennik błędów, (2) sprawdzenie i wygenerowanie na nowo pliku .htaccess, (3) zwiększenie limitu pamięci PHP, (4) wyłączenie wszystkich wtyczek i włączanie ich pojedynczo oraz (5) ponowna instalacja plików rdzenia WordPressa. Zacznij od trybu debugowania, aby wiedzieć, które konkretne rozwiązanie zastosować.
Czym Jest Błąd 500 Internal Server Error w WordPressie?
Kod statusu 500 to ogólny sposób, w jaki serwer informuje, że "coś poszło nie tak". Gdy przeglądarka żąda strony, serwer uruchamia kod PHP, aby ją zbudować. Jeśli coś w tym procesie zawiedzie, zanim powstanie prawidłowa odpowiedź, serwer zwraca kod HTTP 500 zamiast samej strony.
Błąd może wyglądać tak:

Albo może wyglądać tak:

Kluczową cechą jest to, że błąd jest ogólny. Informuje, że żądanie się nie powiodło, ale nie mówi dlaczego. To właśnie sprawia, że jest trudniejszy do naprawienia niż bardziej szczegółowy błąd, taki jak 404 (nie znaleziono strony) lub 403 (odmowa dostępu). Reszta tego przewodnika prowadzi Cię systematyczną ścieżką przez najczęstsze przyczyny.
Co Powoduje Błąd 500 w WordPressie?
Najczęstsze przyczyny to:
- Uszkodzony lub nieprawidłowo sformatowany plik
.htaccess - Wyczerpanie pamięci PHP
- Konflikt wtyczki lub motywu powodujący krytyczny błąd PHP
- Uszkodzone pliki rdzenia WordPressa
- Awaria na poziomie serwera (awaria PHP-FPM, błędna konfiguracja, uprawnienia plików)
Skorzystaj z poniższej tabeli, aby dopasować swoją sytuację do najbardziej prawdopodobnej przyczyny i najszybszego pierwszego rozwiązania:
| Kiedy pojawił się błąd 500? | Zakres | Najbardziej prawdopodobna przyczyna | Pierwsze rozwiązanie do wypróbowania |
|---|---|---|---|
| Po instalacji lub aktualizacji wtyczki | Cała witryna | Konflikt wtyczek | Rozwiązanie 4: Wyłącz wszystkie wtyczki |
| Po edycji wp-config.php lub .htaccess | Cała witryna | Błąd składni w pliku konfiguracyjnym | Rozwiązanie 2: Wygeneruj na nowo .htaccess |
| Po aktualizacji rdzenia WordPressa | Cała witryna | Uszkodzone pliki rdzenia | Rozwiązanie 5: Zainstaluj ponownie pliki rdzenia |
| Brak ostatnich zmian, cała witryna nie działa | Cała witryna | Wyczerpanie pamięci | Rozwiązanie 3: Zwiększ limit pamięci PHP |
| Brak ostatnich zmian, dotknięta jedna strona | Tylko jedna strona | Problem z bezpośrednimi odnośnikami lub mod_rewrite | Rozwiązanie 2: Wygeneruj na nowo .htaccess |
| Brak dostępu do wp-admin | Cała witryna | Nieznana przyczyna | Rozwiązanie 1: Najpierw włącz tryb debugowania |
Szybkie Sprawdziany na Początek
Zanim dotkniesz jakichkolwiek plików, wykonaj te dwa szybkie kroki. Każdy z nich może rozwiązać błąd 500 spowodowany nieaktualną pamięcią podręczną.
Wymuś odświeżenie strony: Naciśnij Ctrl + F5 w systemie Windows lub Cmd + Shift + R na Macu, aby pominąć wersję z pamięci podręcznej i wczytać najnowszą kopię strony.
Wyczyść pamięć podręczną przeglądarki: Wyczyszczenie pamięci podręcznej przeglądarki wyklucza problem z buforowaniem po stronie klienta, zanim zmienisz jakiekolwiek pliki serwera.
- Google Chrome: Naciśnij
Ctrl + Shift + Delete, wybierz żądany zakres czasu i kliknij "Wyczyść dane".

- Mozilla Firefox: Naciśnij
Ctrl + Shift + Delete, wybierz odpowiedni zakres czasu i kliknij "Wyczyść teraz".

- Apple Safari: Naciśnij
Command + Option + E, aby natychmiast wyczyścić pamięć podręczną. - Microsoft Edge: Naciśnij
Ctrl + Shift + Delete, zaznacz "Buforowane obrazy i pliki" i kliknij "Wyczyść teraz".
Jeśli błąd zniknie po wyczyszczeniu pamięci podręcznej, to koniec. Jeśli nadal występuje, przejdź do numerowanych rozwiązań poniżej.
Za pomocą WP STAGING możesz utworzyć witrynę testową, aby bezpiecznie przetestować każde rozwiązanie przed zastosowaniem go na witrynie produkcyjnej.
Rozwiązanie 1: Włącz Tryb Debugowania WordPressa
Najbezpieczniejszym pierwszym krokiem jest włączenie dziennika debugowania WordPressa, aby odczytać dokładny błąd, który spowodował odpowiedź 500. Bez dziennika każde kolejne rozwiązanie to zgadywanie. W zgłoszeniach do pomocy technicznej WP STAGING najczęstszą pierwszą przyczyną, jaką widzimy, jest konflikt wtyczek, a dziennik debugowania ujawnia go natychmiast.
Otwórz plik wp-config.php (znajdujący się w katalogu głównym instalacji WordPressa, dostępny przez FTP lub menedżera plików Twojego hostingu) i dodaj te trzy linie:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Zapoznaj się z tym artykułem, aby uzyskać instrukcję krok po kroku dotyczącą aktywacji dziennika debugowania WordPressa.
Dziennik debugowania jest zapisywany w /wp-content/debug.log. Otwórz plik i poszukaj pierwszego błędu w pobliżu góry. Jeśli dziennik wskazuje na konkretną wtyczkę, zmień nazwę jej folderu, aby ją wyłączyć. Na przykład zmień nazwę /wp-content/plugins/woocommerce na /wp-content/plugins/woocommerce-disabled.
Jeśli dziennik debugowania jest pusty, sprawdź dziennik błędów na poziomie serwera:
- Apache:
/var/log/apache2/error.log - Nginx:
/var/log/nginx/error.log
Uzyskaj do nich dostęp przez FTP lub panel sterowania hostingu. Niektóre panele sterowania udostępniają dziennik błędów również przez swój interfejs.
Rozwiązanie 2: Wygeneruj na Nowo Plik .htaccess
Uszkodzony plik .htaccess to jedna z najczęstszych przyczyn błędu 500 na serwerach opartych na Apache. Plik znajduje się w katalogu głównym WordPressa, obok folderów wp-admin, wp-includes i wp-content.

Aby wygenerować go na nowo:
- Połącz się z witryną przez FTP lub menedżera plików hostingu.
- Zmień nazwę istniejącego pliku
.htaccessna.htaccess_backup, aby mieć kopię zapasową. - Utwórz nowy plik o nazwie
.htaccessi wklej do niego domyślne reguły przepisywania WordPressa:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Przeładuj witrynę. Jeśli przyczyną był uszkodzony plik .htaccess, błąd znika natychmiast.
Alternatywa przez panel WordPressa: Jeśli nadal masz dostęp do kokpitu, przejdź do Ustawienia > Bezpośrednie odnośniki i kliknij "Zapisz zmiany" bez wprowadzania żadnych zmian. WordPress automatycznie generuje na nowo plik .htaccess podczas tego zapisu.
Rozwiązanie 3: Zwiększ Limit Pamięci PHP
PHP przetwarza każde żądanie strony w ramach budżetu pamięci. Gdy wtyczka, motyw lub złożone zapytanie przekroczy ten budżet, serwer zwraca błąd 500. Z naszych testów na współdzielonych środowiskach hostingowych wynika, że wyczerpanie pamięci PHP jest najczęstszym wyzwalaczem po stronie serwera, jaki napotykamy, gdy błąd nie był poprzedzony żadnymi ostatnimi zmianami w witrynie.
Limit możesz zwiększyć na dwa sposoby:
Opcja A: Przez cPanel (jeśli Twój hosting go udostępnia)
- Zaloguj się do cPanel.
- Otwórz "Select PHP Version".
- Kliknij "Switch to PHP Options".
- Kliknij
memory_limiti zwiększ wartość do256lub512(MB), a następnie zapisz.
Opcja B: Przez wp-config.php

Otwórz wp-config.php i dodaj tę linię w pobliżu góry:
define('WP_MEMORY_LIMIT', '256M');
Zapisz plik i przeładuj witrynę. Jeśli przyczyną było wyczerpanie pamięci, błąd znika po zapisaniu.
Rozwiązanie 4: Wyłącz Wszystkie Wtyczki
Konflikty wtyczek to częsta pierwotna przyczyna błędu 500 w WordPressie. Jeśli Rozwiązanie 1 potwierdziło konflikt wtyczek w dzienniku debugowania lub jeśli nie możesz odczytać dziennika, wyłączenie wszystkich wtyczek i włączanie ich pojedynczo pozwala zidentyfikować winowajcę.
Jeśli masz dostęp do panelu WordPressa:
- Przejdź do sekcji Wtyczki w kokpicie.
- Zaznacz wszystkie wtyczki za pomocą pola wyboru u góry.
- Z listy rozwijanej "Operacje zbiorcze" wybierz "Wyłącz", a następnie kliknij "Zastosuj".

- Przeładuj witrynę. Jeśli błąd zniknął, włączaj wtyczki pojedynczo, przeładowując po każdej z nich, aż błąd pojawi się ponownie. Ostatnia włączona wtyczka jest winowajcą.
Jeśli nie masz dostępu do panelu WordPressa:
Połącz się przez FTP i zmień nazwę folderu wtyczek:
- Zmień nazwę
/wp-content/pluginsna/wp-content/plugins-disabled. - Przeładuj witrynę. Jeśli wróci, potwierdziłeś konflikt wtyczek.
- Zmień nazwę folderu z powrotem na
/wp-content/plugins. - Wyłączaj poszczególne wtyczki, zmieniając nazwy ich podfolderów (na przykład zmień nazwę
/wp-content/plugins/woocommercena/wp-content/plugins/woocommerce-disabled), a następnie przeładuj po każdej zmianie nazwy.
Rozwiązanie 5: Zainstaluj Ponownie Pliki Rdzenia WordPressa
Jeśli błąd pojawił się bez żadnej zmiany wtyczki lub motywu, przyczyną mogą być uszkodzone pliki rdzenia WordPressa. Możesz ponownie zainstalować rdzeń bez nadpisywania treści, wtyczek ani motywów.
- Pobierz najnowszą kopię WordPressa ze strony wordpress.org.

- Rozpakuj pobrane archiwum.
- Połącz się z serwerem przez FTP lub menedżera plików hostingu.
- Zmień nazwy istniejących folderów
/wp-admini/wp-includesna/wp-admin-backupi/wp-includes-backup.

- Prześlij nowe foldery
/wp-admini/wp-includesz rozpakowanego archiwum w to samo miejsce.

- Przeładuj witrynę. Jeśli przyczyną były uszkodzone pliki rdzenia, błąd znika po zakończeniu przesyłania.
Podczas tego procesu nie zastępuj pliku wp-config.php ani folderu wp-content. Te pliki przechowują dane logowania do bazy danych oraz wszystkie przesłane multimedia.
Rozwiązanie 6: Skontaktuj się z Dostawcą Hostingu
Jeśli żadne z pięciu powyższych rozwiązań nie usunęło błędu, problem najprawdopodobniej leży na poziomie serwera, a nie wewnątrz Twojej instalacji WordPressa. Przyczyny na poziomie serwera obejmują:
- Proces PHP-FPM, który uległ awarii lub zatrzymał się po cichu
- Błędną konfigurację Apache lub Nginx wprowadzoną podczas aktualizacji serwera
- Zmiany uprawnień plików, które blokują odczyt plików WordPressa przez PHP
- Limity zasobów na poziomie serwera niezwiązane z limitem pamięci PHP
Skontaktuj się z zespołem pomocy technicznej swojego hostingu i udostępnij odpowiednie linie z dziennika błędów serwera, który znalazłeś w Rozwiązaniu 1. Większość zarządzanych hostingów WordPress potrafi szybko zdiagnozować błędy 500 na poziomie serwera na podstawie dziennika.
Jeśli Twój hosting nie potrafi rozwiązać problemu lub jeśli błędy 500 często powracają przy normalnym obciążeniu, może być czas, aby rozważyć bardziej wydajne środowisko hostingowe dla wymagań Twojej witryny.
Co Zrobić, Gdy Żadne z Rozwiązań Nie Działa
Jeśli przeszedłeś przez wszystkie sześć rozwiązań, a błąd nadal występuje, użyj tej tabeli, aby zawęzić pozostałe możliwości:
| Objaw | Co sprawdzić |
|---|---|
| Dziennik debugowania jest pusty po włączeniu WP_DEBUG | Sprawdź dziennik błędów na poziomie serwera (ścieżka Apache lub Nginx z Rozwiązania 1); błąd PHP może nie docierać do warstwy dziennika WordPressa |
| Wszystkie wtyczki wyłączone, błąd nadal występuje | Przełącz się na domyślny motyw WordPressa (taki jak Twenty Twenty-Four) przez FTP, zmieniając nazwę folderu aktywnego motywu w /wp-content/themes/ |
| Błąd tylko w wp-admin, nie na stronie głównej | Wtyczka lub plik specyficzny dla administratora w /wp-content/mu-plugins/ może się wczytywać i zawodzić; sprawdź ten katalog |
| Błąd 500 pojawia się tylko na jednym adresie URL | Shortcode, pole niestandardowe lub blok specyficzny dla wpisu może wywoływać błąd krytyczny; włącz WP_DEBUG i odwiedź ten adres URL, aby przechwycić wpis w dzienniku |
| Hosting twierdzi, że nie ma błędu serwera | Zapytaj konkretnie o kondycję procesu PHP-FPM oraz o to, czy pula workerów PHP była ostatnio ponownie uruchamiana |