Jak správně na stránkování z pohledu SEO

Jak vypadá stránkování na Mall.cz

Špatně řešené stránkování je velmi častá a přitom zanedbávaná chyba v SEO. Přiznejme si, že to není žádný mega problém, nicméně je třeba si říct, jaké řešení je z pohledu SEO správné.

Jak vypadá stránkování na Mall.cz
Jak vypadá stránkování Mall.cz

Teoretický úvod do problému

Je třeba tu důležitou část zmínit hned na začátku, protože toto východisko budeme potřebovat později pro pochopení celého problému. Stránkování není nic jiného než rozdělení jedné stránky s velkým množstvím produktů na více stránek z důvodu přehlednosti.  Z pohledu získávání návštěvnosti jsou stránky jako Lednice stránka 2, Lednice stránka 3, Lednice stránka 4 … až třeba Lednice stránka 42 pro nás nezajímavé. Co nás zajímá, je dostávat lidi z vyhledávačů na stránku Lednice, tedy stránku kategorie, což je tedy 1. stránka stránkování. Ostatní stránky jsou jen velmi podobné obsahem a v mnoha případech navíc nestálé obsahem. Takže opravdu stránky se stránkováním z pohledu SEO nepotřebujeme.

Nepoužíváné rel=”next/prev”

Dle Google prý rel=”next/prev” roky nepodporuje

Pozor, 21. března 2019 Google uvedl, že nepodporuje tuto metodu označení stránkování. Údajně prý už několik let. Oficiální stránka s nápovědou je už smazaná. Nápověda na YouTube videu však ne.

Celé to nějak smrdí. Ještě před krátkou dobou to Google doporučoval, teď otáčí a tvrdí, že to už roky nepoužívá. Google zpublikoval oficiální vyjádření i omluvu, ale na dotazy nereaguje. Zda to platí i u stránek s komentáři, zda i s načítáním dalších stránek přes JS a jak to bude s články rozdělené na vícero.

Proč to smrdí?

Tibor Peták dělal v roce 2019 zajímavou studii, které prokazuje (slide 18), že rel next/prev něco dělá.

Jarda Hlavinka na svých datech ukazuje, že 3 dny po nasazení spadly počty zobrazení stránkovaných výpisů (jako například 2+ stránky) z vyhledávání:

Řešení 1.1 – tvořte jasnou strukturu stránkování

  1. Google si věří a pokud používáte předvídatelné parametry v URL jako page=2, strana=2, p=2, s=2, paged=2, pagination=2, /2.php, /2.html aj. nejspíše to zvládne projít.
  2. Tento parametr nastavte v Google Search Console v sekci “Parametry URL” jako “stránkující” parametr.
  3. Odkazujte ze stránkování tak, aby se bylo možné proklikat z první stránky k poslední stránce výpisu i bez JavaScriptu.
  4. Z každé stránky výpisu stránkování odkazujte na první stránku výpisu.
  5. Text ke kategorii má být jen na první stránce stránkování. Na ostatních ho nevypisujte.
  6. Pokud to není extrémně náročné, asi bych hned od rel next/prev neutíkal a nasadil bych ho – viz další kapitola. Pokud to je extrémně náročné, vyřešte jen body 1 – 4 tohoto seznamu.
  7. Pokud máte rel next/prev nasazen, neřešte nic. Nemazat, neodstraňovat.

Řešení 1.2 – rel=”next/prev”

Toto řešení je jednoduché, ale podporoval ho jen Google. Proto bylo ideální pro zahraniční projekty nebo tam, kde stránkování pro Seznam.cz není priorita. Do zdrojového kódu přidáte  <link rel="next" href="clanek2.html> v HTML hlavičce nebo obdobně v HTTP hlavičce:
Link: <www.example.com/clanek-cast2; rel="next">
Link: <www.example.com/clanek-cast2; rel="prev">

Stránkování pomocí rel prev/next
Stránkování pomocí rel prev/next

Je to jednoznačně nejlepší řešení, ale jak jsem zmínil, tohle řešení fungovalo jen pro Google, funguje pro Bing ale ne pro Seznam a Yandex. Zachovává nám hodnocení stránek.

Kanonizace

Druhý způsob, který můžete využít, je že vytvoříte speciální stránku, kde bude výpis všech produktů z kategorie a na ni nasměrujete canonical tag všech stránek stránkování včetně první. Funguje pro všechny vyhledávače včetně Seznamu a Yandexu. Zachová nám hodnocení stránek.

Zdroj: https://www.ayima.com/blog/conquering-pagination-guide.html

Tuto variantu nemám rád, nedoporučuji a pro své klienty neimplementuji. Je to řešení jen pro roboty, výsledná stránka se načítá dlouho, je pomalá a nepřehledná. Navíc se v ní často chybuje a canonical vývojáři nastavují špatně z druhé a všech následujících na 1. stránku stránkování.

Nevýhoda tohoto řešení je, že se může třískat se self-canonicalem a nemusí fungovat vždy, protože canonical je jen doporučení a uživatelská přívětivost jde do háje.

Noindex, follow

Posledním řešením je na 2. a všechny další stránky ve stránkování dát do HTML hlavičky do meta robots direktivu noindex,follow. Funguje ve všech vyhledávačích.

Nevýhoda tohoto řešení je, že pokud vaše stránkovací stránky měly nějaké zásadní hodnocení, přijdou o ně. Co se týče přenášení linkjuice na podstránky (produkty), tam by to mělo být v pořádku. Stejně tak časem vyhledávače mohou časem tyto stránky vyřadit zcela z vyhledávání a roboti tam mohou přestat chodit. Je to potenciálně rizikové řešení s mnoha ale.

100 % funkční  řešení pro stránkování napříč vyhledávači

Jak jste si asi všimli, neexistuje dobré řešení, který by fungovalo jak na Google, tak i Seznamu. Na druhou stranu Google řekl, že by se různé metody neměly kombinovat. Tak tu máme plně funkční white hat metodu s několika puntíky světle šedivé :-):

  1. Implementujte rel=next/prev, jen pokud to není příliš časově/finančně náročné.
  2. Na stránkách s rel=next/prev odstraňte noindex a podobné protichůdné pokyny pro vyhledávače.
  3. V stránkování musí být URL parametry jako page=2, strana=2, p=2, s=2, paged=2, pagination=2, /2.php, /2.html aj.
  4. Tento parametr nastavte v Google Search Console v sekci “Parametry URL” jako “stránkující” parametr.
  5. Odkazujte ze stránkování tak, aby se bylo možné proklikat z první stránky k poslední stránce výpisu i bez JavaScriptu.
  6. Zajistěte aby interní odkazy ze stránkování vedly na 1. stranu.
  7. Z každé stránky výpisu stránkování odkazujte na první stránku výpisu.
    Example of pagination on Government website
  8.  
  9. Odkazy by měly vést vždy krom první stránky i na poslední a také na “předchozí” a “další”.
  10. Do titulku a nadpis doplňte strana [číslo strany] z [poslední strana stránkování] , tedy například: “Mobilní telefony strana 3 z 13 | Mall.cz”.
  11. Text a obrázek ke kategorii má být jen na první stránce stránkování. Na ostatních ho nevypisujte.
  12. Toto patrně nebude třeba pokud nemáte se stránkováním na Seznamu problémy: Na 2. a další následující stránky vložte meta robots s noindex,follow a zároveň programátorsky zařiďte přes user-agent
    Mozilla/5.0 (compatible; SeznamBot/3.2; +http://napoveda.seznam.cz/en/seznambot-intro/)

    aby se zobrazoval jen SeznamBotovi.

  13. Dejte si dobrý rum po dobře odvedené práci 🥃.

Zdroje:

12746 zhlédnutí (celkově) 1 zhlédnutí (dnes)
4.2/5 - (6 votes)

Jsem konzultant online marketingu a specializuji se na SEO a inbound marketing. Od roku 2009 jsem pracoval jako senior SEO konzultant pro největší klienty agentur Ataxo a H1.cz. Úspěšně publikuji, školím a přednáším o online marketingu, který doopravdy miluju. Jsem důsledný, zodpovědný, kritický, se smyslem pro detail.

Pavel Ungr
Jsem konzultant online marketingu a specializuji se na SEO a inbound marketing. Od roku 2009 jsem pracoval jako senior SEO konzultant pro největší klienty agentur Ataxo a H1.cz. Úspěšně publikuji, školím a přednáším o online marketingu, který doopravdy miluju. Jsem důsledný, zodpovědný, kritický, se smyslem pro detail.

Komentáře: 22

  1. Ano, ale je je to ve prospěch uživatele i vyhledávače. Seznam s tím zjevně problém nemá.

  2. Vdaka za clanok. Mozem sa opytat – je rozdiel medzi pouzitim link href=”…” rel=”prev” v hlavicke stranky, verzus pouzitim priamo na “a” tagoch, tj a href=”…” rel=”prev v zdrojovom kode? Myslim samozrejme z pohladu google bota. ospravedlnujem sa za neprehladnu otazku, ale nie je povolene vkladat sem < ani >

    1. Myslím, že by mělo fungovat obojí, jen link v html hlavičce je přímo v dokumentaci Google.

      1. Dakujem za odpoved, prave, v oficialnej dokumentacii som nasiel len variant s hlavickou, aj ked dokumentacia k “a” tagu, konkretne “rel” atributu hovori jasne.

  3. Ahoj!

    Co se prosim stane v pripade, ze tedy pro SeznamBota oznacim 2. a dalsi stranku jako noindex, nofollow – zaindexuji se mi na Seznam.cz vyrobky na ktere vedou odkazy prave z techto stranek? (predpokladejme ze na ty vyrobky jiz nevede zadny jiny odkaz v ramci daneho webu).

    Predem diky moc!

    1. Ano, proto se to dělá. Nejenomže se zaindexují, ale zároveň se na ně přenáší hodnocení z odkazů.

  4. Zaujimalo by ma este ci pre riesenie 3 je vhodne dat vsetkym strankam rovnaku canonical adresu (na prvu stranku), alebo nie? Co si myslite o tomto rieseni?

    1. Je to častá chyba, a toto řešení je špatně 1 stránka není nikdy kanonická vůči ostatním. Obecně stačí postupovat dle dokumentace vyhledávačů a nevymýšlet něco jiného 🙂

  5. Mám eshop s 7 000 URL (většinou produkty a kategorie)
    Robot mi (dle searchconsole) ale zaindexoval cca 100 000 url se stránkováním (typicky kategorie-strana-2, kategorie-strana-3 až kategorie-strana-560 a to pro každou kategorii).
    Přitom URL stránek s produkty v searchconsoli nevidím
    Mám implementováno rel/prev/start u každého odkazu v listování
    Opravdu je indexování všech stránek v listování to co chci?? 🙂

    1. Ještě doplním:
      vždycky jsem měl za to, že /kategorie/ a /kategorie-strana-2/ musí robot brát jako duplicitu (přece pro každou z 560 stránek nemůžu vyplnit jiný popis)
      A výpis produktů asi nemá tak velkou informační hodnotu (je tam obrázek produktu, název, cena…)

  6. Platí stále č. 10 - strana [číslo strany] z [poslední strana stránkování] napsal:

    Koukal jsem na Vašeho klienta, a zdá se mi že bod 10. jste tam zatím neimplementovali? Je to záměr nebo došlo k nějakým změnám?

    site:alkohol.cz/produkty/gin/kategorie/

  7. Pavle, moc za tenhle článek děkuji. Měli jsme na eshopu nasazený infinite (GSC se to dlouhodobě nelíbilo) a konečně došlo k jeho změně, byť byly tam i pádné UX důvody. Zkoušeli jsme jednu mutaci mezi infinitem a klasickým stránkováním, ale nakonec jsme se inspirovali právě také tady.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

CommentLuv badge