Co je faceted navigation a proč je důležitá
Faceted navigation (fasetové filtrování) je způsob práce s obsahem, při kterém uživatel zužuje rozsáhlé seznamy položek podle více vlastností (faktů/faset) – například cena, značka, barva, velikost, dostupnost, lokalita či materiál. V moderním e-commerce nebo katalozích je to klíčový UX prvek, který zkracuje cestu k relevantnímu výsledku. Z hlediska AIO/AEO a moderního SEO však nese riziko exploze URL kombinací, duplicit a kanibalizace, což může poškodit indexaci, autoritu kategorií a kvalitu odpovědí vyhledávačů a LLM systémů.
UX vs. SEO: rovnováha mezi relevancí a kontrolou
- UX cíl: rychlé, intuitivní filtrování bez slepých větví, s okamžitou zpětnou vazbou (SSR/CSR) a zapamatovatelnými URL pro sdílení.
- SEO cíl: udržet indexovatelnou pouze hodnotnou podmnožinu filtrů (faset) a zbytek ponechat na neindexovatelnou navigaci, aby se zabránilo zneužití crawl budgetu a rozředění signálů.
- Strategická rovnováha: definovat, které fasety a jejich stavy jsou komerčně a vyhledávaně významné (např. „sleva“, „skladem“, „pánské běžecké boty“), a které jsou pouze dočasné nebo nekonzistentní (např. „zobrazit 96 položek“, „seřadit podle“).
Proč faceted navigace generuje duplicity
- Kombinatorika: každá faseta × každá hodnota × pořadí filtrů → exponenciální nárůst URL.
- Ekvivalence: stejný výsledek dostupný přes více cest (např.
?barva=modra&velikost=42a?velikost=42&barva=modra). - Řazení a stránkování: varianty
sort=,view=,pagesize=apage=vytvářejí takřka nekonečné variace stejného obsahu. - Technická zrcadlení: parametry i jako segmenty v cestě (např.
/boty/panske/barva-modra/velikost-42vs./boty/panske?barva=modra&velikost=42).
Architektura URL a modelování faset
- Kanonické kategorie jako „hub“: nadřazené kategorie by měly mít statické, čisté URL bez parametrů (např.
/boty/panske/). - Whitelist indexovatelných faset: pouze vybrané fasety a hodnoty mohou vytvářet indexovatelné landing stránky (např.
/boty/panske/bezne/nebo/boty/panske/bezne/barva-modra/), ostatní zůstávají neindexovatelné nebo beztextové (CSR). - Pořadí parametrů a normalizace: zavést deterministické pořadí a formát (např. abecedně podle názvu fasety; hodnoty „slugovat“ a diakritiku normalizovat).
- Jedna reprezentace výsledku: stejná kombinace faset musí vést k identické URL; zabránit aliasům a alternativním zápisům.
Kanonikalizace: pravidla, nikoli výjimky
Cílem je, aby vyhledávač i LLM jednoznačně identifikoval hlavní verzi stránky.
- Rel=canonical na úroveň „hubu“ pro neindexovatelné nebo málo hodnotné kombinace faset (např.
/boty/panske/?sort=popularkanonikalizuje na/boty/panske/). - Rel=canonical na konkrétní indexovatelnou kombinaci pro schválené landingy (např.
/boty/panske/bezne/barva-modra/kanonizuje na sebe). - Stabilita kanonických odkazů: kanonické cíle se nesmí měnit podle session, uživatele ani stavu skladu.
Indexační signály: meta robots, robots.txt a interní linkování
- Meta robots: na neindexovatelných kombinacích faset používejte
noindex, follow, aby se signály z odkazů na produkty přenášely dále bez indexace listingu. - Robots.txt: šetrně blokujte jen bezcenné systémové parametry (např. trackovací
utm_*), nikoli celé fasety, pokud potřebujete, aby crawler prošel k produktům. - Interní propojení: navigační bloky a breadcrumb by měly odkazovat na kanonické „huby“ a schválené indexovatelné fasetové landingy; ostatní kombinace nespojujte statickými odkazy (snížíte jejich důležitost pro crawler).
Rozdíl: fasety vs. řazení a prezentace
- Sort (řazení) a view (zobrazení): parametry jako
sort=,view=,pagesize=mají mít noindex a kanonizovat na verzi bez parametrů nebo schválený landing. - Skutečné fasety (obsahové filtry): např. „běžecké“, „kožené“, „modré“ – pouze podmnožina z nich má SEO hodnotu; pro ostatní použijte CSR bez změny URL nebo s
#hash segmentem (neindexovatelné), případněnoindex.
Stránkování v kombinaci s fasetami
- Kanonická na první stránku: všechny
?page=2,3,...mají mít canonical napage=1nebo na landing bez parametru, pokud nedržíte jiný ověřený model. - Stabilní H1 a title: ať odráží fasetu i číslo stránky pouze v UI; v meta nástrojích minimalizujte duplicitu a „thin“ varianty.
- Rychlý průnik k produktům: odkazy na detail produktu musí být indexovatelné a interní propojení nesmí záviset na stránkování.
SSR vs. CSR: jaké renderování zvolit
- SSR (server-side rendering): vhodné pro indexovatelné landingy (vybrané fasety); garantuje obsah a metadata při prvním načtení.
- CSR (client-side rendering): vhodné pro „UX-only“ filtry bez SEO hodnoty; minimalizuje množství indexovatelných URL a duplicit.
- Hybrid: SSR pro kanonické huby a obchodně hodnotné kombinace; CSR pro zbývající kombinace a pomocné filtry.
Semantika a strukturovaná data při faceted navigaci
- ItemList: na listing stránkách používejte
ItemListseitemListElementapositionpro konzistenci. - BreadcrumbList: aby hierarchie (kategorie → podkategorie → faseta) byla jasná a konzistentní.
- Product/Offer: pro jednotlivé položky ve výpisu i na detailu; dbejte na přesnost ceny, dostupnosti a měny.
Příklad JSON-LD pro indexovatelný fasetový landing
Níže je ukázka schématu pro stránku „Pánské běžecké boty – modré“, která je povolena jako indexovatelný landing. Ostatní fasety (např. „zobrazit 96“ nebo „seřadit podle slevy“) musí zůstat mimo index.
Techniky redukce duplicit a kanibalizace
- Fasetový whitelist a blacklist: whitelist = může být indexováno; blacklist = vždy noindex nebo CSR.
- Omezení kombinací: povolit kombinovat jen 1–2 hodnotné fasety najednou (např. kategorie + barva), ostatní pouze pro UX.
- Fixní pořadí a deduplikace: generátor URL musí mít jednotné pořadí faset a pravidlo slučování duplicit.
- Canonical + noindex dohromady: u neindexovatelných variant používejte současně
noindex, followa canonical na hub. - Interní odkazy: nezveřejňujte statické odkazy na neindexovatelné kombinace; tím se sníží jejich důležitost pro crawler.
Měření dopadu: metriky a monitoring
- Crawl budget: počet procházených URL vs. počet indexovaných; sledujte nárůst „discovered – currently not indexed“.
- Index coverage a duplicity: u fasetových projektů kontrolujte počet „Duplicate without user-selected canonical“.
- Organická návštěvnost landingů: sledujte pouze schválené fasetové landingy; porovnejte s huby a produkty.
- Kanibalizace klíčových frází: analyzujte SERP pro hlavní dotazy, zda nedochází k překrývání hub vs. fasetových landingů.
- UX metriky: míra kliknutí na filtry, doba nalezení produktu, konverznost vybraných faset.
Hreflang a vícejazyčnost ve fasetách
- Konzistentní mapování: ekvivalentní fasetové landingy musí mít hreflang páry se stejnou kombinací významu (ne jen překlad slova).
- Stabilní slugs: jazykové varianty držte odděleně a bez míchání jazyků v jedné cestě.
- Fallback na hub: pokud jazyková mutace nemá ekvivalentní faset landing, propojte hreflang na nadřazenou kategorii.
Výkon a RUM: jak fasety ovlivňují Core Web Vitals
- CSR filtry a interaktivita: optimalizujte JavaScript (code splitting, lazy hydration), aby nedošlo ke ztrátě interaktivity.
- SSR landingy: důraz na LCP – obrázky prvních produktů, správné rozměry, komprese a priorita zdrojů.
- Stabilita rozložení: rezervujte prostor pro fasetové panely, aby CLS zůstalo nízké.
Checklist pro návrh faceted navigace
- Máte definovaný whitelist indexovatelných faset a jejich kombinací?
- Jsou hub kategorie bez parametrů a s jednoznačnou kanonickou adresou?
- Je zavedena normalizace pořadí faset a hodnot v URL?
- Mají neindexovatelné kombinace meta robots noindex, follow a canonical na hub?
- Nevystavujete statické odkazy na neindexovatelné kombinace v navigaci?
- Je implementováno SSR pro schválené landingy a CSR pro UX-only filtry?
- Používáte ItemList a BreadcrumbList ve strukturovaných datech?
- Měříte index coverage, duplicity a kanibalizaci pravidelně?
Nejčastější chyby a jak se jim vyhnout
- Indexování všeho: nekontrolovaný růst URL → rozředění autority; řešení: whitelist, noindex, canonical, CSR.
- Nekonzistentní URL a pořadí parametrů: stejný obsah na více adresách; řešení: deterministická generace a deduplikace.
- Indexovatelné sort/view: zbytečné varianty stránek; řešení: noindex + canonical na hub.
- Interní linkování na „junk“ fasetové URL: crawler signály vyčerpány na bezcenné stránky; řešení: odkazovat jen na huby a schválené landingy.
- Mix SSR a CSR bez strategie: nepředvídatelný obsah pro crawler; řešení: jasná matice „co je landing (SSR)“ vs. „co je UX filtr (CSR)“.
Matice rozhodování: co indexovat a co ne
- Vysoká poptávka + jasný záměr (např. „pánské běžecké boty modré“): indexovat jako landing, SSR, vlastní title/description, interní odkazy.
- Nízká poptávka + taktická