500 Internal Server Error oznacza, że serwer napotkał nieoczekiwany problem, który uniemożliwił mu zrealizowanie żądania. To ogólny kod dla błędów po stronie serwera, gdy nie pasuje żaden bardziej szczegółowy kod 5xx.
Przyczyna prawie nigdy nie jest widoczna z zewnątrz, bo serwery nie powinny ujawniać szczegółów wewnętrznych. Prawdziwy powód znajdziesz w logu błędów serwera, logu aplikacji lub usłudze śledzenia błędów: nieprzechwycony wyjątek, krytyczny błąd PHP, nieudane połączenie z bazą danych, błąd składni w .htaccess albo dyrektywa konfiguracyjna, której serwer nie rozumie.
Klient nie może naprawić błędu 500. Ponowna próba później może się udać, jeśli problem był tymczasowy.
Przykładowa odpowiedź
HTTP/1.1 500 Internal Server Error
Date: Fri, 06 Nov 2026 10:15:32 GMT
Server: Apache
Content-Type: text/html; charset=iso-8859-1
Content-Length: 273
Connection: close
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p>
</body></html> SEO i sprawdzanie przekierowań
Google początkowo traktuje błędy 5xx jako tymczasowe: Googlebot zwalnia indeksowanie, a już zaindeksowane strony przez jakiś czas pozostają w indeksie. Jeśli błędy się utrzymują, adresy URL wypadają z indeksu. Jeśli sam plik robots.txt zwraca błąd 5xx, Google tymczasowo traktuje całą witrynę jako zablokowaną i wstrzymuje indeksowanie; jeśli błąd trwa dłużej niż 30 dni, korzysta z ostatniej zapisanej kopii robots.txt.
Błąd 500 w łańcuchu przekierowań często wynika z wadliwej reguły przepisywania adresów. Apache zwraca na przykład 500, gdy reguły przepisywania powodują ponad 10 wewnętrznych przekierowań („Request exceeded the limit of 10 internal redirects”). Taka wewnętrzna pętla nigdy nie pojawia się jako przeskoki 3xx; narzędzie Wykrywanie pętli przekierowań znajduje pętle między adresami URL, a pętle wewnętrzne ujawniają się jako błąd 500.
Typowe przyczyny i zastosowania
- Nieprzechwycony wyjątek lub błąd krytyczny w aplikacji (PHP, Node.js, Python itd.).
- Nieprawidłowe dyrektywy lub błędy składni w
.htaccessalbo w konfiguracji serwera. - Nieprawidłowe uprawnienia lub właściciel plików skryptów.
- Wyczerpane zasoby, np.
memory_limitw PHP, lub nieudane połączenie z bazą danych. - Reguła przepisywania adresów, która zapętla się wewnętrznie.