Filtrované adresy jsou u e-shopů klasické strašidlo: tisíce tenkých stránek, které vzniknou z pár zaškrtávátek. Šel jsem to na Shoptetu změřit a čekal jsem, že najdu problém.
Našel jsem ho jinde. Ve vzorku nevypadají jako první problém filtry, ale stránkování. U filtrů působí zároveň zákaz v robots.txt a absence odkazů z kategorie. Druhá strana kategorie je naopak samostatně indexovatelná a bez canonicalu.
Co jsem měřil — a co ne
Vzorek je stejný jako v druhém dílu: 47 e-shopů, kategorie jsem našel u 46. U každého jsem si nejdřív načetl jeho robots.txt, pak z homepage vybral odkazy, které ten soubor nezakazuje, a našel mezi nimi kategorii.
Po opravě chyby v prvním průchodu jsem celé měření zopakoval; dál pracuju jen s opravenými daty. Co se stalo, popisuju na konci.
Kategorie: na straně 1 konzistentní signály
| Zjištění na straně 1 | Počet |
|---|---|
rel=canonical přítomný | 46 z 46 |
| canonical míří sám na sebe | 46 z 46 |
meta robots = index,follow | 46 z 46 |
rel=next na další stranu | 31 z 46 |
Na straně 1 byl stav konzistentní: canonical sám na sebe a index,follow u všech 46 případů.
Filtry: zakázané a navíc neodkazované
Výchozí robots.txt má 40 zákazů a mezi nimi parametry ?priceMin, ?priceMax, ?order, ?parameterId, ?availabilityId, ?manufacturerId, ?stock, ?pv* a ?dd*. Tedy přesně ty, kterými se filtruje a řadí.
Důležitější než ten zákaz je ale druhý faktor:
| Zjištění | Počet |
|---|---|
| kategorií bez jediného odkazu s filtrovým parametrem | 43 ze 46 |
| kategorií, kde nějaký takový odkaz je | 3 (jeden, šest a jeden) |
| zaškrtávacích políček na kategorii | medián 15, maximum 437 |
| hodnot filtrů na kategorii | medián 6, maximum 399 |
Ve většině měřených kategorií nejsou filtry realizované jako odkazy na parametrickou adresu, ale jako zaškrtávátka ve formuláři. Robot, který prochází web po odkazech, se k filtrované adrese z téhle kategorie běžně nedostane — a robots.txt ji navíc zakazuje. Pokud jste si filtry sami neprolinkovali, není to ve vzorku první technická priorita.
Filtrovaný prostor je přitom obrovský. Jedna z měřených kategorií měla 437 zaškrtávacích políček; kombinacemi by z toho vznikly řádově statisíce adres. Ty adresy existují, ale z měřené kategorie se k nim odkazem většinou nedá dojít.
Stránkování: samostatně indexovatelné strany bez canonicalu
Tady je ten skutečný nález. Kategorie se stránkuje adresou typu /kategorie/strana-2/ a tu výchozí robots.txt nezakazuje. Ze 47 e-shopů měl jediný vlastní pravidlo, kterým si stránkování zavřel — a je to týž obchod, který si v druhém dílu robots.txt upravoval. U něj jsem stranu 2 nestahoval.
Zbylých třicet vypadá takhle:
| Zjištění na straně 2 | Počet |
|---|---|
má rel=canonical | 0 z 30 |
meta robots = index,follow | 30 z 30 |
rel=prev na předchozí stranu | 30 z 30 |
| vlastní titulek se slovem „Strana“ | 30 z 30 |
Všimněte si toho prvního řádku pořádně: není to canonical mířící na stranu 1. Je to absence značky. Strana 1 canonical má a míří sama na sebe. Strana 2 nemá v hlavičce rel=canonical vůbec.
A do třetice: v sitemapě stránkované adresy nejsou — ani u jednoho z 39 e-shopů, u kterých se sitemapa dala přečíst. Stejně tak tam není žádná adresa s otazníkem.
Dohromady to znamená, že strana 2, 3 a 4 vaší kategorie jsou samostatně indexovatelné stránky s výpisem produktů, které za vás vytvořila platforma. rel=canonical jsem u nich neviděl a v dostupných sitemapách se neobjevovaly.
Co si z toho odnést
Pořadí, ve kterém to dává smysl řešit:
- Ověřte, že z kategorií nevedou odkazy na filtrované adresy.
- Otevřete stranu 2 kategorie a rozhodněte se, jestli chcete, aby byla samostatně indexovatelná.
noindexna adresách zakázaných v robots.txt neřešte — ten problém neřeší.
Řešit filtry, protože se to tak dělá
Ve vzorku proti nim působí dva faktory zároveň — zákaz v robots.txt a to, že z kategorie na ně většinou nevede odkaz. Čas strávený jejich „opravováním“ je čas, který jinde chybí.
Dávat noindex na adresy zakázané v robots.txt
Nefunguje to a dokumentace Googlu to říká výslovně: je-li stránka blokovaná v robots.txt, crawler se k noindex na ní nedostane. Pokud chcete noindex použít, stránka pro něj musí být přístupná.
Prolinkovat si filtry vlastní úpravou
Tím změníte ten druhý faktor: na zakázanou adresu nově povede odkaz. A zakázaná adresa, na kterou odkaz vede, se podle Googlu ve výsledcích objevit může — noindex na ní, jak už víme, nepomůže.
Co si projít na vlastním e-shopu
- Otevřít kategorii a najít odkaz s otazníkem Pokud tam žádný nevede, nebude to ve většině případů první věc k řešení. Pokud ano, přidala ho úprava šablony nebo doplněk.
- Otevřít stranu 2 kategorie a hledat canonical V měřeném vzorku ho nemělo ani jedno z třiceti. Vaše rozhodnutí, jestli to tak chcete.
- Zkontrolovat, jestli stránkování není v sitemapě Ve vzorku nebylo nikde. Sitemapa je tedy neposílá jako preferované adresy k procházení.
- Neřešit noindex tam, kde platí robots.txt Kombinace nefunguje. Vyberte jedno: buď zákaz procházení, nebo noindex na přístupné stránce.
- Vědět, kolik filtrů kategorie nabízí Na jedné měřené kategorii jich bylo 437. Kombinacemi vzniká obrovský prostor adres — dobré vědět, i když se na ně nedá dojít.
Kam tenhle článek patří
Čtvrtý díl bloku o Shoptetu a viditelnosti v AI. Předchozí měřily formát strukturovaných dat, robots.txt a AI roboty a produktová pole proti požadavkům Googlu. Poslední díl se podívá na blogový modul.
Obecné souvislosti mezi strukturou adres a čitelností pro stroje rozebírá AI friendly struktura URL.