Kanonické URL (canonical): jak řešit duplicity

Kanonické URL (canonical): jak řešit duplicity Foto: Pixabay

Kanonická URL (rel=canonical) je značka, kterou vyhledávači řeknete, která z několika podobných nebo shodných adres je ta hlavní — ta, kterou má hodnotit a zobrazovat ve výsledcích. Řeší problém duplicitního obsahu: když je tentýž obsah dostupný na více adresách, canonical sloučí jejich hodnotu do jedné vybrané verze místo toho, aby si navzájem konkurovaly. V tomhle návodu si vysvětlíme, jak canonical funguje, kdy ho použít, jak ho nastavit na WordPressu a jak se liší od přesměrování 301 a značky noindex, se kterými se často plete.

Co je kanonická URL

Kanonická URL je adresa, kterou označíte za oficiální, „pravou“ verzi obsahu. Technicky se zapisuje značkou v HTML hlavičce stránky, která odkazuje sama na sebe nebo na jinou adresu se stejným obsahem. Vyhledávač tuto značku bere jako silné doporučení, kterou verzi má považovat za hlavní.

Podstatné slovo je „doporučení“. Na rozdíl od přesměrování 301, které je příkaz, je canonical pro Google nápověda. Google ji ve většině případů respektuje, ale může se rozhodnout jinak, pokud vidí signály, které mu napovídají, že hlavní by měla být jiná verze. Proto je důležité posílat konzistentní signály, o kterých bude řeč dál.

Proč vůbec vzniká duplicitní obsah

Duplicitní obsah zní jako něco, co byste museli vytvořit schválně, ale ve skutečnosti vzniká sám a technicky. Tentýž obsah bývá dostupný na několika adresách, aniž by si toho kdokoli všiml:

  • Verze s www a bez www, s HTTP a HTTPS — čtyři varianty téže homepage.
  • Adresa s lomítkem na konci i bez něj (/sluzba a /sluzba/).
  • URL s parametry — řazení, filtry, sledovací kódy z kampaní (?utm_source=…).
  • Tiskové verze stránek nebo AMP varianty.
  • Produkt dostupný ve více kategoriích s odlišnou cestou v adrese.
  • Stránkování a filtrování v e-shopu generující desítky variant seznamu.

Ve všech těchto případech vidí Google víc adres s prakticky stejným obsahem. Bez jasného signálu neví, kterou hodnotit, rozmělní mezi ně sílu odkazů a může zobrazit ve výsledcích jinou verzi, než chcete. Canonical je nástroj, který tenhle chaos uklidí.

Jak canonical funguje

Kanonická značka se vkládá do hlavičky stránky a vypadá takto:

<link rel="canonical" href="https://www.vasedomena.cz/hlavni-verze/" />

Když má několik adres se stejným obsahem tuto značku mířící na jednu vybranou URL, Google pochopí, že hlavní je právě ta, a ostatní bere jako její kopie. Hodnocení a sílu odkazů pak přisoudí kanonické verzi. Návštěvník rozdíl nepozná — na rozdíl od 301 zůstane na adrese, kterou otevřel, mění se jen to, kterou verzi hodnotí vyhledávač.

Self-referencing canonical: základ, na který se zapomíná

Nejčastější a nejužitečnější použití canonicalu je tzv. self-referencing — každá stránka odkazuje kanonicky sama na sebe. Zní to zbytečně, ale má to smysl: pojistí vás to proti automaticky vznikajícím variantám s parametry. Když někdo přijde na vaši stránku s přidaným sledovacím parametrem z kampaně, self-referencing canonical Googlu řekne, že hlavní je čistá verze bez parametru.

Dobrá zpráva pro uživatele WordPressu: SEO pluginy jako Yoast přidávají self-referencing canonical automaticky ke každé stránce. Nemusíte tedy nic dělat ručně — jen je dobré vědět, že se to děje, a nerozbít to vlastními zásahy.

Trápí vás duplicity a rozházená indexace?

Projdeme web crawlerem, najdeme duplicitní adresy a špatně nastavené kanonické značky a navrhneme, jak indexaci uklidit — aby Google hodnotil ty správné stránky.

Chci technický audit webu →

Canonical vs. 301 vs. noindex: kdy co použít

Tahle trojice se plete nejčastěji, přitom každý nástroj řeší jinou situaci. Rozhodovací pravidlo:

  • 301 přesměrování: když má existovat jen jedna verze a na starou se už nemá nikdo dostat. Návštěvník i robot skončí na nové adrese. Použijte při rušení a stěhování stránek.
  • Canonical: když obě adresy mají zůstat dostupné pro návštěvníky, ale hodnotit se má jen jedna. Typicky u parametrů, filtrů a variant téhož produktu.
  • Noindex: když stránka má být pro návštěvníky dostupná, ale vůbec nemá být ve výsledcích vyhledávání. Třeba interní vyhledávání nebo děkovací stránky.

Klíčová otázka zní: mají obě adresy dál existovat? Pokud ne, je řešením 301. Pokud ano, ale hodnotit se má jen jedna, je řešením canonical. Pokud stránka nemá být v indexu vůbec, je řešením noindex. Když si tuhle otázku vždycky položíte, nespletete se.

Jak nastavit canonical na WordPressu

Na WordPressu s pluginem Yoast SEO máte canonical z velké části vyřešený automaticky, ale je dobré vědět, kde ho v případě potřeby upravit:

  • Yoast přidává self-referencing canonical ke každé stránce a příspěvku automaticky — ve výchozím stavu nemusíte nic dělat.
  • Chcete-li konkrétní stránku kanonicky odkázat jinam, otevřete v editoru Yoast panel, záložku Pokročilé (Advanced) a do pole Canonical URL vložte cílovou adresu.
  • Používejte vždy plnou, absolutní adresu včetně https a domény, ne relativní cestu.
  • Po nastavení ověřte, že kanonická značka na stránce skutečně míří tam, kam má.

Ruční nastavení canonicalu potřebujete jen ve specifických případech — třeba když máte podobný obsah na dvou stránkách a chcete jednu z nich sloučit s druhou bez přesměrování. V běžném provozu stačí automatika pluginu.

Typické chyby s kanonickými URL

  • Canonical míří na neexistující, přesměrovanou nebo noindexovanou stránku — Google pak signál ignoruje.
  • Všechny stránky kanonicky odkazují na homepage (klasický omyl při špatné konfiguraci) — Google z indexu vyhodí celý web kromě titulky.
  • Rozpor mezi canonicalem a sitemapou: v sitemapě je jedna verze, canonical míří na jinou.
  • Canonical na stránkování ukazuje na první stránku místo self-referencing — Google pak neindexuje hlubší stránky seznamu.
  • Relativní adresa místo absolutní, kterou Google vyhodnotí špatně.
  • Míchání signálů: stránka má zároveň canonical jinam i vlastní noindex, což si protiřečí.

Druhý bod je nejnebezpečnější a překvapivě častý. Špatná šablona nebo plugin dokáže nastavit canonical všech stránek na homepage, což z pohledu Googlu znamená „všechno jsou kopie titulní strany“. Výsledkem je zmizení podstránek z výsledků. Proto po každé změně šablony canonical zkontrolujte.

Kanonické URL u e-shopů

E-shopy jsou největší konzument kanonických značek, protože generují nejvíc duplicit. Filtrování a řazení produktů vytváří desítky adres se stejným nebo velmi podobným obsahem. Zde canonical rozhoduje o tom, jestli se ve výsledcích objeví čistá kategorie, nebo chaos filtrovaných variant.

Osvědčený přístup: filtrované a seřazené verze kategorie kanonicky odkazují na základní, nefiltrovanou verzi kategorie. Produkt dostupný ve více kategoriích má jednu kanonickou cestu. U stránkování je naopak lepší nechat self-referencing canonical na každé stránce seznamu, aby Google našel i produkty na hlubších stranách. Právě u e-shopů se vyplatí kanonizaci řešit systematicky, ne stránku po stránce.

Jak zkontrolovat kanonické URL

Kontrola je naštěstí snadná a měli byste ji dělat pravidelně. Zobrazte si zdrojový kód stránky (Ctrl+U) a najděte řádek s rel=canonical — uvidíte, kam míří. Rychlejší je při ladění použít nástroj pro kontrolu URL v Search Console, který ukáže, kterou verzi Google považuje za kanonickou (a jestli se shoduje s vaší).

U větších webů se kontrola dělá hromadně crawlerem, který projde celý web a vypíše kanonické značky všech stránek najednou. Hned tak odhalíte nekonzistence — stránky bez canonicalu, canonical mířící na 404 nebo hromadné odkazy na homepage. Pravidelná kontrola je levnější než náprava po měsících špatné indexace.

Checklist kanonických URL

  • Každá stránka má kanonickou značku (self-referencing, pokud nemá důvod mířit jinam).
  • Canonical používá absolutní adresu s https a doménou.
  • Kanonická verze vrací kód 200, není přesměrovaná ani noindexovaná.
  • Canonical, sitemapa a interní odkazy míří na stejnou verzi URL.
  • Žádné hromadné odkazy všech stránek na homepage.
  • U e-shopu filtry a řazení kanonicky odkazují na základní kategorii.

Kde kanonické URL končí

Malá poznámka na závěr technické části: kanonická značka se dá vložit i do HTTP hlavičky odpovědi serveru, ne jen do HTML. To se hodí u souborů, které HTML hlavičku nemají — třeba PDF dokumentů, které chcete kanonicky svázat s jejich HTML verzí. V běžném provozu WordPressu na to nenarazíte, ale je dobré vědět, že možnost existuje.

Canonical je nástroj na úklid duplicit a konsolidaci hodnoty, ne na budování pozic. Vyřeší, aby si vaše vlastní stránky navzájem nekonkurovaly a aby se síla odkazů nerozmělnila, ale sám o sobě nový obsah nahoru neposune. Je to hygiena, která zajistí, že vaše SEO práce nepřijde vniveč kvůli technickým duplicitám.

Kanonické URL nejlépe fungují jako součást širšího technického pořádku. Vyplatí se je řešit spolu s přesměrováním, robots.txt a sitemapou a pravidelnou kontrolou crawlerem. Ucelený pohled na indexaci a duplicity dá SEO audit.

Modelový příklad: dva články o jednom tématu

Firma měla na blogu dva články, které se z velké části překrývaly — jeden starší, obecnější, a jeden novější, konkrétnější, oba o stejném tématu. Ve výsledcích vyhledávání si navzájem konkurovaly: Google jednou zobrazil jeden, jindy druhý, ani jeden se nedostal na špičku a síla odkazů se dělila mezi ně. Klasický případ vnitřní kanibalizace obsahu.

Nabízely se dvě řešení. První: články sloučit do jednoho silného a starý přesměrovat přes 301 na nový. Druhé: pokud měl starý článek zůstat dostupný kvůli jinému kontextu, nastavit na něm canonical mířící na novější, silnější verzi. Firma zvolila sloučení a 301, protože starý článek už nebyl potřeba. Během několika týdnů se sjednocená stránka posunula nahoru, protože veškerá hodnota se soustředila do jedné adresy místo dvou soupeřících.

Příklad ukazuje důležitou věc: canonical a 301 jsou dvě odpovědi na stejný problém duplicit, jen pro různé situace. Rozhodovací otázka je pořád stejná — má stará stránka zůstat dostupná? Podle odpovědi zvolíte nástroj. Duplicitní obsah přitom nemusí vznikat jen technicky, ale i obsahově, když píšete opakovaně o velmi podobných tématech bez jasného rozlišení.

Parametry v URL: nejčastější zdroj skrytých duplicit

Parametry v adresách jsou tichý zabiják čisté indexace, protože vznikají automaticky a majitel webu o nich často ani neví. Sledovací kódy z e-mailových kampaní a reklam (?utm_source, ?utm_medium), identifikátory relace, řadicí a filtrovací parametry — každý z nich vytvoří novou adresu s prakticky stejným obsahem. Web tak může mít místo jedné stránky klidně deset jejích variant.

Self-referencing canonical je přesně ten nástroj, který tohle řeší. Když čistá verze stránky kanonicky odkazuje sama na sebe, Google pochopí, že všechny varianty s parametry jsou jen její kopie, a hodnotí a zobrazuje čistou adresu. Bez canonicalu by se hodnota rozdělila mezi varianty a ve výsledcích by se mohla objevit ošklivá adresa plná parametrů. Proto je automatické přidávání self-referencing canonicalu jednou z nejužitečnějších věcí, které za vás SEO plugin dělá.

Za zmínku stojí i to, jak se na canonical dívá samotný Google. Kromě vaší kanonické značky bere v úvahu i další signály — na kterou verzi odkazujete interně, která je v sitemapě, na kterou vedou zpětné odkazy a která je pro uživatele přístupnější (třeba HTTPS před HTTP). Z těchto signálů si sestaví takzvanou „vybranou kanonickou“ adresu, která nemusí být totožná s tou vaší, pokud si signály protiřečí. Proto neplatí „nastavím canonical a mám hotovo“ — platí „nastavím canonical a sladím s ním všechny ostatní signály“. Konzistence je u kanonizace důležitější než jednotlivá značka.

Nejčastější dotazy o kanonických URL

Je canonical příkaz, nebo doporučení?

Pro Google je to silné doporučení, ne příkaz. Ve většině případů ho Google respektuje, ale může se rozhodnout jinak, pokud ostatní signály (interní odkazy, sitemapa, zpětné odkazy) míří na jinou verzi. Proto je důležité, aby všechny signály ukazovaly na stejnou kanonickou adresu.

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

Ideálně ano — aspoň self-referencing, který stránku kanonicky odkazuje sama na sebe. Chrání vás to před duplicitami z parametrů a sledovacích kódů. Na WordPressu to SEO pluginy dělají automaticky, takže se o to obvykle nemusíte starat ručně.

Jaký je rozdíl mezi canonical a 301?

301 je trvalé přesměrování — návštěvník i robot skončí na nové adrese a stará přestane být dostupná. Canonical ponechá obě adresy dostupné pro návštěvníky, jen Googlu řekne, kterou má hodnotit. 301 použijte, když má zůstat jedna verze, canonical, když mají obě existovat.

Může canonical mířit na jinou doménu?

Ano, tzv. cross-domain canonical se používá, když je stejný obsah legitimně na dvou doménách a chcete hodnotit jen jednu. Typicky u syndikovaného obsahu. Je to ale pokročilá technika, u které je snadné udělat chybu, takže ji nasazujte obezřetně a s kontrolou.

Pomůže canonical proti okopírovanému obsahu?

Proti cizímu webu, který zkopíroval váš obsah, vám canonical nepomůže — nemáte kontrolu nad jeho značkami. Canonical řeší duplicity v rámci vašeho vlastního webu. Proti krádeži obsahu slouží jiné nástroje, například nahlášení Googlu nebo právní cesta.

Co se stane, když canonical chybí?

Když canonical chybí, Google si hlavní verzi vybere sám podle vlastních signálů — a nemusí zvolit tu, kterou byste chtěli. U webu bez duplicit to nevadí, ale jakmile vzniknou varianty s parametry nebo www/HTTPS, riskujete rozmělnění hodnoty a zobrazení špatné verze ve výsledcích.

Ovlivní canonical to, co vidí návštěvník?

Ne. Canonical je signál výhradně pro vyhledávače a na zobrazení stránky návštěvníkovi nemá žádný vliv. Uživatel zůstane na adrese, kterou otevřel, a vidí normální obsah. Mění se jen to, kterou verzi vyhledávač hodnotí a zobrazuje ve výsledcích.

Lenka Váhová
Autorka článku: Lenka Váhová

Lenka Váhová píše pro blog Wepromo o SEO, PPC a online marketingu. S agenturou spolupracuje dlouhodobě jako externí autorka a texty připravuje společně se specialisty agentury, aby byly nejen čtivé, ale i odborně přesné.

Napište komentář