Soft 404: co to je a proč škodí SEO/AEO
Soft 404 je stav, kdy stránka vypadá jako „nenalezená“ nebo „prázdná“, ale server přesto vrací kód 200 OK. Vyhledávače takovou URL považují za bezhodnotovou (nebo neexistující), zbytečně na ni vynakládají crawl budget a mohou ji dlouhodobě omezovat ve výsledcích. Pro AIO/AEO (Answer/AI Experience Optimization) navíc vzniká riziko, že asistenční systémy dostanou nejednoznačný signál o dostupnosti a kvalitě obsahu.
Typické scénáře vedoucí k Soft 404
- Prázdné kategorie, filtry a vyhledávání (0 produktů/0 výsledků) s textem „Nenašli jsme nic“, ale s kódem 200.
- Vypršené produkty, články nebo inzeráty zobrazené bez obsahu, případně jen s oznámením „Tento produkt již neprodáváme“ a kódem 200.
- Chybové šablony (404/410) implementované vizuálně, ale bez správného HTTP kódu.
- Masové přesměrování na domovskou stránku (např. z neexistujících URL) přes kód 200 s odlišným obsahem/šablonou – vyhledávač to vyhodnotí jako Soft 404.
- Neúmyslné JS renderování, kdy klientský kód nevrátí obsah (chyba API, blokované skripty), avšak dokument dostane kód 200.
- CDN/custom error stránky vracející 200 při chybách na edge vrstvě (např. „Sorry, something went wrong“ s kódem 200).
Negativní dopady na indexaci a výkon
- Plýtvání crawl budgetem: robot tráví čas na URL, které nemají hodnotu, a ignoruje důležitější stránky.
- Porušená interní autorita: interní odkazy směřují na „nulový“ obsah s kódem 200, což zhoršuje tok SEO signálů.
- Kolísání viditelnosti: vyhledávač může URL střídavě indexovat a vylučovat, což způsobuje nestabilitu v pozicích ve výsledcích vyhledávání.
- Hreflang a kanonikalizace: Soft 404 narušuje hreflang klastery a zvyšuje riziko chybné kanonikalizace.
Jak Soft 404 rozpoznávají vyhledávače
- Nesoulad mezi obsahem a záměrem: stránka deklaruje 200 OK, ale text, struktura nebo šablona naznačují „nenalezeno/bez obsahu“.
- Extrémně nízký poměr unikátního obsahu vůči šabloně: výrazná dominance navigace a minimální množství textu.
- Sémantické signály: fráze typu „nenalezeno“, „žádné výsledky“, „stránka neexistuje“ bez alternativní hodnoty.
- Ostré změny obsahu (např. vypršení produktu) bez správného kódu 404/410 nebo bez nabídky alternativ.
Diagnostika: postup krok za krokem
- Zkontrolujte přehledy indexace (např. hlášení o Soft 404 a „Alternativní stránky s vhodným kanonickým“). Identifikujte vzory URL (kategorie, parametry, jazykové mutace).
- Ověřte HTTP kódy pomocí vlastních nástrojů (crawl, logy) – hledejte stránky, které vizuálně signalizují chybu/prázdno, ale vracejí kód 200.
- Simulujte podmínky (blokovaný JS, pomalé API, mobilní user-agent), abyste odhalili klientské chyby vedoucí k prázdnému DOM.
- Porovnejte šablony: Soft 404 často používají stejnou „thin“ šablonu. Vytvořte si fingerprint (velikost HTML, počet slov, selektory) a hledejte shodné stránky.
- Analyzujte interní odkazy: z jaké části webu vedou na problematické URL? Opravte navigaci, facet linky, stránkování.
Rozhodování: 200 vs. 404 vs. 410 vs. přesměrování
| Situace | Doporučený kód | Poznámky |
|---|---|---|
| Neexistující URL / překlep | 404 Not Found | Vraťte vlastní 404 stránku s navigací; nepřesměrovávejte na domovskou stránku (/). |
| Trvale odstraněný obsah | 410 Gone | Silnější signál „už nikdy nebude“. Vhodné pro vypršené inzeráty/produkty bez náhrady. |
| Dočasná nedostupnost (údržba) | 503 Service Unavailable | Přidejte hlavičku Retry-After. Nepoužívejte 200 s chybovým bannerem. |
| Obsah se přesunul s tím samým záměrem | 301 Moved Permanently | Přesměrujte na nejbližší relevantní náhradu (nikoli na domovskou stránku). |
| Dočasný přesun | 302/307 | Pouze pokud je přesun dočasný. Ověřte, že nedojde k zacyklení. |
| Prázdná kategorie/0 výsledků | 200 nebo 404/410 | Pokud umíte poskytnout hodnotu (alternativy, top produkty, rady), ponechte 200. Pokud ne, použijte 404/410. |
Implementační antipatterny, kterým se vyhnout
- Vizuální 404 s kódem 200: hezká grafika ještě neznamená správný HTTP signál.
- Přesměrování všeho na domovskou stránku: většinou vyhodnoceno jako Soft 404 nebo soft redirect.
- „Noindex“ na stránce, která vrací 200, ale nemá hodnotu: noindex může být řešením, avšak často je vhodnější 404/410.
- Blokování přes robots.txt místo 404/410: robot se k obsahu nedostane, ale URL může přetrvávat v indexu.
Správný design prázdných stavů (empty states) při 200
Pokud chcete ponechat prázdnou stránku s kódem 200, musí poskytovat hodnotu a nevypadat jako chyba:
- Alternativy a návrhy: příbuzné kategorie, bestsellery, populární filtry, interní odkazy.
- Jasné vysvětlení a možnost akce (změnit filtr, vyčistit parametry, návrat do nadřazené kategorie).
- Unikátní text: krátký obsah s doporučeními a interními prolinkováními (zvýší poměr unikátního obsahu).
- Technická konzistence: canonical na sebe, správné hreflangy, žádná maskující přesměrování.
Specifika pro e-commerce: vypršené a vyprodané produkty
- Dočasně vyprodané: ponechte produkt s kódem 200, availability „OutOfStock“, zobrazte alternativy a umožněte uživatelům nastavit upozornění.
- Trvale ukončené: pokud existuje náhrada, použijte 301 na nástupnický produkt/kategorii. Pokud ne, použijte 410 a udržujte interní odkazy aktuální.
- Varianty a filtry: parametry bez výsledků by neměly vypadat jako chyba; zvažte odstranění indexace zbytečných facetů (noindex, interní pravidla prolinkování).
Hreflang, kanonické URL a Soft 404
- Všechny ekvivalentní hreflang mutace musí mít konzistentní stav (200/404/410). Pokud jedna mutace vrací 404 a jiná 200 prázdný obsah, vzniká konflikt.
- Canonical nesmí směřovat na iracionální cíle (např. hromadné kanonikalizování na domovskou stránku), což je typický signál Soft 404.
CDN a edge vrstvy: skryté zdroje Soft 404
- Custom error stránky na CDN musí vracet správné kódy 4xx/5xx – nikoli 200.
- Origin vs. edge: ověřte, co vidí robot (bez cookies, bez JS). Někdy edge vrátí fallback HTML s kódem 200 při timeoutu.
- Cache klíče: aby se kódy 404/410 neukládaly do cache jako 200.
Rozhodovací strom (textový) pro prázdné/nesmyslné URL
- Má URL legitimní záměr a umíme dodat alternativní hodnotu? → 200 s bohatým „empty state“ + interními odkazy.
- Je obsah pryč navždy a bez adekvátní náhrady? → 410.
- Existuje silně relevantní náhrada? → 301 na nejbližší ekvivalent.
- Jde o překlep/nesmysl? → 404 s navigací a vyhledáváním.
Monitoring a alerting: co sledovat průběžně
- Počet Soft 404 podle typů URL (kategorie, vyhledávání, produkty, tagy).
- Podíl 200 stránek s nízkým obsahem (heuristiky: < X slov, < Y unikátních prvků DOM, velikost HTML).
- Logy: záznamy o přístupech na URL s kódem 200 a typickými frázemi „nenalezeno“, „žádný výsledek“.
- Chyby klienta: JS výjimky, 4xx/5xx z API, které vedou k prázdnému renderu.
- Hreflang/kanonické URL: zlomy klastrů při nasazení nových šablon.
Kontrolní seznam pro vývojáře a SEO
- Chybové a prázdné stavy vždy vracejí správný HTTP kód.
- Custom 404/410 stránky jsou indexovatelné (navigace, vyhledávání, noindex není potřeba; kód však musí být 404/410).
- Přesměrování jsou relevantní a nemají víceúrovňové řetězce.
- „Empty state“ při kódu 200 je užitečný (alternativy, odkazy, rady) a unikátní.
- CDN/edge vrací nezaměnitelný kód (nikoli 200) při chybách.
- Parametrické URL mají pravidla indexace (kanonické URL, noindex, interní odkazy, politika „clean param“).
Minimalizace rizika při budoucích změnách
- Release checklist: test HTTP kódů pro chybové/prázdné stavy před nasazením.
- Automatizované testy: unit/e2e testy ověřující kódy 404/410/503 a obsah šablon.
- Feature flags a postupné nasazování: rychlý rollback při nárůstu Soft 404.
- Observabilita: metriky renderu (Hydration/CSR), fallbacky a timeouty API.
Příklady správných textů a UI pro prázdnou kategorii (při kódu 200)
- Úvodní věta: „V této kategorii momentálně nemáme produkty, ale může vás zajímat:“
- Automatické alternativy: 3–6 příbuzných kategorií a 6–12 nejprodávanějších produktů.
- Akce: jasné CTA pro úpravu filtru, vyčištění parametrů, návrat o úroveň výše.
- Interní propojení: kontextové články/poradna pomáhají zvýšit hodnotu stránky.
Časté otázky (FAQ) ke Soft 404
- Mám dávat noindex na prázdné stránky? Pokud umíte poskytnout hodnotu, ponechte 200 a nechte indexovat (může přinášet long-tail návštěvnost). Pokud hodnotu neposkytuje, je vhodnější použít 404/410 než 200+noindex.
- Je 410 lepší než 404? Pro trvale odstraněný obsah ano – 410 je explicitnější signál. Rozdíl v praxi může být jemný, ale konzistence je klíčová.
- Co s interními odkazy na odstraněné URL? Opravte je; interní odkazy na 404/410 dlouhodobě snižují UX i interní autoritu.
- Co když stránka občas selže na klientovi? Zajistěte SSR nebo robustní fallbacky a logujte chyby; prázdný CSR render s kódem 200 je častým spouštěčem Soft 404.
Shrnutí
Soft 404 vzniká, když se technický signál (HTTP 200) dostává do rozporu s obsahovým signálem („stránka bez hodnoty“). Prevence spočívá ve správném mapování stavů na HTTP kódy, v promyšlených prázdných stavech s reálnou hodnotou, disciplinované práci s přesměrováními, kanonikalizací a hreflangy, a v průběžném monitoringu. Důsledné odstranění Soft 404 snižuje plýtvání crawl budgetem, stabilizuje indexaci a zlepšuje organickou návštěvnost i konverze.



























