Fasetová navigace slouží k možnosti kombinování různých parametrů produktů. Je to velice užitečná funkce jak pro zákazníky, kteří si takto mohou stanovit přesné požadavky na parametry výrobků, tak pro weby z hlediska SEO. Při špatné implementaci může fasetová navigace naopakznamenat pro SEO velké problémy. Díky filtrům můžeme kombinovat např. v segmentu hraček Panenku s parametrem barva (Bílá panenka), funkcí (Brečící panenka) nebo kombinací více filtrů (Bílá brečící panenka). Díky vhodnému použití těchto kombinací filtrů můžeme vytvářet vstupní stránky, jež budou relevantnější k vysoce konverzním dotazům (Long Tailu), které právě tyto parametry kombinují.
Hlavní SEO problémy, které přináší fasetová navigace:
1. Duplicitní obsah
2. Požírání crawl budgetu, který pak nedostačuje na clawling a indexaci nových nebo aktualizovaných stránek
3. Ředění Link Juice („síla“ stránky předávaná prostřednictvím odkazů dalším stránkám) a přelévání pageranku (rozmělnění hodnoty stránky do velkého množství odkazů)
Čemu se musíte vyhnout
▪ Fasetová navigace by neměla být řešena JavaScriptem nebo javascriptovými frameworky.
▪ Vyhledávače nemusí umět takovou část stránek renderovat, a stránky přístupné z filtru by tak vyhledávač nemusel umět projít. Samozřejmě je tato situace pořád řešitelná vnitřním prolinkováním a sitemapou, ale to už není ideální stav pro stovky až tisíce kombinací stránek, které chcete mít přístupné.
▪ Nesmíte nechat nastat situaci, kdy naopak zpřístupníte vyhledávačům všechny možné kombinace. Došlo by k plýtvání crawl budgetu, kdy roboti procházejí a v některých případech i indexují nesmyslné kombinace parametrů, které mají nulovou hledanost.
▪ Zkrátka chceme indexovat jen vybrané kombinace, které mohou lidé reálně vyhledávat.
▪ Nesmíme vytvářet duplicitní URL (kombinace /tricko-bile-XL/ vs. /tricko-XL-bile/.
Best practise pro fasetovou filtraci
▪ Nesmyslné kombinace zakážeme vyhledávačům procházet, a to direktivou /disallow v robots.txt. Samotná direktiva na stránce je k ničemu, protože robot na stránku již přistoupil. I přesto na těchto stránkách použijeme direktivu noindex, follow. Tyto stránky nechceme ukládat do indexu, a když se přesto na ni bot dostane, neuloží ji a bude ji procházet méně často než stránky, které chceme indexovat.
▪ Všechny kombinace, které chceme indexovat, musíme mít v sitemapě. Umístěním do sitemapy vyhledávačům sdělujeme, že je pro nás stránka důležitá a její indexace je minimálně z naší strany žádoucí.
▪ Obecně budeme zakazovat indexaci a procházení kombinace 3 a více parametrů + multivýběry, tzn., když návštěvník stránky vybere více než jednu variantu jednoho parametru (např. kombinace barev modrá + červená).
▪ URL všech parametrických stránek
Technické požadavky
▪ URL indexovatelného filtru je viditelná v kódu stránky (na stránku s aktivovaným parametrem vede html link).
▪ Každá jedinečná stránka vzniklá z kombinace parametrů má SEO Friendly URL (bez parametrických znaků ?= atd.).
▪ Každou tuto stránku můžeme opatřit unikátním nadpisem H1, popisem kategorie, meta description. Níže popisuji všechna opatření, co znamenají a co řeší, ať pochopíte kontext i argumentaci pro finální řešení. Při návrhu řešení fasetové navigace se musíme rozhodnout, co zahrneme do indexu (co chceme indexovat) a co vyloučíme.
Direktiva v metaznačce „noindex, follow“
Direktiva použitá přímo na konkrétní stránce – noindex, follow. Tyto atributy říkají robotům, kteří přišly na stránku, aby ji neukládaly do indexu a pokračovaly v crawlingu na další odkazy na stránce. Direktiva nám může pomoci snížit počet duplicitních stránek, které by se indexovaly. Dále nezahrne do indexu stránky, na které vede odkaz odjinud a u nichž nemusí bot respektovat direktivu v robots.txt. Problém této direktivy je, že nám neušetří crawl budget ani nesníží velké množství parametrických kombinací, které bot prochází.
Kanonizace pomocí rel=“canonical“
Duplicitní stránky s mnoha parametry můžeme řešit pomocí kanonizace, kdy do stránky, kterou nechceme indexovat, vložíme kanonický odkaz na mateřskou stránku (kanonickou). Kanonické odkazování převádí hodnotu stránky na kanonizovanou, stejně jako v případě trvalého přesměrování 301. Kanonický odkaz bychom použili v případě, že bychom měli URL, kde by se nám střídalo použití parametrů, viz níže uvedená případová studie Glami. Nicméně toto řešení opět neřeší náš problém s plýtváním crawl budgetem a velkým množstvím kombinací parametrů.
Direktiva Disallow v robots.txt
Direktiva v robots.txt je užitečná pro vyloučení průchodu bota určitými sekcemi nebo adresáři webu. Drobná nevýhoda může být v tom, že i když má Google zakázán průchod, přesto může stránku indexovat. Zní to zvláštně, ale je to tak. Google je schopen indexace stránky, aniž by ji procházel (vedou-li na ni odkazy z jiných stránek/domén).
Atribut „nofollow“ u interního prolinkování ve fasetové navigaci
Další z možností, jak tentokrát ušetřit crawl budget je přidání atributu nofollow do odkazů ve fasetové navigaci, u kterých nechceme, aby je vyhledávač procházel. Nofollow ale bohužel opět neřeší duplicity. Příklad použití: Pokud bychom chtěli, aby vyhledávač procházel pouze 1 až max. 3 zaškrtnuté parametry, přidáme na ostatní parametry atribut nofollow.
Vyloučení parametrů v Search Console
Indexaci stránek s parametry můžeme také vyloučit v konzoli Search Console, ale to neřeší situaci pro Seznam.cz, který pracuje s řádově nižším crawl budgetem i výpočetním výkonem.
Rekapitulace našeho opatření
Všechny indexovatelné parametrické URL nebudou mít v URL parametr (to jsou kombinace, které chceme optimalizovat). Všechny ostatní kombinace, které nedávají smysl pro optimalizaci (nulová hledanost), budou mít v URL zachovaný parametr a na samotné stránce bude direktiva „noindex, follow“. URL bez parametru dáme do samostatné sitemapy, na kterou odkážeme z robots.txt a kterou vložíme do Search Console. URL s parametrem zakážeme direktivou v robots.txt Disallow: /*?*. Tímto opatřením ušetříme crawl budget, protože vyhledávače nebudou vůbec navštěvovat URL s parametrem, zároveň budou neindexovatelné, kdyby se na ně crawler dostal z jiného zdroje. Celý crawl budget tak budeme mít k dispozici pro indexaci nových parametrických kombinací, jichž nebude vůbec málo.
Přečtěte si i náš článek, jak správně nastavit robots.txt.
Případová studie Glami
Pojďme se podívat, jak fasetovou filtraci řeší na Glami.cz. Díky adresářové struktuře URL jim vznikají duplicitní URL. Toto jsou 2 zaškrtnuté parametry, jen v obráceném pořadí:
Tyto duplicity řeší následně kanonizací na jimi zvolenou kanonickou stránku. Takže výše uvedená
je kanonizována na tu druhou odkazem
Takže takové řešení (s rel=“canonical“) bychom použili v případě, že by nám technicky nešla provést výše uvedená varianta řešení a zabývali bychom se adresářovou strukturou (architekturou).