Co jsou stavové kódy HTTP?

Stavové kódy protokolu HTTP jsou odpovědi ve formě třímístných čísel, které server vrací na požadavek klienta (prohlížeč či vyhledávač). Stavové kódy se dělí do pěti základních skupin, z nichž každá představuje jiný druh zprávy.

Kliknutím na tuto stránku ve svém prohlížeči jste našemu serveru odeslali desítky požadavků, aby načetl veškeré informace potřebné k jejímu správnému vykreslení. Vše ale proběhlo v tak krátkém okamžiku, že jste to ani nestihli zaregistrovat, a to právě díky těmto stavovým kódům.

Zkratka HTTP znamená “Hypertext Transfer Protocol”. Jedná se o protokol, pomocí kterého mezi sebou klienti a servery mohou komunikovat a vyměňovat si data. Stavové kódy jsou pak součástí tohoto komunikačního procesu.

Poznámka pro vyjasnění pojmů: V závislosti na kontextu budeme zaměnitelně využívat termíny “URL”, “stránka” a “obsah”. V konečném důsledku jde totiž ve všech případech o jistou formu obsahu.

Krátce k timeoutům a dalším chybám připojení

Timeout či chybu připojení, která nesouvisí s jednotlivými třídami stavových kódů HTTP, nelze považovat za odpověď serveru. Tyto chyby znamenají, že se klient se serverem vůbec nedokázal spojit.

Porozumět tomuto rozdílu je velmi důležité, avšak pro mnoho lidí je toto téma stále velmi matoucí. Pojďme si to tedy ukázat na pár příkladech:

  • Chyby, při kterých dojde k vypršení časového limitu připojení, jako je například hláška “This site can’t be reached” v Google Chromu, nejsou stavové kódy. Se serverem se totiž nepodařilo vůbec spojit, a nejedná se proto o odpověď serveru.
  • Chyby vzniklé při hledání DNS, které se v Google Chromu projevují například hláškou “This webpage is not available”, rovněž nelze považovat za odpovědi serveru, protože ke spojení klienta se serverem opět nedošlo, tentokrát vlivem problémů s DNS.

Jakmile se vám vrátí stavový kód, ve všech případech to znamená, že se klient se serverem spojil a dostal od něj odpověď.

Proč jsou stavové kódy HTTP tak důležité pro SEO?

Cílem SEO je přivádět organické návštěvníky, u kterých je vysoká pravděpodobnost, že se budou zajímat o služby či produkty, které nabízíte.

Abyste takovou návštěvnost mohli získávat, je nutné zajistit, aby crawleři vyhledávačů měli přístup k vašemu obsahu. Když si váš obsah vyžádají, měli by ideálně obdržet stavový kód 200 OK. Co naopak nechcete, je, aby se jim vrátily stavové kódy 5xx a 4xx, přičemž i kódy 3xx je dobré držet na minimu.

Crawleři vyhledávačů a webové stránky komunikují prostřednictvím HTTP. Pokud nedokážete řádně porozumět tomu, o čem se spolu baví, jak se chcete stát dobrými SEO konzultanty?

Dělat SEO a nerozumět stavovým kódům HTTP je jako řídit restauraci v cizí zemi, jejíž jazyk neovládáte. Budete pozorovat, že se kolem vás odehrává hodně věcí, ale ve skutečnosti nebudete vědět, co se děje, proč se to děje a jak to zlepšit.

Jak vypadá HTTP odpověď?

HTTP odpovědi zasílané webovými servery se zpravidla skládají ze dvou částí: hlavičky a těla.

Hlavička obsahuje stavový kód a další informace udávající například dobu, po kterou by měl klient danou odpověď uchovat v mezipaměti.

Uživateli se tato hlavička nezobrazí, avšak je to právě on, kdo určuje, jak má s odpovědí zacházet a jakým způsobem má zobrazit samotné tělo odpovědi (pokud je nějaké k dispozici). Pokud chcete zjistit, jaké HTTP hlavičky byly vráceny serverem, můžete použít nástroje jako Web Inspector a další.

Pomocí těla odpovědi pak dochází k vykreslení a zobrazení stránky uživateli. Ne všechny odpovědi však toto tělo musí obsahovat. Mezi odpovědi, které ho neobsahují, patří například přesměrování a také některé chyby.

Jak vypadají stavové kódy HTTP?

Pojďme se podívat na zjednodušený příklad požadavku, který váš prohlížeč vyslal, když jste kliknuli na tuto stránku:

GET /academy/http-status-codes/ HTTP/2

Tento požadavek se skládá ze tří částí:

  • GET: popisuje metodu protokolu HTTP, pomocí které lze získat požadovaná data ze serveru.
  • /academy/http-status-codes/: popisuje adresu URL, které se požadavek týká.
  • HTTP/2: udává, v jakém protokolu komunikace probíhá.

A zde je HTTP odpověď, kterou odeslal zpět náš server:

HTTP/2 200 OK

  • HTTP/2 – udává, v jakém protokolu komunikace probíhá.
  • 200 OK – požadavek byl úspěšný – tuto odpověď chcete dostat

S jakými stavovými kódy se v SEO nejčastěji setkáme?

Nejběžnější stavové kódy, se kterými se SEO konzultant při každodenní práci setkává, jsou následující:

Jak lze stavový kód zjistit?

Stavové kódy HTTP si můžete zobrazit přímo v prohlížeči pomocí zabudovaných nástrojů, nainstalovaných pluginů nebo třeba nástroje Kontrola adresy URL v Google Search Console.

Kontrolu pomocí zmíněných metod je však nutné provádět stránku po stránce, což znamená, že pokud chcete zkontrolovat větší množství URL adres, jsou tyto metody pomalé a neefektivní. A ještě horší jsou pak v případě, že dané URL adresy chcete monitorovat. Pokud je toto i váš případ, můžete klidně rovnou přejít k další kapitole.

Kontrola stavového kódu v prohlížeči pomocí zabudovaných nástrojů

Způsob kontroly stavového kódu je napříč různými prohlížeči velmi podobný. Každý prohlížeč totiž nabízí zabudované nástroje, které ji umožňují:

  • Google Chrome/Brave: otevřete Chrome DevTools a zvolte záložku Network, která zobrazuje aktivitu sítě. Více informací zde.
  • Firefox: otevřete Inspector a zvolte záložku Network, která zobrazuje aktivitu sítě. Více informací zde.
  • Safari: otevřete Web Inspector a zvolte záložku Network, která zobrazuje aktivitu sítě. Více informací zde.
  • Edge: otevřete Developer Tools a zvolte záložku Network, která zobrazuje aktivitu sítě. Více informací zde.
Screenshot záložky Network nástroje Chrome DevTools zobrazující stavové kódy HTTP
Kontrola stavového kódu HTTP v záložce Network nástroje Chrome DevTools

Kontrola stavového kódu pomocí pluginu

Pokud jsou pro vás zabudované nástroje příliš obtížné či nedostatečně uživatelsky přívětivé, můžete si do prohlížeče nainstalovat plugin.

Z pluginů pro Chrome je například velmi oblíbený Redirect Path od firmy Ayima.

Screenshot pluginu Ayima Redirect Path zobrazující stavový kód 307 pro interní přesměrování
Plugin Ayima Redirect Path zobrazující stavové kódy pro požadavek na HTTP variantu domény Facebooku.

Kontrola stavového kódu v Google Search Console

V Google Search Console můžete o stavový kód požádat pomocí nástroje Kontrola adresy URL, kde se zobrazí jako hodnota “Page fetch.”

Když například zadáme URL adresu https://www.contentkingapp.com/academy/protect-staging-environment/ a otevřeme panel “Coverage”, vidíme, že u Page Fetch hodnotu “Successful”, která ve skutečnosti představuje stavový kód 200 OK.

Screenshot z Google Search Console, který ukazuje, že načítání URL adresy proběhlo úspěšně.
Google Search Console ukazuje, že se mu úspěšně podařilo načíst adresu URL.

V případě, že námi požadovaná URL adresa neexistuje, zobrazí se nám následující:

Screenshot z Google Search Console, který ukazuje, že adresu URL se nepodařilo načíst.
Google Search Console ukazuje, že adresu URL se nepodařilo načíst, protože server vrátil chybu 404 Not Found.

Jak lze stavové kódy monitorovat?

Pomineme-li nešťastné problémy se servery, přesouvání, konsolidace či úplné odstraňování obsahu vždy vede k četným změnám stavových kódů HTTP. A kontrolovat je stránku po stránce skutečně není ideálním řešením.

Z toho důvodu doporučujeme stavové kódy svých URL adres monitorovat. Zde vám může pomoci právě ContentKing, který vás upozorní vždy, když vaše důležité stránky začnou přesměrovávat (3xx) nebo vracet chybu klienta (4xx) či serveru (5xx).

Screenshot upozornění ContentKingu, které ukazuje, že u velkého počtu URL adres došlo ke změně stavového kódu.
Upozornění ContentKingu, které ukazuje, že u velkého počtu URL adres došlo ke změně stavového kódu.

A díky nepřetržitému monitoringu můžete samozřejmě vidět také stavový kód jakékoli URL v reálném čase.

Screenshot přehledu stránek v ContentKing zobrazující adresy URL a jejich stavové kódy.
Přehled stránek v ContentKingu zobrazující adresy URL a jejich stavové kódy.

Typy stavových kódů

Stavové kódy HTTP se dělí do pěti skupin:

Stavové kódy HTTP 1xx

Stavové kódy HTTP 1xx jsou pouze informační. Uvádí, že požadavek byl přijat a pochopen, ale dosud nebyl zpracován.

Touto skupinou stavových kódů se zde zabývat nebudeme, protože se s nimi setkáte jen velmi zřídka.

Více informací:

Stavové kódy HTTP 2xx

Stavové kódy HTTP 2xx značí úspěšné požadavky. Vše šlo podle plánu. Z hlediska SEO je nejdůležitějším stavovým kódem v této třídě kód 200.

Stavový kód HTTP 200 OK

Co stavový kód HTTP 200 OK znamená?

Když server jako odpověď odešle stavový kód 200, říká tím klientovi, že jeho požadavek byl úspěšně zpracován a společně s kódem posílá také požadovaný obsah.

Mějte tedy na paměti, že se nejedná o chybový kód. Jak napovídá již samotné označení, stavový kód 200 OK znamená, že vše proběhlo OK!

Příklad správného využití stavového kódu 200

Když je odeslán požadavek na existující stránku a odpovědí je tento stavový kód.

Příklad nesprávného využití stavového kódu 200

Když je odeslán požadavek na neexistující stránku a namísto stavového kódu 404 nebo 410 je odpovědí právě kód 200. Tento jev je označován jako falešná chyba 404 (soft 404).

Více informací:

Stavové kódy HTTP 3xx

Stavové kódy 3xx indikují, že je potřeba provést další úkony. Požadavek byl přijat, ale zatím nelze vyřídit. Když klient obdrží stavový kód 3xx, musí odeslat nový požadavek do místa, kam je původní stránka přesměrována. Všechny stavové kódy v této třídě tak udávají určitý druh přesměrování.

Jedná se o případy, kdy je odeslán požadavek na URL A, avšak URL A je přesměrována na URL B, a požadavek by měl tedy ve skutečnosti být odeslán na URL B.

Přesměrování jsou jako náplasti. Používají se, když něco potřebujete rychle opravit. Přelepování několika náplastí přes sebe však nefunguje, a to samé platí pro přesměrování. Nevytvářejte řetězová přesměrování – přesměrovávejte vždy na cílovou destinaci, nikoli na další přesměrování.

Na základě důležitosti pro SEO probereme v rámci této třídy následující stavové kódy:

Stavový kód HTTP 301: Moved permanently

Co stavový kód HTTP 301 znamená?

Stavový kód 301, nebo také “přesměrování 301”, uvádí, že daný obsah byl trvale přesunut do jiného umístění. Daný požadavek a všechny budoucí požadavky tak musí být přesměrovány na novou URL.

Protože jde o trvalé přesměrování, všechny signály z přesměrované URL se přenáší na cílovou URL. Dále je dobré mít na paměti, že prohlížeče si toto přesměrování zpravidla uloží do mezipaměti, aby v budoucnu již nemusely odesílat o jeden požadavek navíc, což vede k rychlejšímu načtení stránky, a tím pádem také k lepšímu uživatelskému zážitku.

Ilustrace přesměrování 301 zobrazující trvale přesunutý obsah.
Přesměrování 301: trvale přesunutý obsah

Příklad správného využití stavového kódu 301

Když dojde k migraci webu z HTTP na HTTPS a HTTP verze všech URL adres jsou přesměrovány na příslušné HTTPS verze. Pokud chcete úspěšně provést migraci, jsou přesměrování 301 naprostou nezbytností.

Příklad nesprávného využití stavového kódu 301

Když je stránka pouze dočasně nedostupná.

More information:

Stavový kód HTTP 302: Found / Moved temporarily

Co stavový kód HTTP 302 znamená?

Stavový kód 302, nebo také “přesměrování 302”, uvádí, že daný obsah byl dočasně přesunut do jiného umístění.

Protože jde pouze o dočasné přesměrování, nepřenáší se na cílovou URL adresu žádné signály poularity a relevance. Dále je dobré mít na paměti, že vyhledávače mohou s přesměrováním 302 často zacházet stejně jako s 301.

Jednoduše řečeno, pokud je URL adresa přesměrována pomocí kódu 302 delší dobu, začnou vyhledávače považovat toto přesměrování za trvalé.

Ilustrace přesměrování 302 zobrazující dočasně přesunutý obsah.
Přesměrování 302: dočasně přesunutý obsah

Příklad správného využití stavového kódu 302

Děláte reklamní kampaň a po krátké časové období chcete posílat příchozí návštěvníky z URL A na URL B. Když kampaň po pár týdnech skončí, přesměrování odstraníte.

Příklad nesprávného využití stavového kódu 302

Když po provedení migrace webu použijete přesměrování 302 namísto 301. Signály ze starých URL adres nejsou přeneseny na nové URL adresy, které tím pádem nebudou tak úspěšné jako ty staré.

Více informací:

Stavový kód HTTP 303: See Other

Co stavový kód HTTP 303 znamená?

Stavový kód 303, nebo také “přesměrování 303”, uvádí, že server přesměrovává URL adresu požadavku na jinou URL adresu. Využívá se například v situaci, kdy chcete zajistit, aby uživatel omylem opakovaně neodeslal formulář kliknutím na tlačítko “Zpět” ve svém prohlížeči. Přesměrování 303 totiž klientovi říká, aby na dočasnou URL adresu odeslal další požadavek pomocí metody HTTP GET.

Když Gary Illyes z Googlu dostal otázku, zda přesměrování 303 přenáší signály popularity, odpověděl “Ano”. Přesměrování 303 je tedy dobré používat pro formuláře, nepoužívejte je však pro přesměrování obsahu, který s formuláři nemá co dočinění.

Proč?

Google sice potvrdil, že přesměrování 303 signály popularity a relevance přenáší (podobně jako 301), avšak již nezmínil, že v případě přesměrování 303 trvá tento přenos mnohem déle.

Screenshot twitterové konverzace mezi Garym Illyesem a Andym Kuiperem na téma přenosu signálů pomocí přesměrování 303.

Příklad správného využití stavového kódu 303

Máte na webu kontaktní formulář a chcete zajistit, aby uživatelé omylem opakovaně neodesílali formulář kliknutím na tlačítko “Zpět” ve svém prohlížeči.

Příklad nesprávného využití stavového kódu 303

Když dojde k trvalému přesunutí obsahu a namísto přesměrování 301 použijete právě 303.

Více informací:

Stavový kód HTTP 304: Not modified

Co stavový kód HTTP 304 znamená?

Stavový kód 304, nebo také “přesměrování 304”, uvádí, že požadovaný obsah nebyl od doby posledního požadavku změněn, a nebude tak klientovi vrácen, protože může použít verzi uloženou v mezipaměti.

Příklad: V pondělí 27. května 2019 v 9:00 jsme navštívili jistou stránku. Ve čtvrtek 30. května chceme tuto stránku navštívit znovu, ale nejprve se ptáme serveru, zda se na ní od naší poslední návštěvy něco změnilo. Tento dotaz lze zahrnout do požadavku přidáním následující podmínky:

If-Modified-Since: Mon, 27 May 2019 09:00:00 GMT

Příklad správného využití stavového kódu 304

Vracení stavového kódu 304 uživateli v případě, že obsah stránky od jeho poslední návštěvy nebyl změněn, je doporučeným postupem. Z hlediska crawlera vyhledávače přináší tento stavový kód největší užitek velkým webům (cca. 100 000 a více stránek). U takto velkých webů je velmi důležité zajistit, aby crawleři mohli využívat crawl budget co nejefektivněji a zbytečně jím neplýtvali.

Příklad nesprávného využití stavového kódu 304

Vracení stavového kódu 304 i přesto, že ke změně stránky ve skutečnosti došlo.

Více informací:

Stavový kód HTTP 307: Temporarily Redirect / Internal Redirect

Co stavový kód HTTP 307 znamená?

Stavový kód 307, nebo také “přesměrování 307”, je ekvivalentem přesměrování 302 v protokolu HTTP 1.1. Na rozdíl od přesměrování 302 však zaručuje, že nedojde ke změně metody HTTP. Tento stavový kód byl zaveden právě proto, aby zajistil, že metoda HTTP využitá při odeslání požadavku nebude změněna, když server odpoví přesměrováním. Když tedy požadavek použije například metodu HTTP GET, bude tato metoda zachována také při přesměrování.

Stavový kód 307 jako interní přesměrování

Přesměrování 307 se využívá také jako interní přesměrování v případech, kdy prohlížeč ví, že je vyžadováno HTTPS. O nutnosti HTTPS se prohlížeč může dozvědět buďto z předchozích požadavků, nebo proto, že se daná doména nachází na seznamu HSTS Preload list.

HSTS Preload list je seznam domén, které používají HTTPS. I přesto, že uživatel požádá o HTTP verzi adresy URL, prohlížeč pomocí interního přesměrování 307 požádá o HTTPS verzi, a předejde tak nadbytečným a nezabezpečeným požadavkům.

Tento seznam je využíván napříč všemi prohlížeči. Více informací k němu najdete na této stránce.

Příklad správného využití stavového kódu 307

Když interní přesměrování 307 zajišťuje, aby připojení zůstalo zabezpečené.

Příklad nesprávného využití stavového kódu 307

Když dojde k trvalému přesunutí obsahu a namísto přesměrování 301 použijete právě 307.

Více informací:

Stavový kód HTTP 308: Permanent Redirect

Co stavový kód HTTP 308 znamená?

Stavový kód 308, nebo také “přesměrování 308”, je ekvivalentem přesměrování 301 v protokolu HTTP 1.1. a neumožňuje změnu metody požadavku z POST na GET.

Tento stavový kód má dva háčky, které je nutné mít na paměti:

  1. V současné době není příliš jasné, do jaké míry přesměrování 308 přenáší autoritu, a proto doporučujeme využít raději přesměrování 301.
  2. Přesměrování 308 není podporováno prohlížečem Edge ve Windows 7 a Windows 8.1, a jeho používání vám v této chvíli (červen 2019) proto nedoporučujeme, pokud tedy nechcete části svých návštěvníků znepříjemnit uživatelský zážitek.

Abychom to tedy shrnuli, používání stavového kódu 308 v současné době nedoporučujeme.

Více informací:

Stavové kódy HTTP 4xx

Stavové kódy 4xx značí, že na straně klienta nastala chyba. Možné příčiny této chyby jsou následující: odesílatel požadavku není oprávněn požadovat danou stránku, požadavek na neexistující stránku a odesílání příliš velkého množství požadavků.

Na základě důležitosti pro SEO probereme v rámci této třídy následující stavové kódy:

Stavový kód HTTP 401: Unauthorized

Co stavový kód HTTP 401 znamená?

Stavový kód 401 znamená, že HTTP autentizace selhala. Požadovaná stránka buď vyžaduje přihlašovací jméno a heslo, nebo uživateli neumožňuje přístup na základě jeho IP adresy.

S tímto stavovým kódem se zpravidla setkáte, když se crawleři snaží dostat do vašich testovacích prostředí, kde jste však v rámci zabezpečení implementovali HTTP autentizaci. Tento kód je zde tedy žádoucí odpovědí, kterou chcete vidět. Jinak by totiž vyhledávače mohly vaše testovací prostředí indexovat, a třetí strany by tak mohly získat přístup k citlivým informacím.

Příklad správného využití stavového kódu 401

Máte zavedenou HTTP autentizaci a nežádoucí požadavky odmítáte pomocí stavového kódu 401.

Příklad nesprávného využití stavového kódu 401

Použití stavového kódu 401 namísto 403 v případě selhání autorizace.

Více informací:

Stavový kód HTTP 403: Forbidden

Co stavový kód HTTP 403 znamená?

Stavový kód 403 uvádí, že požadovat danou adresu URL je zakázáno. Využívá se zpravidla k trvalému zabránění crawlerům, kteří na tuto nežádoucí adresu zabloudí, v odesílání požadavků. Tento kód je dále vracen serverem rovněž v případě, že klient poskytne chybné přihlašovací údaje.

Je však důležité mít na paměti, že stavové kódy 401 a 403 nejsou ekvivalentní a využívají se v odlišných situacích.

Příklad správného využití stavového kódu 403

“Splašení” crawleři posílají požadavky na příliš mnoho URL adres vašeho webu, a vy je pomocí odpovědí se stavovým kódem 403 zastavíte.

Příklad nesprávného využití stavového kódu 403

Použití stavového kódu 403 namísto 401 k oznámení, že klient nemá povolení odesílat požadavky.

Více informací:

Stavový kód HTTP 404: Not Found

Co stavový kód HTTP 404 znamená?

Stavový kód 404, či zkráceně “chyba 404”, značí, že požadovaný soubor nebyl nalezen. Na rozdíl od stavového kódu 410 však explicitně neříká, že se daný soubor na daném místě dříve nacházel. Chyba 404 říká následující: “Zdravím, to, co hledáte, zde bohužel (již) není.’’

Většina běžných uživatelů se na internetu nejčastěji setkává právě s tímto kódem, protože se zobrazí vždy, když kliknou na nefunkční odkaz. Ten vznikne například v případě, že majitel webu odstraní jistou stránku, na kterou však stále další stránky odkazují. Lze tedy říci, že problémem ve skutečnosti není samotná chyba 404, ale odkazy vedoucí na ni.

Chyby 404 se mohou občas nesprávně objevit také u existujícího obsahu, k čemuž zpravidla dochází vlivem vývojářských chyb či probíhající údržby serveru. Pokud tedy vaše URL adresy vrací chybu 404, aniž byste jejich obsah odstranili či aniž by kdy existoval, něco je špatně.

Pokud vyhledávače u určité URL adresy jednou narazí na chybu 404, ze svého indexu ji neodstraní. Pokud však na tuto chybu narazí opakovaně, může k vyřazení dané URL z indexu skutečně dojít. Z toho důvodu je potřeba chyby 404 monitorovat. Když URL adresa trvale vrací chybu, proč by ji vyhledávače měly nechávat ve svém indexu?

Pomineme-li vyhledávače, chyby 404 mají negativní dopad také na uživatelský zážitek, protože vytváří slepé uličky. Mějte je proto pod dohledem!

Příklad správného využití stavového kódu 404

Vracení stavového kódu 404 pro všechny požadované URL adresy, které neexistují a ani nikdy neexistovaly.

Příklad nesprávného využití stavového kódu 404

Vracení stavového kódu 404 na stránkách, které ve skutečnosti existují a fungují.

Více informací:

Stavový kód HTTP 410: Gone

Co stavový kód HTTP 410 znamená?

Stavový kód 410, či zkráceně “chyba 410”, značí, že požadovaná URL adresa byla trvale odstraněna. Tento kód říká, že daná URL adresa dříve existovala, ale byla záměrně odstraněna a již nikdy se nevrátí.

Když vyhledávače narazí na chybu 410, danou URL adresu poměrně rychle vyřadí ze svého indexu. Z pohledu SEO se tak jedná o mocný nástroj, který byste měli ovládat – samozřejmě s opatrností.

Příklad správného využití stavového kódu 410

Vracení stavového kódu 410 u všech URL adres, které byly záměrně odstraněny a už se nikdy nevrátí.

Příklad nesprávného využití stavového kódu 410

Vracení stavového kódu 410 u URL adres, které jsou pouze dočasně nedostupné.

Více informací:

Stavový kód HTTP 418: I’m a teapot

Co stavový kód HTTP 418 znamená?

Stavový kód 418 je aprílový žert z roku 1998, který se zachoval dodnes. 1. dubna 1998 byl v rámci RFC 2324 definován protokol The Hyper Text Coffee Pot Control Protocol (HTCPCP), který měl sloužit pro řízení, monitoring a diagnostiku konvic na kávu.

Nejedná se tedy o skutečný stavový kód, který by měl nějakou funkci, ale Google ho například občas používá jako Easter Egg.

Více informací:

Stavový kód HTTP 429: Too many requests

Co stavový kód HTTP 429 znamená?

Stavový kód 429, zkráceně také “chyba 429”, značí, že klient během určitého časového okna odeslal serveru příliš mnoho požadavků.

Vzhledem k tomu, že jde o případy, kdy klienti odesílají příliš mnoho požadavků, můžeme chybu 429 považovat za dočasnou verzi stavového kódu 403. Pokud požadavky navzdory vracení chyby 429 nepřestanou chodit, může se server rozhodnout nahradit ji stavovým kódem 403.

Příklad správného využití stavového kódu 429

Klient odešle požadavky na příliš mnoho URL adres v určitém časovém okně a server mu prostřednictvím stavového kódu 429 jasně naznačí, že by měl zpomalit.

Příklad nesprávného využití stavového kódu 429

Používání stavového kódu 429 namísto 403 k zastavení zbloudilých crawlerů.

Více informací:

Stavový kód HTTP 430: Request Header Fields Too Large (Shopify)

Co stavový kód HTTP 430 znamená?

Stavový kód 430 je neoficiální a neměl by být využíván.

Zmiňujeme ho zde proto, že platforma Shopify tento stavový kód začala nesprávně využívat namísto kódu 429.

Když tedy monitorujete web běžící na platformě Shopify a dostáváte chyby 430, znamená to, že požadujete příliš velké množství URL adres během určitého časového okna. V tomto případě je nejlepším postupem snížit rychlost monitorování.

Příklad správného využití stavového kódu 430

Žádné správné využití neexistuje.

Příklad nesprávného využití stavového kódu 430

Platforma Shopify, která stavový kód 430 používá namísto kódu 429.

Více informací:

Stavový kód HTTP 451: Unavailable for Legal Reasons

Co stavový kód HTTP 451 znamená?

Stavový kód 451, či zkráceně “chyba 451”, značí, že požadovaná URL adresa není dostupná z právních důvodů. Tento kód bývá uplatněn v případech, kdy jste například dostali nařízení či jste byli donuceni určitou stránku stáhnout. Číslo tohoto stavového kódu odkazuje na knihu 451 stupňů Fahrenheita.

V mnoha zemích využívají stavový kód 451 také poskytovatelé internetového připojení, kteří jeho prostřednictvím zamezují uživatelům přístup například na nelegální torrentové weby.

Když klient tuto odpověď obdrží, měl by společně s ní dostat také vysvětlení, proč daný obsah není dostupný, na základě jaké legislativy či předpisů a na co konkrétně se tato legislativa vztahuje.

Příklad správného využití stavového kódu 451

Někdo nezákonně okopíroval obsah jiného webu a následně mu bylo nařízeno ho odstranit. Klientovi tak vrací chybu 451 společně s vysvětlením situace.

Příklad nesprávného využití stavového kódu 451

Vracení chyby 451 uživatelům z Evropského hospodářského prostoru (EHP), kteří požadují soubory z webů mimo tento prostor, ze strachu z GDPR.

Screenshot webu pilotonline.com, který nesprávně vrací stavový kód HTTP 451
Web pilotonline.com nesprávně vrací stavový kód HTTP 451

Více informací:

Stavové kódy HTTP 5xx

Stavové kódy 5xx jsou vraceny, když klient odešle platný požadavek, ale server ho z nějakého důvodu není schopen zpracovat. Web může být v dané chvíli například přetížený nebo dočasně nedostupný kvůli údržbě.

Když vyhledávače při crawlování webu opakovaně naráží na chybu5xx (nebo také chybu 429), mohou udělat několik věcí, z nichž žádná není dobrá pro SEO:

  • Mohou si odvodit, že server nedokáže zvládnout tolik požadavků, a tak zpomalí crawlování, což v zásadě znamená, že vám přidělí nižší crawl budget.
  • Protože mají za to, že se jedná o trvalé problémy, mohou rovněž snížit hodnotu stránek, nebo je dokonce ze vyřadit svého indexu úplně. Cílem vyhledávačů je poskytnout uživatelům dobrý uživatelský zážitek a chyby 5xx mají (podobně jako chyby 4xx) přesně opačný efekt.

V rámci této skupiny probereme následující stavové kódy:

Stavový kód HTTP 500: Internal Server Error

Co stavový kód HTTP 500 znamená?

Stavový kód 500, či zkráceně “chyba 500”, značí, že server měl problém se zpracováním požadavku, avšak není schopen přesně určit, o jaký problém šlo.

Příklad správného využití stavového kódu 500

Při zpracovávání požadavku se vyskytla neočekávaná chyba, kterou nelze označit žádným z ostatních kódů 5xx.

Příklad nesprávného využití stavového kódu 500

Vracení chyby 500 přesto, že server dokáže přesně určit, kde je problém, a mohl vrátit konkrétnější odpověď.

Více informací:

Stavový kód HTTP 503: Service Unavailable

Co stavový kód HTTP 503 znamená?

Stavový kód 503, či zkráceně “chyba 503”, značí, že server je dočasně nedostupný a jeho dostupnost bude později obnovena. K tomuto případu může dojít například během plánované údržby (ačkoli to důrazně nedoporučujeme) nebo při přetížení serveru.

Do odpovědi s chybou 503 je možné zahrnout hodnotu “Retry-After”, která v zásadě říká: “Zkuste to později, v té době již budu moci váš požadavek vyřídit.”

Příklad správného využití stavového kódu 503

Při zpracovávání požadavku se vyskytla neočekávaná chyba, kterou nelze označit žádným z ostatních kódů 5xx.

Příklad nesprávného využití stavového kódu 503

Vracení chyby 503 s hodnotou “Retry-After” obsahující časový údaj, který buď již proběhl, nebo je naopak v příliš daleké budoucnosti.

Více informací:

Stavový kód HTTP 524: A timeout occurred (Cloudflare)

Co stavový kód HTTP 524 znamená?

Stavový kód 524 oficiálně neexistuje. Zavedla ho firma Cloudflare, která ho vrací v případě, že dojde k timeoutu požadavku na straně origin serveru. Tento kód tedy znamená, že chyba není na straně Cloudflare, ale na straně příslušného origin serveru, ze kterého uživatel požaduje data.

V případě tohoto stavového kódu je vcelku pochopitelné, že ho firma Clouflare zavedla. Když totiž stavové kódy vznikaly, firmy jako Cloudflare ještě vůbec neexistovaly.

Screenshot zobrazující chybu 524 vrácenou platformou Cloudflare
Cloudflare vrací chybu 524

Více informací:

Pár slov na závěr

Stavové kódy HTTP hrají zásadní roli v rychlé a efektivní komunikaci mezi klientem a serverem. Každý SEO konzultant by měl znát zpaměti alespoň ty nejběžnější z nich. Tato znalost mu pomůže rychleji diagnostikovat problémy, což jeho práci značně zefektivní.

Zde je seznam těch nejběžnějších stavových kódů:

  • 200 OK
  • 301 Moved permanently
  • 302 Found / Moved temporarily
  • 404 Not Found
  • 410 Gone
  • 503 Service Unavailable

Naučte se je!

Hodně štěstí a pokud máte za to, že jsme na nějaký stavový kód důležitý pro SEO zapomněli, určitě nám dejte vědět!

Použité zdroje

Další zdroje, které jsme pro tento článek využili:

Získejte zkušební verzi na 14 dní zdarma

Začněte během 20 vteřin

Vložte platnou doménu, prosím (www.priklad.cz).
  • Platební karta není potřeba
  • Není třeba žádná instalace
  • Bez závazků