Co znamená chyba HTTP 500 a co s ní dělat

Autor: Samuel Krištof

HTTP 500 (Internal Server Error) je stavový kód, kterým server říká, že se mu při zpracování požadavku stalo něco neočekávaného a stránku nenačetl. Podle MDN je to obecná odpověď pro případy, kdy server nemá po ruce konkrétnější kód z řady 5xx. Sama o sobě proto neprozradí, co se pokazilo.

Obsah článku

Kde je tedy zakopaný pes?

Chyba je vždy na straně webu. I když za ní stojí třeba špatně upravený soubor .htaccess nebo stará verze PHP (jazyk, ve kterém běží třeba WordPress), pořád jde o nastavení serveru, ne o prohlížeč návštěvníka.

Pokud ji vidíte na cizím webu, stačí vám vyzkoušet tři rychlé kroky. Pokud padá váš web, pokračujte rovnou k diagnostice. Krátký výpadek Google přežije, jen bude váš web chvíli procházet pomaleji.

Vidíte ji na cizím webu

S chybou na cizím webu toho moc nenaděláte. Zkusit můžete tři věci:

  • Obnovit stránku (F5).

Když šlo jen o krátké zaváhání serveru, napodruhé se načte.

  • Vrátit se za pár minut.

Správce webu o výpadku často už ví a opravuje ho.

  • Otevřít ji z mobilu na datech.

Když nejde ani tam, je problém opravdu na straně webu a zbývá jen počkat.

Chyba 500 na vašem webu

Opravu nejvíc urychlí dvě věci:

  1. ověřit, co přesně padá,
  2. správnému člověku poslat správné informace.

Zní to jednoduše, co? :)

Zjistěte, co přesně padá

  1. Celý web, nebo jen část?

    Otevřete homepage a dvě tři další stránky. Když padá jen jeden typ stránky (třeba detail produktu), chyba je v konkrétním kódu, ne v celém serveru.

  2. Je to opravdu 500?

    V Chromu otevřete nástroje pro vývojáře (F12), kartu Network a stránku obnovte. Ve sloupci Status uvidíte číslo. Druhá cesta vede přes Google Search Console. Nástroj Kontrola adresy URL a tlačítko „Otestovat publikovanou adresu URL“ ukážou, jestli stránku načte i Google.

  3. Co se naposledy měnilo?

    Aktualizace pluginu, nová šablona, přechod na novější PHP nebo úprava .htaccess. Často je to přímo odpověď.

Nejčastější příčiny

PříčinaTypický spouštěčKdo opraví
Chyba v kódu webu nebo pluginuaktualizace, nový plugin nebo šablonavývojář
Nekompatibilní verze PHPpřechod na novější PHP u hostinguvývojář (úprava kódu), hosting (vrácení verze)
Chybný soubor .htaccessruční úprava, plugin pro přesměrování nebo cachevývojář
Vyčerpaná paměť pro PHPimport dat, náročný plugin, víc návštěv najednouhosting nebo vývojář
Nedostupná databázevýpadek databázového serveru, změněné přihlašovací údajehosting
Špatná oprávnění souborůstěhování webu, ruční nahrání souborůhosting nebo vývojář

Přesnou příčinu najde vývojář v chybovém logu serveru (error log). Bez něj se jen hádá.

Co napsat hostingu nebo vývojáři

Čím přesnější zpráva, tím rychlejší oprava. Stačí pět údajů:

Od kdy: 20. 10. v 9:40, trvá dosud (nebo: jen chvílemi)
Co padá: celý web / jen vasweb.cz/produkty/
Kód: 500, ověřeno v prohlížeči a v Search Console
Co se měnilo: včera aktualizace pluginu pro formuláře
Prosím: kontrolu error logu a opravu

Co chyba 500 udělá s Googlem

Krátký výpadek vaše pozice nepoloží. Google v dokumentaci popisuje, co dělá, když server vrací chyby 5xx:

  • Zpomalí procházení.

Googlebot (robot, kterým Google prochází weby) začne procházet web pomaleji, a to tím víc, čím víc adres chybu vrací.

  • Zaindexované stránky zatím nechá.

Obsah chybové odpovědi ignoruje, ale stránku hned z indexu nevyřadí.

  • Při trvalé chybě stránky vyřadí.

Adresy, které vracejí chybu serveru dlouhodobě, postupně vypadnou z indexu.

  • Po opravě zase zrychlí.

Jakmile server znovu odpovídá kódem 200, Google tempo procházení postupně zvyšuje.

V Search Console takové adresy najdete v přehledu Indexování stránek pod důvodem „Chyba serveru (5xx)“. Nápověda Search Console upozorňuje, že chyby serveru můžou být přechodné, takže živý test v Kontrole adresy URL projde, i když Googlebot předtím na chybu narazil. Jestli server padá opakovaně, ukáže přehled Statistiky procházení.

Přehled Indexování stránek v Search Console s důvodem Chyba serveru (5xx)

Co výpadek stojí firmu

SEO je u chyby 500 ten menší problém. Formuláře nechodí, objednávku nejde dokončit a reklama posílá lidi na chybovou stránku. Google Ads podle svých zásad cílovou stránku s chybovým kódem serveru nepovoluje, ale než reklamu zastaví, platíte kliky, ze kterých poptávka nepřijde. Proto se vyplatí hlídat dostupnost webu automaticky a nečekat, až se ozve zákazník.

500 nebo 503

Při plánované údržbě nebo přetížení serveru je správný kód 503. Podle MDN říká, že web je nedostupný jen dočasně, a server k němu může přidat odhad, kdy se vrátí. Rozdíly obou kódů rozebíráme na stránce HTTP 503.

Kdo vám s tím pomůže

Pokud vám web padá opakovaně, domluvte si schůzku a projdeme to spolu.

Domluvit schůzku

Časté otázky

Co je HTTP status 400?

Kód 400 (Bad Request) znamená, že chyba je v požadavku, třeba v poškozené adrese. U kódu 500 je požadavek v pořádku a selže server.

Co je HTTP?

HTTP je protokol, kterým si prohlížeč a server posílají stránky. Každá odpověď nese stavový kód, třeba 200 (v pořádku) nebo 500 (chyba serveru).

Proč se chyba 500 objevuje jen na některých stránkách?

Protože selhává konkrétní kód, třeba jedna šablona nebo plugin, a ne celý server. Vývojáři pošlete právě tyhle adresy.