Přejít na hlavní obsah

Návody / Pojmy z monitoringu vysvětlené

Co je canonical URL a kdy ji použít

Canonical URL je adresa, kterou označíte za skutečnou verzi stránky, aby vyhledávače sloučily každý její duplikát do jednoho výsledku. Deklarujete ji pomocí <link rel="canonical" href="..."> v <head> stránky, nebo pomocí hlavičky odpovědi Link, a adresa, kterou zadáte, musí být absolutní.

Co rel=canonical skutečně dělá

Stejný obsah bývá dostupný na víc než jedné URL. Sledovací parametry, identifikátory relace, koncové lomítko, http vedle https, www vedle holé domény, tisková verze, seřazený výpis: každá z nich je samostatná URL obsluhující stejná slova. Když to necháte být, vyhledávač si jednu z nich vybere sám, a nemusí vybrat tu, kterou byste vybrali vy.

Canonical je způsob, jak tuto volbu udělat explicitní:

<link rel="canonical" href="https://example.com/shoes">
Link: <https://example.com/shoes>; rel="canonical"

Dvě vlastnosti stojí za to si zapamatovat. Za prvé, je to nápověda, ne příkaz. Google ji zvažuje proti přesměrováním, interním odkazům, položkám v sitemapě i samotnému obsahu, a klidně může zvolit jiný canonical, než jaký jste deklarovali. Za druhé, konsoliduje, nemaže. Signály z duplikátu se přičítají k canonical, což je rozdíl oproti noindex, kde duplikát z pohledu vyhledávání prostě přestává existovat.

Sebe-odkazující canonical

Každá indexovatelná stránka by měla deklarovat sama sebe jako svůj vlastní canonical. Zní to nadbytečně, a přitom je to nejužitečnější z těch tří řádků, protože právě to neutralizuje parametry, se kterými jste nepočítali. Když /shoes?utm_source=newsletter deklaruje https://example.com/shoes, kampaňová URL se automaticky sloučí do té čisté místo toho, aby s ní soupeřila.

Tři pravidla, jak to udělat správně: používejte absolutní URL včetně schématu, vydávejte přesně jeden prvek canonical na stránku (u stránky se dvěma protichůdnými canonical se ignorují oba), a udržujte canonical v souladu se zbytkem svých signálů. Canonical mířící na URL, která jinam přesměrovává, nebo vrací 404, nebo nese noindex, vysílá protichůdné pokyny a je znevýhodněný.

Canonical napříč doménami

Canonical může mířit i na jinou doménu. To je správný mechanismus, když článek syndikujete na partnerský web nebo agregátor zpráv: kopie na jejich doméně deklaruje vaši URL jako canonical, takže se pozice ve vyhledávání přičítají vašemu originálu, ne jejich republikaci.

Je to zároveň to, co dělá canonical nebezpečným. Nic nebrání stránce nominovat URL na hostiteli, ke kterému nemá žádný vztah, a na syntaxi není nic, co by nechalo náhodný canonical napříč doménami vypadat podezřele. Přesně odtud pochází selhání se stagingem.

Selhání se staging canonical

Většina frameworků a redakčních systémů sestaví canonical spojením nakonfigurované base URL s aktuální cestou. Tato base URL žije v proměnné prostředí, řádku volby v databázi nebo konfiguračním souboru, a v každém prostředí je jiná. Když se hodnota ze stagingu dostane do produkce, každá stránka na živém webu deklaruje, že skutečná verze žije na https://staging.example.com/....

Co následuje, je tiché a pomalé. Živé stránky dál vrací 200 a dál obsluhují správný obsah. Ale každá z nich Googlu říká, že autoritativní kopie je někde jinde, a to jinde je buď nedostupné, chráněné heslem, nebo má noindex. Stránky začínají vypadávat z výsledků, jeden recrawl po druhém, a protože neexistuje žádná chyba, na kterou by šlo upozornit, prvním signálem bývá obvykle graf návštěvnosti o týden později. Oprava je popsaná v návodu jak opravit canonical mířící na staging.

Canonical, přesměrování, nebo noindex

Všechny tři se používají zaměnitelně, a přitom zaměnitelné nejsou:

  • Přesměrování 301, když by duplikát neměl být dostupný vůbec. Nejsilnější dostupný signál a správná odpověď pro zrušenou URL nebo přesun domény.
  • rel=canonical, když obě URL musí zůstat dostupné, ale hodnotit by se měla jen jedna. Parametry, tiskové verze, syndikované kopie, filtrované výpisy.
  • noindex, když stránka musí zůstat dostupná a nesmí se hodnotit, a neexistuje ekvivalentní stránka, do které by se dala konsolidovat. Interní výsledky vyhledávání, děkovací stránky, oblasti účtu.

Nekombinujte je. Canonical na stránce s noindex je protichůdný, protože zároveň žádáte o konsolidaci do stránky a žádáte, aby byl tento vztah ignorován.

Ověřte, co skutečně obsluhujete

Čtení šablony není ověření, protože edge workery, pluginy i logika na straně serveru vkládají canonical, které se ve vašem repozitáři nikdy neobjeví. Místo toho čtěte odpověď: curl -s https://example.com/ | grep -i 'rel="canonical"'. Pro jednu stránku bezplatná kontrola canonical přeloží tag a řekne, jestli míří na samotnou stránku, jinou URL na stejném hostiteli, verzi http, nebo jiného hostitele. Pro kontrolu celého webu bezplatný nástroj pro procházení webu nahlásí stav canonical pro každou URL a označí stránky, kde chybí, i ty, kde míří jinam. Sledovat vaše klíčové stránky pro den, kdy se hodnota změní, umí volba Indexability u HTTP monitoru HostTracker - viz SEO monitoring.

Zkontrolovat hned

Spusťte bezplatnou kontrolu na svém webu - bez registrace.

Canonical checker

Sledovat trvale

Dostanete upozornění ve chvíli, kdy něco přestane fungovat: HostTracker kontroluje z více než 300 lokalit a upozorní vás e-mailem, SMS, přes Slack, Telegram a další.

Funkce HostTracker

Více v této sekci: Pojmy z monitoringu vysvětlené