SEO pre WooCommerce: čo nastaviť v e-shope na WordPresse
WooCommerce beží na WordPresse, takže o viditeľnosti e-shopu rozhodujú dve vrstvy naraz a nastavenia bývajú inde, než ich ľudia hľadajú. Jadro pritom vkladá na produktové stránky štruktúrované údaje samo, bez akéhokoľvek doplnku, a zároveň vytvára odkazy na filtre, ktoré vedia zamestnať prehľadávač na celé týždne. Tento článok prechádza nastavenia adries, riadenie filtrov, obsah štruktúrovaných údajov a správanie variabilných produktov, teda štyri miesta, ktoré pri e-shope na WooCommerce rozhodujú o výsledkoch najviac.
1. Čo WooCommerce rieši samo a čo ostáva na vás
WooCommerce je doplnok WordPressu, takže o výsledkoch vo vyhľadávaní rozhodujú dve vrstvy naraz: WordPress sa stará o tvar adries, o sitemapu a o šablónu, kým WooCommerce pridáva produkty, kategórie, atribúty a údaje o cenách. Kto si tieto dve vrstvy oddelí hneď na začiatku, prestane hľadať nastavenia tam, kde nikdy neboli, pretože napríklad adresy produktov sa menia v nastaveniach WordPressu, nie v administrácii obchodu.
Časť práce má obchod hotovú bez akéhokoľvek zásahu. Jadro WooCommerce vkladá na stránku produktu štruktúrované údaje vo formáte JSON-LD s typom Product, a to vrátane názvu, adresy, popisu, obrázka, katalógového čísla a ponuky s cenou, pričom k tomu generuje aj navigačné omrvinky ako BreadcrumbList a údaj o webe (class-wc-structured-data.php). Hodnotenie typu AggregateRating doplní len vtedy, keď produkt má aspoň jedno hodnotenie a recenzie sú v nastaveniach zapnuté, a do značkovania zapíše päť najnovších recenzií.
XML sitemapu rieši od verzie 5.5 samotný WordPress, ktorý ju sprístupňuje na adrese /wp-sitemap.xml a zahŕňa do nej aj vlastné typy obsahu a taxonómie, pokiaľ sú verejné (New XML Sitemaps Functionality in WordPress 5.5). Väčšina SEO doplnkov ju nahrádza vlastnou, takže sa oplatí overiť, ktorá z dvoch sitemáp sa nakoniec odosiela do Search Console, lebo dve súbežné mapy s odlišným obsahom robia v prehľadoch zmätok.
| Oblasť | Čo urobí jadro WooCommerce | Čo ostáva na vás |
|---|---|---|
| Titulok a meta popis produktu | Nič, použije sa názov produktu a šablóna témy | SEO doplnok alebo vlastná šablóna titulkov |
Údaje Product a Offer | Vkladá automaticky na stránku produktu | Vyplniť krátky popis, SKU a prípadne GTIN |
AggregateRating a Review | Len pri zapnutých recenziách a aspoň jednom hodnotení | Recenzie reálne zbierať a nezakazovať ich |
| Navigačné omrvinky | Generuje BreadcrumbList | Skontrolovať, či ich téma aj zobrazuje |
| Varianty ako samostatné položky | Nič, ProductGroup nevytvára | Doplnok alebo vlastný kód podľa dokumentácie Googlu |
| Tvar adries produktov a kategórií | Ponúka štyri základné možnosti | Rozhodnúť pred spustením obchodu |
| Presmerovania po zmene adries | Nerieši, staré adresy vrátia 404 | Doplnok na presmerovania alebo pravidlá na serveri |
| Odkazy na filtre podľa atribútov | Vytvára ich ako bežné odkazy s parametrami | Rozhodnúť, čo smie prehľadávač navštíviť |
Rozdiel medzi platformou a vašou prácou je tu väčší než pri hotových riešeniach, lebo WooCommerce dáva k dispozícii stavebnicu a nie hotový dom. Ak porovnávate, čo za vás rieši uzavretý systém, pozrite si, ako to isté vyzerá v článku o SEO na Shoptete, kde je väčšina rozhodnutí urobená už vopred.
2. Adresy produktov, kategórií a atribútov
Adresy sa nastavujú na jednom mieste, a to v ponuke Nastavenia a Trvalé odkazy, kde WooCommerce pridáva vlastnú sekciu k štandardným možnostiam WordPressu. Dokumentácia popisuje štyri možnosti základu adresy produktu: predvolený tvar /product/nazov-produktu, základ podľa stránky obchodu /shop/nazov-produktu, základ so zaradením do kategórie /shop/kategoria/nazov-produktu a vlastný text pred názvom produktu (WooCommerce: Permalinks).
Pri taxonómiách sa nastavuje základ osobitne, pričom predvolene je pre kategórie product-category a pre štítky product-tag, takže adresa kategórie vyzerá ako example.com/product-category/doplnky. Základ pre atribúty je prázdny, čo vedie k adresám v tvare example.com/size/medium, a tieto archívy vzniknú len vtedy, keď je pri atribúte zapnutá voľba Enable archives v ponuke Produkty a Atribúty.
💡 Zmena tvaru adries po spustení obchodu nie je kozmetická úprava. Dokumentácia výslovne upozorňuje, že zmenou sa prepíšu adresy existujúcich produktov a už zdieľané odkazy aj záznamy vo vyhľadávači začnú vracať chybu 404, pokiaľ nedoplníte presmerovania. Rozhodnutie preto patrí do prvého týždňa projektu, nie do druhého roka.
Slovenská diakritika v adresách je ďalší bod, ktorý sa rieši neskoro a draho. WordPress prevedie názov na tvar bez diakritiky sám, lenže pri importe produktov z iného systému sa občas dostanú do adries zakódované znaky, ktoré sú v prehliadači nečitateľné. Google odporúča jednoduché a zrozumiteľné adresy zložené zo slov namiesto identifikátorov a upozorňuje, že netypicky zložené adresy sťažujú prehľadávanie (Keep a simple URL structure).
Ak základ adresy meníte na už bežiacom obchode, pripravte si mapovanie starých adries na nové ešte pred zásahom a nasaďte ho v rovnakej chvíli, pretože niekoľko dní bez presmerovaní stačí na výrazný prepad. Podrobnosti o tom, ktorý typ presmerovania kedy použiť, sú v článku o presmerovaniach 301.
3. Filtre a parametre: kde vzniká nekonečný priestor adries
Filtrovanie podľa atribútov je vo WooCommerce postavené na parametroch v adrese. Vrstvený filter posiela do adresy parameter filter_<atribút> so zoznamom hodnôt a pri voľbe viacerých hodnôt ešte parameter query_type_<atribút> s hodnotou or, takže obchod s piatimi atribútmi vytvorí kombináciami tisíce adries, na ktoré aj odkazuje.
Google tento vzor pozná a popisuje ho ako najčastejšiu implementáciu filtrov, ktorá generuje nekonečný priestor adries a škodí webu dvoma spôsobmi: prehľadávač minie veľkú časť kapacity na adresy, o ktorých vopred nevie, že sú zbytočné, a na nové užitočné adresy mu ostane menej času (Managing crawling of faceted navigation URLs). Dokumentácia zároveň hovorí, že prehľadávanie filtrovaných adries býva mimoriadne náročné na výpočtový výkon práve pre ich množstvo.
Odporúčaný postup závisí od toho, či filtrované stránky chcete mať v indexe. Ak ich tam nepotrebujete, a to je v malom obchode takmer vždy, Google odporúča zakázať ich prehľadávanie v súbore robots.txt a nechať prístupné len stránky jednotlivých produktov a jeden nefiltrovaný výpis. Druhou možnosťou je postaviť filtrovanie na fragmente adresy za znakom mriežky, pretože fragmenty sa pri prehľadávaní a indexovaní vo všeobecnosti nepodporujú, takže naň nemajú vplyv ani kladný, ani záporný.
Kanonická adresa a atribút rel="nofollow" sú v dokumentácii uvedené ako ďalšie možnosti, lenže s výslovnou poznámkou, že sú z dlhodobého hľadiska menej účinné než predchádzajúce dva postupy. Pri rel="nofollow" platí navyše podmienka, ktorá sa v šablónach porušuje bežne: atribút musí mať každý odkaz smerujúci na danú adresu, takže stačí jeden odkaz bez neho a opatrenie prestane fungovať.
Pre bežný obchod na WooCommerce z toho vyplýva jednoduché pravidlo. Filtre, ktoré nikto nehľadá, zakážte v robots.txt na úrovni parametra, a kombinácie, na ktoré existuje reálny dopyt, napríklad značka v rámci kategórie, vytvorte ako samostatné kategórie s vlastným textom a vlastnou adresou. Ako rozlíšiť jedno od druhého, rozoberá článok o tom, ako riešiť stránkovanie a filtre.
4. Štruktúrované údaje, ktoré e-shop posiela bez doplnku
Práve preto, že jadro značkovanie generuje samo, sa jeho chyby objavujú neskoro. Do vlastnosti description sa dostane krátky popis produktu, a ak je prázdny, použije sa celý dlhý popis zbavený formátovania, takže pri nevyplnených krátkych popisoch odchádza do štruktúrovaných údajov niekoľko tisíc znakov textu. Katalógové číslo sa berie z poľa SKU a ak chýba, nahradí ho číselné ID produktu, čo je technicky platné, no pre porovnávače bezcenné.
Google rozlišuje dva druhy produktového značkovania a od toho sa odvíja aj to, čo vo výsledkoch uvidíte. Údaje typu Product s ponukou robia stránku spôsobilou pre takzvané merchant listings, teda zobrazenia s cenou, dostupnosťou a údajmi o doprave a vrátení tovaru, a týkajú sa stránok, kde sa produkt naozaj predáva (Merchant listing structured data). Redakčné recenzie a porovnania produktov patria naopak pod product snippet, kde sa ponuka nevyžaduje.
Overenie je pri WooCommerce rýchle a robí sa na hotovej stránke, nie v administrácii. Vložte adresu produktu do testu rozšírených výsledkov, pozrite si, ktoré typy Google na stránke našiel, a skontrolujte hlavne hodnoty ceny, dostupnosti a katalógového čísla, pretože chyby sa najčastejšie objavia práve tam. Ak vedľa seba nájdete dve sady údajov o tom istom produkte, jednu od jadra a druhú od SEO doplnku, niektorú z nich vypnite, lebo protirečivé ceny sú horší stav než žiadne značkovanie.
Zoznam vlastností, ktoré Google pri produktoch vyžaduje a odporúča, sa priebežne mení, takže sa oplatí sledovať priamo dokumentáciu (Product structured data). Všeobecný úvod do témy a vysvetlenie formátu JSON-LD nájdete v článku o tom, ako fungujú štruktúrované údaje.
5. Variabilné produkty a ceny v rozpätí
Variabilný produkt je vo WooCommerce jedna položka s viacerými variáciami, ktoré sa líšia atribútom, napríklad veľkosťou alebo farbou, a majú vlastnú cenu aj skladovú zásobu (WooCommerce: Variable Product). Pre vyhľadávač je to ale jedna adresa s viacerými cenami, čo sa musí nejako preložiť do štruktúrovaných údajov.
Jadro to rieši tak, že pri variabilnom produkte bez konkrétnej zvolenej variácie vloží do značkovania AggregateOffer s najnižšou a najvyššou cenou, teda cenové rozpätie namiesto jednej ceny. Keď adresa obsahuje úplne určenú variáciu, napríklad pri odkaze z produktového feedu, použije sa jediná ponuka s presnou cenou tejto variácie a doplní sa vlastnosť inProductGroupWithID, ktorá variácie drží pohromade.
Čo jadro nerobí, je značkovanie typu ProductGroup s vlastnosťami hasVariant a variesBy. Google pritom práve týmto typom rozlišuje, ktoré produkty sú variantmi toho istého rodiča, a stránky s ním sú spôsobilé na zobrazenie s informáciou o variantoch (Product variant structured data). Ak teda predávate oblečenie alebo obuv, kde sa varianty riešia na jednej stránke, bez doplnku alebo vlastného kódu túto možnosť nevyužijete.
💡 Rozhodnutie urobte na úrovni obchodu, nie jedného produktu. Buď majú varianty vlastné adresy a každá z nich nesie svoju cenu a dostupnosť, alebo je variant výberom na jednej stránke a potom potrebujete ProductGroup. Zmiešaný stav, keď polovica sortimentu funguje inak než druhá, sa ťažko kontroluje a v Search Console sa prejaví ako neprehľadná zmes chýb.
S cenovým rozpätím súvisí aj otázka, ako sa produkt javí v porovnaní s konkurenciou. Ak vo výsledku vidíte rozpätie od 19 € do 89 €, preklik dostane ten, kto ukazuje jednu zrozumiteľnú cenu, takže pri veľkých rozdieloch medzi variáciami zvážte rozdelenie na samostatné produkty. Rozhodnutie má dôsledky aj pre obsah, lebo samostatné produkty potrebujú samostatné popisy, čo je práca navyše.
6. Kontrolný zoznam pred spustením a po ňom
Poradie krokov nie je ľubovoľné, pretože prvé tri sa po spustení obchodu menia ťažko a zvyšok sa dá dolaďovať priebežne.
- Rozhodnite o tvare adries produktov a kategórií. Vyberte jednu zo štyroch možností základu produktu a upravte základ kategórií, ak vám predvolené
product-categorynevyhovuje. Po uložení skontrolujte, či sa produkty otvárajú, a ak vracajú chybu 404, uložte nastavenia ešte raz, čím WordPress obnoví pravidlá prepisu adries. - Pripravte presmerovania pre všetko, čo sa presúva. Platí to pri migrácii z iného systému aj pri neskorších zmenách štruktúry, pričom mapovanie starých adries na nové má byť hotové skôr, než zmenu nasadíte.
- Rozhodnite, čo robia filtre. Zakážte v robots.txt parametre, ktoré nemajú byť prehľadávané, a nechajte prístupné nefiltrované výpisy kategórií aj jednotlivé produkty.
- Doplňte SKU a krátke popisy. Krátky popis sa dostáva do štruktúrovaných údajov, takže ho napíšte v rozsahu dvoch až troch viet a vyhnite sa tomu, aby doň padol celý dlhý popis.
- Overte jednu stránku od každého typu. Jeden jednoduchý produkt, jeden variabilný a jednu kategóriu prejdite testom rozšírených výsledkov a skontrolujte cenu, dostupnosť aj to, či sa značkovanie neduplikuje s doplnkom.
- Skontrolujte, ktoré stránky nemajú byť v indexe. Košík, pokladňa, stránka účtu a výsledky interného vyhľadávania nemajú vo vyhľadávaní čo robiť, takže si v zdrojovom kóde overte, či nesú značku
noindex, a ak nie, doplňte ju (Block search indexing with noindex). - Sledujte v Search Console prehľad indexovania. Rastúci počet adries v stave „zistené, ale zatiaľ neindexované“ býva pri WooCommerce prvým príznakom toho, že filtre púšťate ďalej, než by ste mali.
Rýchlosť je pri obchode na WordPresse samostatná kapitola, ktorá sa do jedného článku nevtesná, lebo závisí od šablóny, počtu doplnkov aj od hostingu. Ak riešite pomalé načítanie kategórií s množstvom obrázkov, začnite článkom o tom, čo znamenajú Core Web Vitals, a až potom siahajte po doplnkoch na vyrovnávaciu pamäť.
Zvyšok práce sa nelíši od ktoréhokoľvek iného obchodu a rozhoduje o ňom obsah kategórií, ich štruktúra a odkazy, nie nastavenia platformy. Tie sú len podmienkou, aby sa obsah dal nájsť, a samotnému obsahu sa podrobne venuje článok o tom, ako robiť SEO pre e-shop.
Zdroje
- WooCommerce Documentation: Permalinks, štyri možnosti základu adresy produktu, predvolené základy
product-categoryaproduct-tag, voľba Enable archives pri atribútoch a dôsledky zmeny štruktúry adries. - WooCommerce Documentation: Managing Product Categories, Tags and Attributes, hierarchia kategórií, úloha štítkov a atribútov pri filtrovaní a pri variabilných produktoch.
- WooCommerce Documentation: Variable Product, variácie s vlastnou cenou, obrázkom a skladovou zásobou.
- WooCommerce, zdrojový kód: class-wc-structured-data.php, generovanie typov
Product,Offer,AggregateOffer,AggregateRating,ReviewaBreadcrumbList, zdroj popisu a katalógového čísla, cenové rozpätie pri variabilnom produkte. - Google Crawling Infrastructure: Managing crawling of faceted navigation URLs, nekonečný priestor adries z filtrov, zákaz v robots.txt, fragmenty adries a obmedzená účinnosť kanonickej adresy aj atribútu
rel="nofollow". - Google Search Central: Merchant listing (Product, Offer) structured data, podmienky pre zobrazenie s cenou a dostupnosťou a rozdiel oproti značkovaniu product snippet.
- Google Search Central: Product variant structured data, typ
ProductGroups vlastnosťamihasVariantavariesBya dva prístupy k variantom na jednej alebo viacerých stránkach. - Google Search Central: Keep a simple URL structure, odporúčanie čitateľných adries zo slov namiesto identifikátorov.
- Google Search Central: Block search indexing with noindex, vylúčenie stránok z indexu značkou v hlavičke alebo v odpovedi servera.
- Make WordPress Core: New XML Sitemaps Functionality in WordPress 5.5, sitemapa v jadre na adrese
/wp-sitemap.xmla jej obsah.
Časté otázky
Potrebujem k WooCommerce ešte SEO doplnok?
Na štruktúrované údaje o produktoch nie, pretože tie vkladá jadro samo. Doplnok potrebujete na veci, ktoré WooCommerce nerieši, teda na šablóny titulkov a meta popisov, na značku noindex pri vybraných typoch stránok a na prácu s kanonickými adresami. Ak doplnok produktové značkovanie pridáva tiež, jednu z dvoch sád vypnite, aby si ceny neprotirečili.
Ktorý tvar adresy produktu je pre SEO najlepší?
Dokumentácia Googlu neodporúča konkrétny základ adresy, hovorí len o jednoduchej a čitateľnej štruktúre zloženej zo slov. Podstatnejšie než výber medzi tvarmi /product/ a /shop/ je to, aby ste sa pre jeden z nich rozhodli pred spustením obchodu a potom ho už nemenili, lebo každá zmena znamená nové adresy a nutnosť presmerovaní.
Prečo Google pri mojom variabilnom produkte ukazuje cenové rozpätie?
Pretože jadro WooCommerce vkladá pri variabilnom produkte bez zvolenej variácie ponuku typu AggregateOffer s najnižšou a najvyššou cenou variácií. Ak chcete jednu cenu, buď rozdeľte sortiment na samostatné produkty, alebo doplňte značkovanie ProductGroup, ktoré varianty popisuje jednotlivo.
Mám nechať Google prehľadávať filtrované výpisy?
Vo väčšine obchodov nie. Google priamo odporúča zakázať prehľadávanie filtrovaných adries v súbore robots.txt, ak ich nepotrebujete mať v indexe, a nechať prístupné iba stránky produktov a nefiltrovaný výpis. Kombinácie s reálnym dopytom, napríklad značka v kategórii, vytvorte radšej ako samostatné kategórie s vlastným textom.
Po zmene štruktúry adries mi produkty hádžu chybu 404. Čo s tým?
Najprv otvorte nastavenia trvalých odkazov a uložte ich znova aj bez úpravy, čím WordPress obnoví pravidlá prepisu adries, a podľa dokumentácie to tento problém zvyčajne odstráni. Ak chyby pretrvávajú pri starých adresách zdieľaných inde alebo zaindexovaných, potrebujete na ne presmerovania, pretože tie sa nevytvárajú automaticky.
Ako zistím, či moje produkty posielajú Googlu správne údaje?
Vezmite adresu hotovej stránky, nie náhľad z administrácie, a overte ju testom rozšírených výsledkov. Sledujte, ktoré typy sa našli, či cena a dostupnosť zodpovedajú skutočnosti a či sa údaje o jednom produkte neobjavujú dvakrát. Priebežný stav potom ukazuje Search Console v prehľadoch pre jednotlivé typy značkovania.