Proč „Out of stock“ není jen štítek, ale strategické rozhodnutí
Označení „Out of stock“ (OOS) je na první pohled drobný prvek UI, ve skutečnosti však jde o rozhodnutí s dopadem na SEO, crawling, konverze, měření poptávky, logistiku a spokojenost zákazníků. Nesprávné řešení vede ke zbytečným proklikům, odchodům, indexaci neaktuálních stránek, fragmentaci signálů a ztrátě tržeb. Tento článek popisuje technické zásady i zásady UX, aby stav OOS pracoval ve váš prospěch – ne proti vám.
Typologie nedostupnosti: jaké případy musí systém rozlišovat
- Dočasně vyprodáno (back-in-stock): očekáváme naskladnění (datum nebo interval ETD).
- Dočasně vyprodáno, varianta je k dispozici: jiné velikosti/barvy jsou skladem.
- Předobjednávka: produkt fyzicky není k dispozici, ale přijímáme objednávky s datem expedice.
- Trvale nedostupné / ukončené: produkt se již nebude prodávat; existuje nástupce nebo alternativy.
- Regionální nedostupnost: skladem je pouze v některých zemích/skladech.
- Dočasný výpadek feedu / inventáře: technická anomálie, nikoli skutečný stav OOS.
Rozhodování v SEO: stavový kód, indexace, kanonikalizace
- Dočasně vyprodáno: ponechte 200 OK s jasnou informací o nedostupnosti a zachovejte indexaci. Produkt shromažďuje signály a zachycuje poptávku.
- Trvale nedostupné bez nástupce: po 30–60 dnech ve stavu OOS zvažte 410 Gone nebo 404 s interním přesměrováním uživatelů (nikoli crawlerů) na kategorii. Zbytečně nepřicházejte o link equity.
- Trvale nedostupné s nástupcem: použijte 301 redirect na nástupnický produkt (stejný účel, srovnatelná cenová úroveň). Zachováte hodnotu odkazů a recenzí.
- Kanonikalizace variant: u variant ve stavu OOS ponechte
link rel="canonical"směřující na nadřazený produkt, aby se signály mezi variantami nedeformovaly. - Noindex? Pouze pokud stránka dlouhodobě nemá žádnou hodnotu ani interní či externí odkazy. Jinak riskujete ztrátu historických signálů.
Strukturovaná data: explicitní oznámení stavu vyhledávačům
Implementujte Product v JSON-LD s vlastností offers.availability:
https://schema.org/InStock,OutOfStock,PreOrder,PreSale,Discontinued,InStoreOnly,OnlineOnly.- Pokud je datum známé, uveďte
availabilityStartsneboavailabilityEnds; u předobjednávkyreleaseDate. - U variant použijte
isVariantOfa publikujte nabídkyofferspro jednotlivé varianty, aby jejich stav odpovídal UI. - Konzistence mezi
Product, cenou, štítkem v UI a feedy (Merchant Center, tržiště) je pro důvěru algoritmů zásadní.
Inventární feedy, cache a latence: technické příčiny nesrovnalostí
- Synchronizace: konsolidujte inventář na úrovni „jediného zdroje pravdy“ (ERP/WMS) a nastavte webcron/webhooky pro incremental updates.
- Strategie cache: u polí citlivých na cenu a skladovou dostupnost používejte kratší TTL, ETag a stale-while-revalidate pro HTML; pro vrstvu API upřednostňujte conditional requests.
- Invalidace na edge: při změně stavu spusťte cílené vymazání cache konkrétní URL a souvisejících fragmentů JSON (např. fragmentové cache pro „buy box“).
- Monitoring odchylek: nastavte upozornění na nesoulad mezi UI a feedem (např. UI zobrazuje „Skladem“, ale
offers.availability= OutOfStock).
Zásady UX: transparentnost, jasná další cesta a minimalizace frustrace
- Viditelný štítek již v seznamu produktů (PLP) a ve filtru („Zobrazit pouze skladem“).
- Přesná informace: „Dočasně vyprodáno – naskladnění se očekává 12.–15. listopadu“ je lepší než vágní „Není dostupné“.
- Preferované CTA při dočasném OOS: „Upozornit, až bude skladem“, „Zobrazit podobné“, „Ověřit dostupnost na prodejně“.
- Alternativy: automatické návrhy podle pravidel substituce (náhradní díly, kompatibilita, srovnatelné parametry a cena).
- Žádné klamání: zakažte přidání do košíku, pokud produkt ve skutečnosti nelze objednat. Možnost „předobjednat“ nabídněte pouze s jasně stanovenými podmínkami.
Upozornění a waitlist: jak proměnit OOS v budoucí poptávku
- Formulář bez zbytečných překážek: e-mail/SMS/push s double opt-in a možností výběru varianty.
- Omezení frekvence: upozorněte pouze jednou po naskladnění; chraňte uživatele před spamem.
- Prioritizace: pokud je naskladněné množství omezené, rozesílejte upozornění po dávkách podle pořadníku; měřte konverzi „upozornění → nákup“.
Varianty a konfigurace: inteligentní náhradní řešení
- Pokud je vybraná varianta OOS, automaticky zvýrazněte dostupné varianty (např. jinou velikost) a umožněte rychlou změnu bez obnovení stránky.
- U konfigurátorů zobrazujte kombinace, které jsou skladem, a u kombinací OOS uveďte jasný důvod a nejbližší dostupnou alternativu.
Hreflang a regionální dostupnost
- Pokud je produkt OOS jen v některých zemích, nepoužívejte univerzální „noindex“. Zachovejte stránku pro každou lokalizaci s pravdivou informací o dostupnosti a správnými odkazy
hreflang. - Na stránce výslovně uveďte rozdíly: „Dostupné v CZ, OOS v SK“ a nabídněte přeposlání nebo porovnání skladů.
Kategorie, filtrování a interní prolinkování
- Na PLP umožněte skrýt produkty OOS nebo je přesunout na konec; zachováte přehlednost a minimalizujete zklamání.
- Interní odkazy z blogu a tematických rozcestníků směřujte primárně na dostupné alternativy; u produktů OOS nastavte vztah „see also“ k nástupci.
- Při dlouhodobém OOS zvažte odebrání z navigace a sitemap, ale zachovejte uživatelsky přívětivou cestu pro návštěvníky přicházející z externích odkazů.
XML sitemap & Merchant/Ads feed: konzistentní signály
- V XML sitemap ponechávejte dočasně nedostupné URL; při trvalém ukončení je odstraňte po nasazení 410/301.
- Sjednoťte stav dostupnosti v Merchant Center s údaji na webu; nesrovnalosti vedou k zamítnutí reklam a špatné uživatelské zkušenosti.
Měření a atribuce: co sledovat u OOS
- CTR a míra okamžitého opuštění z organického vyhledávání u produktů OOS oproti dostupným produktům.
- Konverze waitlistu, doba do nákupu po naskladnění, cenová elasticita po návratu.
- Podíl návštěv OOS z nejnavštěvovanějších vstupních stránek – pokud je vysoký, přehodnoťte kampaně a interní prolinkování.
- Ztráta výnosů způsobená OOS (náklady obětované příležitosti) a míra zachycení poptávky prostřednictvím substitucí.
Právo a důvěryhodnost: transparentnost informací
- Uvádějte skutečné dodací lhůty a dostupnost; „předběžné datum“ doplňte upozorněním.
- U předobjednávek zobrazte platební podmínky, podmínky rezervace a možnost bezplatného zrušení objednávky až do expedice.
Přístupnost a mikrotexty
- Používejte štítky ARIA pro stav OOS u tlačítek a variant (např.
aria-disabled="true",aria-livepro změny stavu). - Mikrotexty: konkrétní, přátelské, bez pasivní agrese. Příklad: „Dočasně vyprodáno – zanechte nám kontakt a dáme vám vědět.“
Výkon a architektura: SSR, CSR a hydratace „buy boxu“
- Stav dostupnosti vykreslujte pomocí SSR pro rychlé TTI a konzistenci SEO; následné změny (např. počtu kusů) aktualizujte po načtení prostřednictvím CSR.
- Minimalizujte FOUC/FOIT: informace o stavu OOS nesmí po 2 sekundách „přeskočit“ ze stavu skladem na vyprodáno – ničí to důvěru.
Rozhodovací strom: jak postupovat v konkrétním stavu OOS
- Dočasně OOS < 30 dní: 200 + index; zobrazit datum, waitlist a alternativy; schema.org=OutOfStock.
- Dočasně OOS > 30 dní: vyhodnotit poptávku; pokud roste, ponechat; pokud klesá, přesunout signály na kategorii/alternativy.
- Trvale ukončeno: 301 na nástupce; pokud neexistuje, po 30–60 dnech použít 410, odstranit ze sitemap a zachovat přesměrování uživatelů na kategorii.
- Varianta OOS: kanonikalizace na nadřazený produkt, zvýraznění dostupných variant v UI, schema pro jednotlivé varianty.
Specifika tržišť a omnichannelu
- Synchronizujte stavy POS (prodejen) s e-shopem; při skladové zásobě >= prahová hodnota nabídněte „rezervovat na prodejně“.
- U tržišť dodržujte SLA feedu v rozmezí 15–30 minut; jeho porušování vede k penalizacím a dočasnému pozastavení.
Testování a experimenty
- A/B test umístění štítku OOS, textů, pořadí CTA a míry zvýraznění alternativ.
- Testujte „přesunout produkty OOS na konec“ oproti jejich úplnému skrytí na PLP v různých kategoriích a fázích sezóny.
Prevence chyb: nejčastější anti-patterny
- Globální noindex pro dočasně nedostupné stránky – ztráta historických signálů.
- 301 na kategorii při dočasném OOS – zmatek pro uživatele i roboty.
- Nekonzistentní stav mezi UI, schema.org a feedy – snižuje důvěru a vede k zamítání reklam.
- Chybějící waitlist a alternativy – promarněná poptávka.
Kontrolní seznam implementace „Out of stock“
- Případy OOS rozlišené v datovém modelu (dočasné, trvalé, regionální, varianty).
- Jasná pravidla pro HTTP kód, indexaci, kanonikalizaci a přesměrování.
- Product JSON-LD se správně nastaveným
offers.availabilitypro jednotlivé varianty. - Waitlist s double opt-in, alternativy a regionální propojení.
- Filtr PLP „pouze skladem“ a přesun produktů OOS na konec.
- Synchronizace inventáře, invalidace cache, upozornění na odchylky.
- Měření: CTR/míra okamžitého opuštění u OOS, konverze upozornění, ztráta výnosů a substituce.
- Přístupnost: stavy ARIA, srozumitelné mikrotexty, transparentní předpokládaná dostupnost.
OOS jako součást spolehlivé infrastruktury důvěry
Správně navržený stav „Out of stock“ není překážkou, ale mostem – zachová signály SEO, nabídne cestu k alternativám, vytvoří čekací listinu a minimalizuje frustraci. Kombinace přesné technické implementace a empatického UX proměňuje nedostupnost v příležitost: zachytíte poptávku dnes a zítra ji proměníte v tržby, aniž by utrpěla dlouhodobá viditelnost.
