Technické SEO

Kanonická URL: co to je, kdy použít rel=canonical a jak opravit duplicity

Kanonická URL je adresa, kterou považujete za hlavní verzi stránky, když stejný obsah existuje na více adresách. Vyhledávači ji sdělujete značkou <link rel="canonical"> v hlavičce stránky. Google ji bere jako silné doporučení, ne příkaz: pokud ostatní signály ukazují jinam, zvolí si kanonickou adresu sám.

Redakce ZmínkyPublikováno 7 min čtení

Co je kanonická URL a proč na ní záleží

Pro člověka je vasweb.cz/sluzby a www.vasweb.cz/sluzby/ jedna a tatáž stránka. Pro vyhledávač jsou to dvě různé adresy. Když se obsah dá načíst na několika adresách, vzniká duplicita a vyhledávač musí vybrat, kterou z nich ukáže ve výsledcích. Tuto vybranou adresu nazýváme kanonická (anglicky canonical).

Duplicita sama o sobě není trest. Google kvůli ní web nepenalizuje. Problémy jsou praktické:

  • Rozdělené signály. Odkazy z jiných webů míří na různé verze adresy a jejich síla se tříští místo toho, aby posilovala jednu stránku.
  • Špatná verze ve výsledcích. Google může zobrazit adresu s parametrem z reklamní kampaně nebo verzi pro tisk.
  • Zbytečné procházení. Robot tráví čas na tisících variant téže stránky a ke skutečně novému obsahu se dostane později.
  • Nepřehledné statistiky. V Search Console se návštěvy jedné stránky rozpadnou do několika řádků.

Odkud se duplicity berou

Většinu duplicit nikdo nevytvořil záměrně. Vznikají z technického nastavení webu:

Nejčastější zdroje duplicitních adres
ZdrojPříklad adres se stejným obsahemTypické řešení
www a bez wwwvasweb.cz/ a www.vasweb.cz/Přesměrování 301 na jednu verzi
http a httpshttp://vasweb.cz/ a https://vasweb.cz/Přesměrování 301 na https
Koncové lomítko/kontakt a /kontakt/Přesměrování na jednu podobu
Sledovací parametry/kava?utm_source=newsletterCanonical na adresu bez parametru
Řazení a filtry e-shopu/zrnkova-kava?razeni=cenaCanonical na základní kategorii
Produkt ve více kategoriích/kava/etiopie a /vyprodej/etiopieJedna adresa produktu nebo canonical
Velká a malá písmena/Kontakt a /kontaktPřesměrování na malá písmena
Verze pro tisk, AMP, staré kopie/clanek?print=1Canonical na hlavní verzi

Všimněte si, že u prvních tří řádků je lepším řešením přesměrování než canonical. Pokud alternativní adresa nemá pro návštěvníka žádný smysl, nepouštějte ho na ni vůbec. Jak na to, popisuje článek přesměrování 301. Canonical je správná volba tam, kde obě verze musí fungovat: filtr, který zákazník reálně používá, nebo odkaz s parametrem z newsletteru.

Příklad z praxe: zubní ordinace v Plzni spustila nový web a v Search Console po měsíci vidí, že stránka Ceník se zobrazuje ve třech podobách. Jednou s www, jednou bez a jednou s parametrem ?fbclid=, který přidává Facebook ke sdíleným odkazům. Žádná ze tří verzí nesbírá všechny návštěvy a všechny odkazy. Po přesměrování na jednu doménu a doplnění self-canonical se signály sloučí do jedné adresy.

Postup: jak na webu uklidit duplicity

  1. Vyberte jednu podobu domény. S www, nebo bez, vždy na https. Ostatní varianty přesměrujte trvale na zvolenou.
  2. Sjednoťte koncové lomítko a velikost písmen. Rozhodněte se pro jednu podobu adres a zbytek přesměrujte. Většina redakčních systémů to umí nastavit centrálně.
  3. Doplňte self-canonical na všechny stránky, které chcete mít ve výsledcích.
  4. Nastavte canonical u variant, které musí zůstat funkční: řazení, filtry, parametry kampaní, verze pro tisk.
  5. Opravte interní odkazy. Menu, patička i odkazy v textu mají vést přímo na kanonické adresy, ne na varianty nebo staré adresy s přesměrováním.
  6. Projděte mapu webu. Musí obsahovat jen kanonické adresy.
  7. Po několika týdnech ověřte výsledek v Search Console, jestli Google vaše volby přijal.

Jak se rel=canonical zapisuje

Značka patří do sekce <head> a odkazuje na hlavní verzi stránky. Používejte vždy úplnou absolutní adresu včetně https:// a domény:

<!-- Na adrese https://www.eshop-kava.cz/zrnkova-kava?razeni=cena -->
<head>
  <link rel="canonical" href="https://www.eshop-kava.cz/zrnkova-kava" />
</head>

U souborů, které nemají HTML hlavičku, třeba PDF, můžete kanonickou adresu poslat v HTTP hlavičce odpovědi serveru:

Link: <https://www.vasweb.cz/cenik/>; rel="canonical"

Self-canonical: stránka odkazuje sama na sebe

Doporučujeme, aby každá indexovatelná stránka měla canonical sama na sebe (self-canonical). Vypadá to zbytečně, ale chrání vás to: když někdo na stránku odkáže s parametrem nebo ji systém zobrazí na jiné adrese, značka jasně řekne, která verze je ta pravá. WordPress se SEO pluginem i Shoptet to obvykle dělají automaticky.

Kde canonical nastavit

Ve WordPressu canonical přidávají pluginy Yoast SEO, Rank Math i SEOPress. Výchozí hodnota je self-canonical a u jednotlivé stránky ji můžete v rozšířeném nastavení přepsat na jinou adresu. Na Shoptetu a jiných pronajatých platformách canonical generuje systém a ruční změny bývají omezené, proto stačí ověřit, že výsledek dává smysl. U webu na míru požádejte vývojáře, aby canonical generoval z jednoho místa podle pravidla, ne ručně u každé stránky.

Kanonická adresa má význam i pro AI vyhledávání. Copilot vychází z indexu Bingu a ChatGPT, Perplexity nebo Claude citují stránky, které najdou jejich roboti a vyhledávací indexy. Když má stránka jednu jasnou adresu, je větší šance, že odpověď odkáže právě na ni, a ne na variantu s parametrem.

Canonical je doporučení, ne příkaz

Google při výběru kanonické adresy zvažuje víc signálů najednou: značku canonical, přesměrování, interní odkazy, adresy v sitemapě a to, jestli je stránka na https. Když si signály odporují, například canonical ukazuje na adresu A, ale všechny interní odkazy a mapa webu vedou na adresu B, Google může zvolit B. Proto nestačí canonical nastavit. Všechny signály musí ukazovat stejným směrem. Seznam a Bing značku canonical také podporují.

Kanonické adresy v e-shopu: filtry, varianty, stránkování

E-shopy mají duplicit nejvíc, protože kombinace filtrů a řazení vytvoří z jedné kategorie stovky adres. Vezměme e-shop s kávou na Shoptetu a kategorii Zrnková káva:

  • Řazení (?razeni=cena, ?razeni=nejprodavanejsi) obsah nemění, jen pořadí. Canonical na základní kategorii.
  • Běžné filtry (?prazirna=, ?baleni=) zúží výběr, ale samostatnou stránku pro hledání si obvykle nezaslouží. Canonical na kategorii.
  • Filtr, který lidé hledají, třeba „bezkofeinová zrnková káva“, si zaslouží vlastní indexovatelnou stránku s vlastním textem, titulkem a self-canonical. Takovou stránku je lepší vytvořit jako podkategorii než spoléhat na parametr.
  • Stránkování (?strana=2) má mít canonical samo na sebe, ne na první stranu. Druhá strana obsahuje jiné produkty, a kdyby ukazovala na první, robot by se k produktům na dalších stranách hůř dostal.
  • Varianty produktu (velikost balení, mletí) obvykle patří na jednu adresu produktu s výběrem varianty. Pokud má každá varianta vlastní adresu, sjednoťte je canonicalem na hlavní produkt.

Pronajaté platformy většinu z toho řeší samy, ale ne vždy podle vašich potřeb. Zkontrolujte zdrojový kód několika filtrovaných stránek, co v canonicalu skutečně je. Další specifika obchodů rozebírá článek SEO pro e-shop.

Časté chyby s canonicalem

  1. Všechny stránky ukazují na domovskou stránku. Typická chyba šablony. Google pak buď značku ignoruje, nebo v horším případě přestane podstránky zobrazovat.
  2. Relativní adresa (href="/kontakt") nebo adresa s chybou v doméně, například zapomenutá vývojová doména test.vasweb.cz.
  3. Canonical na adresu s přesměrováním, chybou 404 nebo zákazem v robots.txt. Kanonická adresa musí odpovídat kódem 200 a být přístupná robotům.
  4. Dvě značky canonical na jedné stránce, například jednu přidá šablona a druhou plugin. Google v takovém případě obě ignoruje.
  5. Kombinace canonical a noindex. Canonical říká „tohle je kopie, indexuj originál“, noindex říká „tohle vůbec neindexuj“. Rozhodněte se pro jedno. Kdy je správná volba noindex, rozebíráme samostatně.
  6. Canonical vložený JavaScriptem, který se liší od adresy v původním HTML. Robot pak dostane dva protichůdné signály.
  7. Jazykové verze s canonicalem na češtinu. Slovenská verze stránky není duplicita české. Každá jazyková verze má mít canonical sama na sebe a vazby mezi nimi se řeší přes hreflang.

Jak ověřit kanonickou adresu

  1. Zdrojový kód. Na stránce stiskněte Ctrl+U (na Macu Cmd+Option+U) a vyhledejte canonical. Měla by tam být právě jedna značka se správnou absolutní adresou.
  2. Kontrola URL v Google Search Console. Vložte adresu do horního pole. V detailu indexace uvidíte dvě hodnoty: kanonickou adresu deklarovanou vámi a kanonickou adresu, kterou zvolil Google. Pokud se liší, Google vaše doporučení nepřijal.
  3. Přehled Stránky v Search Console. Hledejte důvody neindexování, které mluví o duplicitě, typicky stav, kdy Google zvolil jinou kanonickou stránku než uživatel. Postup práce s přehledem najdete v návodu na Search Console.
  4. Procházení celého webu. Screaming Frog SEO Spider (zdarma do 500 adres) vypíše canonical u každé stránky a upozorní na chybějící, vícenásobné nebo nekonzistentní značky.

Když Google zvolí jinou kanonickou adresu, než chcete, neopravujte jen značku. Projděte interní odkazy, mapu webu a přesměrování, ať všechny vedou na stejnou adresu. Pokud jsou dvě stránky obsahově skoro shodné, zvažte jejich sloučení do jedné silnější stránky a přesměrování té druhé. Někdy je to naopak: Google stránky považuje za duplicitní, protože se liší jen pár slovy, třeba u stránek služeb pro různá města. Pak pomůže doplnit každé z nich skutečně vlastní obsah. Stránka, kterou Google vyhodnotí jako duplicitní, se do výsledků nedostane, což je jeden z důvodů popsaných v článku proč Google neindexuje stránky.

Rychlou kontrolu, jestli vaše stránka kanonickou adresu má a jestli odpovídá, zvládne bezplatný sken webu.

Časté otázky

Musí mít každá stránka canonical?

Povinné to není, ale doporučujeme to. Self-canonical na každé indexovatelné stránce předejde problémům s parametry a odkazy na jiné varianty adresy.

Je lepší canonical, nebo přesměrování 301?

Pokud druhou adresu nikdo nepotřebuje, je lepší přesměrování. Canonical použijte tam, kde obě verze musí pro návštěvníka fungovat, například u filtrů nebo adres s parametry kampaní.

Proč Google ignoruje můj canonical?

Nejčastěji proto, že mu odporují jiné signály: interní odkazy, sitemap nebo přesměrování vedou jinam, případně stránky nejsou obsahově shodné.

Přenáší canonical hodnotu odkazů?

Pokud Google doporučení přijme, slučuje signály duplicitních adres do kanonické verze, takže odkazy na varianty posílí hlavní stránku.

Může canonical vést na jiný web?

Ano, Google podporuje canonical napříč doménami. Používá se hlavně u přebíraného obsahu, kdy kopie odkazuje na originál.

Související články