Řešení označení „Vyprodáno“: Technické a UX strategie pro nedostupné produkty

Proč „Out of stock“ není jen štítek, ale strategické rozhodnutí

Označení „Out of stock“ (OOS) je na první pohled drobný UI prvek, ale ve skutečnosti jde o rozhodnutí s dopadem na SEO, crawling, konverze, měření poptávky, logistiku a spokojenost zákazníků. Nesprávné řešení vede k zbytečným proklikům, bounce rate, indexaci neaktuálních stránek, fragmentaci signálů a ztrátě tržeb. Tento článek popisuje technické i UX zásady, aby stav OOS pracoval pro vás – nikoli proti vám.

Typologie nedostupnosti: jaké případy musí systém rozlišit

  • Dočasně vyprodané (back-in-stock): očekáváme naskladnění (ETD datum nebo interval).
  • Dočasně vyprodané, varianta k dispozici: jiné velikosti/barvy skladem.
  • Předobjednávka: produkt fyzicky není, ale přijímáme objednávky s datem expedice.
  • Trvale nedostupné / ukončené: už se nebude prodávat; existuje nástupce nebo alternativy.
  • Regionální nedostupnost: skladem pouze v některých zemích/skladech.
  • Dočasný výpadek feedu / inventáře: technická anomálie, nikoli skutečný OOS.

SEO rozhodování: status kód, indexace, kanonikalizace

  • Dočasně vyprodané: ponechte 200 OK s jasnou informací o nedostupnosti a zachovejte indexaci. Produkt sbírá signály a zachycuje poptávku.
  • Trvale nedostupné bez nástupce: po 30–60 dnech OOS zvažte 410 Gone nebo 404 s interním přesměrováním uživatelů (nikoli crawlerů) na kategorii. Neztrácejte link equity bezdůvodně.
  • Trvale nedostupné s nástupcem: použijte 301 redirect na nástupnický produkt (stejný účel, srovnatelný price point). Zachováte hodnotu odkazů a recenzí.
  • Kanonikalizace variant: u OOS variant udržte link rel="canonical" na parent produkt, aby se signály nezkreslovaly mezi variantami.
  • Noindex? Pouze pokud je stránka dlouhodobě bez hodnoty a bez interních/externích odkazů. Jinak riskujete ztrátu historických signálů.

Strukturovaná data: explicitní oznámení stavu pro vyhledávače

Implementujte Product v JSON-LD s property offers.availability:

  • https://schema.org/InStock, OutOfStock, PreOrder, PreSale, Discontinued, InStoreOnly, OnlineOnly.
  • Pokud je známý datum, uveďte availabilityStarts nebo availabilityEnds; při předobjednávce releaseDate.
  • U variant použijte isVariantOf a publikujte per-variant offers, aby stav odpovídal UI.
  • Konzistence mezi Product, cenou, UI štítkem a feedy (Merchant Center, marketplaces) je klíčová pro důvěru algoritmů.

Inventární feedy, cache a latence: technické příčiny rozporů

  • Synchronizace: konsolidujte inventář na úrovni „single source of truth“ (ERP/WMS) a nastavte webcron/webhooky na incremental updates.
  • Cache strategie: pro cenově a skladově citlivá pole používejte kratší TTL, ETag a stale-while-revalidate pro HTML; pro API vrstvu preferujte conditional requests.
  • Edge invalidace: při změně stavu spouštějte cílený purge konkrétní URL a souvisejících JSON fragmentů (např. fragment cache pro „buy box“).
  • Monitoring driftu: alerty na nesoulad UI vs. feed (např. UI zobrazuje „Skladem“, ale offers.availability = OutOfStock).

UX principy: transparentnost, dobrá cesta dál a minimalizace frustrace

  • Viditelný štítek již v seznamu produktů (PLP) a ve filtru („Zobrazit jen skladem“).
  • Přesná informace: „Dočasně vyprodané – očekávané naskladnění 12.–15. listopadu“ je lepší než vágní „Není dostupné“.
  • Preferované CTA při dočasném OOS: „Upozornit, když bude skladem“, „Zobrazit podobné“, „Zkontrolovat dostupnost v prodejně“.
  • Alternativy: auto-sugesce podle pravidel substituce (náhradní díly, kompatibilita, srovnatelné parametry a cena).
  • Zákaz klamu: zakažte přidání do košíku, pokud reálně není možné objednat. Nabídněte „předobjednat“ pouze s jasnými podmínkami.

Notifikace a waitlist: jak proměnit OOS na budoucí poptávku

  • Formulář bez frictionu: email/SMS/Push s double opt-in a preferencí varianty.
  • Rate limiting: notifikovat jednou při obnovení skladových zásob; chránit před spamem.
  • Prioritizace: pokud je naskladnění omezené, rozesílejte v dávkách podle pořadníku; měřte konverzi „notify → purchase“.

Varianty a konfigurace: inteligentní fallback

  • Pokud je vybraný variant OOS, automaticky zvýrazněte dostupné varianty (např. jiná velikost) a umožněte rychlou změnu bez obnovení stránky.
  • U konfigurátorů zobrazujte kombinace, které jsou skladem, a u OOS kombinací uveďte jasný důvod a nejbližší dostupnou alternativu.

Hreflang a regionální dostupnost

  • Pokud je produkt OOS pouze v některých zemích, nerecyklujte univerzální „noindex“. Uchovejte per-locale stránku s pravdivou dostupností a správnými hreflang odkazy.
  • Na stránce explicitně komunikujte rozdíly: „Dostupné v CZ, OOS na 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ývání OOS nebo jejich přesun na konec; zachováte přehlednost a minimalizujete zklamání.
  • Interní odkazy z blogu a hubů směrujte primárně na dostupné alternativy; u OOS přiřaďte relace „see also“ na nástupce.
  • Při dlouhodobém OOS zvažte odebrání z navigace a sitemap, ale zachovejte human-friendly cestu pro uživatele přicházející z externích odkazů.

XML sitemap & Merchant/Ads feed: konzistentní signály

  • V XML sitemap ponechte dočasně OOS URL; při trvalém ukončení je odstraňte po nasazení 410/301.
  • Konsolidujte stav dostupnosti v Merchant Center s webem; rozdíly vedou k zamítnutí reklam a špatné zkušenosti.

Měření a atribuce: co sledovat při OOS

  • CTR a bounce z organického vyhledávání na OOS vs. dostupné produkty.
  • Konverze waitlistu, čas do nákupu po naskladnění, elasticita ceny po návratu.
  • Podíl návštěv OOS z top vstupních stránek – pokud je vysoký, přehodnoťte kampaně a interní prolinkování.
  • Ztráta výnosu způsobená OOS (opportunity cost) a míra zachycení substitucemi.

Právní a důvěryhodnost: transparentnost informací

  • Komunikujte reálné dodací doby a dostupnost; uvádějte „předběžný datum“ s disclaimerem.
  • Při předobjednávkách zobrazujte platební podmínky, rezervaci a možnost storna bez poplatku do expedice.

Přístupnost a mikrotext

  • Používejte ARIA štítky pro OOS status na tlačítkách a variantách (např. aria-disabled="true", aria-live pro změny stavu).
  • Mikrotexty: konkrétní, přátelské, bez pasivní agrese. Příklady: „Dočasně vyprodané – zanechte nám kontakt, dáme vědět.“

Výkon a architektura: SSR, CSR a hydration „buy boxu“

  • Stav dostupnosti renderujte SSR pro rychlé TTI a SEO konzistenci; následné změny (např. počty kusů) aktualizujte přes CSR po načtení.
  • Minimalizujte FOUC/FOIT: informace OOS nesmí „přeskočit“ ze skladu na vyprodané po 2 sekundách – zabíjí důvěru.

Rozhodovací strom: jak postupovat při konkrétním OOS stavu

  • Dočasně OOS < 30 dní: 200 + index; zobrazit datum, waitlist, alternativy; schema.org=OutOfStock.
  • Dočasně OOS > 30 dní: vyhodnotit poptávku; pokud roste, ponechat; pokud klesá, přesun signálů na kategorii/alternativy.
  • Trvale ukončený: 301 na nástupce; pokud neexistuje, 410 po 30–60 dnech, odstranit ze sitemap, zachovat uživatelské směrování na kategorii.
  • Varianta OOS: kanonikalizace na parent, UI zvýraznění dostupných variant, per-variant schema.

Specifika marketplaces a omnichannel

  • Synchronizujte POS stavy (prodejny) s e-shopem; nabídněte „rezervovat na prodejně“, pokud sklad >= práh.
  • U marketplaces udržujte feed SLA do 15–30 min; porušení vede k penalizacím a dočasnému pozastavení.

Testování a experimenty

  • A/B test umístění OOS štítku, textů, pořadí CTA a intenzity alternativ.
  • Testujte „přesun OOS na konec“ vs. úplné skrytí na PLP u různých kategorií a fází sezóny.

Prevence chyb: nejčastější anti-patterny

  • Globální noindex na dočasné OOS 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 způsobuje zamítnutí reklam.
  • Chybějící waitlist a alternativy – promarněná poptávka.

Checklist implementace „Out of stock“

  • OOS případy rozlišené v datovém modelu (dočasné, trvalé, regionální, varianta).
  • Jasná pravidla pro HTTP kód, indexaci, kanonikalizaci a přesměrování.
  • Product JSON-LD s korektním offers.availability, per-variantem.
  • Waitlist s double opt-in, alternativy a regionální propojení.
  • PLP filtr „jen skladem“ a přesun OOS na konec.
  • Synchronizace inventáře, cache invalidace, alerty na drift.
  • Měření: CTR/bounce na OOS, konverze notify, ztráta výnosu a substituce.
  • Přístupnost: ARIA stavy, čitelný mikrotext, transparentní ETA.

OOS jako součást spolehlivé infrastruktury důvěry

Správně navržený „Out of stock“ není bariéra, ale most – udrží SEO signály, nabídne cestu k alternativám, vytvoří čekací seznam a minimalizuje frustraci. Kombinace přesné technické implementace a empatického UX mění nedostupnost na příležitost: zachytíte poptávku dnes a proměníte ji v tržbu zítra bez poškození dlouhodobé viditelnosti.