Ve většině případů canonical URL ve WordPressu nemusíte nastavovat ručně. Samotný WordPress má vlastní mechanismus pro výstup kanonické URL u jednotlivých příspěvků a stránek a běžné SEO pluginy, jako jsou Yoast SEO nebo Rank Math, canonical zpravidla spravují automaticky. Ruční změnu provádějte až tehdy, když máte konkrétní důvod určit jako preferovanou jinou URL.
Chcete-li pouze zjistit, jaký canonical stránka používá, otevřete její zdrojový kód a vyhledejte rel="canonical". Pokud jej potřebujete změnit, u Yoast SEO i Rank Math najdete příslušné nastavení v pokročilých možnostech konkrétního příspěvku nebo stránky.
Pokud si nejste jistí, co canonical URL znamená a jak funguje, nejprve si přečtěte samostatné vysvětlení pojmu kanonický odkaz. Tento návod se dále soustředí především na praktické nastavení ve WordPressu.
Co WordPress dělá s canonical URL automaticky
WordPress obsahuje vlastní funkci rel_canonical(), která u takzvaných singular požadavků, tedy typicky u jednotlivých příspěvků, stránek a dalších samostatně zobrazovaných typů obsahu, vypisuje do hlavičky stránky element rel="canonical".
WordPress pro získání této adresy používá funkci wp_get_canonical_url(). U běžného publikovaného příspěvku je výchozím základem jeho permalink. WordPress přitom dokáže zohlednit například stránkování jednoho příspěvku nebo stránkování komentářů.
Na webu se SEO pluginem však canonical obvykle spravuje právě tento plugin. Yoast SEO uvádí, že canonical URL přidává automaticky a ruční změna je určena pro situace, kdy má stránka ukazovat na jinou kanonickou adresu. Rank Math obdobně používá jako výchozí canonical aktuální URL příspěvku nebo stránky.
Self-referencing canonical znamená, že stránka označuje jako kanonickou sama sebe. Například stránka:
https://example.cz/sluzby/
může obsahovat:
<link rel="canonical" href="https://example.cz/sluzby/" />
U běžné unikátní stránky je právě toto standardní a zpravidla není důvod canonical ručně přepisovat.
Jak zjistit aktuální canonical URL ve WordPressu
Nejspolehlivější je kontrolovat výsledný HTML kód veřejné stránky, nikoli pouze nastavení v administraci WordPressu. Díky tomu zjistíte, co web skutečně posílá vyhledávačům.
- Otevřete veřejnou stránku, kterou chcete zkontrolovat.
- V prohlížeči zvolte možnost pro zobrazení zdrojového kódu stránky. V mnoha prohlížečích funguje také klávesová zkratka
Ctrl+U. - Ve zdrojovém kódu použijte vyhledávání, například
Ctrl+F. - Vyhledejte text
rel="canonical". - Zkontrolujte hodnotu atributu
href.
Správný výstup může vypadat například takto:
<link rel="canonical" href="https://example.cz/clanek/" />
Canonical by měl obsahovat úplnou, absolutní URL adresu, tedy včetně protokolu a domény.
Kontrola přes DevTools
Canonical lze vyhledat také v nástrojích pro vývojáře prohlížeče. V panelu Elements nebo Inspector vyhledejte canonical. Pro jednoduchou SEO kontrolu je však často praktičtější zdrojový HTML kód, protože přímo ukazuje HTML odpověď stránky bez případných pozdějších změn provedených JavaScriptem.
Kdy canonical nechat beze změny
Pokud web funguje standardně a stránka má být samostatně indexována pod svou vlastní URL, ruční nastavení canonicalu obvykle není potřeba.
Typicky jej ponechte automatický například u:
- běžného blogového článku s jednou hlavní URL,
- standardní WordPress stránky,
- samostatného produktu, který nemá problém s několika obsahově totožnými URL,
- kategorie, která má být samostatně indexována,
- unikátního obsahu, který nemá alternativní duplicitní verzi.
Canonical není položka, kterou je vhodné ručně vyplnit „pro jistotu“. Pokud plugin již vytváří správný self-referencing canonical, ručním přepsáním pouze přidáváte další místo, kde může v budoucnu vzniknout chyba.
Kdy má ruční změna canonicalu smysl
Ruční canonical má význam především tehdy, když existuje několik stejných nebo velmi podobných URL a jedna z nich má být preferovanou verzí.
Typickými příklady mohou být:
- dvě URL obsahující prakticky stejný obsah,
- alternativní technická URL stejné stránky,
- určité parametrické varianty URL,
- některé situace v e-shopu, kdy je shodný obsah dostupný několika cestami,
- syndikovaný nebo jinak duplicitně publikovaný obsah, pokud má být jako hlavní označena jiná URL.
Canonical je pro Google signál, nikoli absolutní příkaz. Google při výběru kanonické URL vyhodnocuje také další signály, například přesměrování, odkazy, URL v sitemapě a samotný obsah. Může proto zvolit jinou kanonickou URL, než jste deklarovali.
Podrobnější princip canonicalizace najdete v článku Kanonický odkaz.
Canonical navíc není univerzální řešení každého problému s URL. Podle situace může být správnější použít 301 přesměrování, noindex, opravit interní odkazy nebo odstranit technickou příčinu vzniku duplicit.
Jak nastavit canonical v Yoast SEO
Yoast SEO vytváří canonical URL automaticky. Ručně ji tedy vyplňujte pouze tehdy, když chcete canonical konkrétní stránky změnit na jinou URL.
- V administraci WordPressu otevřete příspěvek, stránku nebo jiný podporovaný obsah, jehož canonical chcete změnit.
- Otevřete nastavení Yoast SEO u daného obsahu.
- Přejděte do části Advanced.
- Najděte pole Canonical URL.
- Zadejte kompletní cílovou adresu, například
https://example.cz/hlavni-stranka/. - Příspěvek nebo stránku uložte, aktualizujte nebo publikujte.
- Následně otevřete veřejnou stránku a zkontrolujte výsledný
rel="canonical"ve zdrojovém kódu.
Yoast ve své aktuální dokumentaci uvádí, že je nutné zadat celou URL včetně protokolu a případné varianty www. Rozložení postranního panelu nebo meta boxu se může s vývojem WordPressu a Yoast SEO měnit, proto se orientujte především podle sekce Advanced a pole Canonical URL.
Nevkládejte do pole vlastní URL stránky jen proto, že pole vidíte. Pokud má stránka zůstat kanonická sama k sobě, standardní automatický výstup Yoastu obvykle postačuje.
Yoast rovněž uvádí, že u stránky označené jako noindex canonical tag standardně nevypisuje. Pokud tedy canonical na stránce s Yoast SEO vůbec nenajdete, ověřte také její nastavení indexace.
Jak nastavit canonical v Rank Math
Také Rank Math používá u běžného příspěvku nebo stránky ve výchozím nastavení její vlastní URL jako canonical. Ruční změnu proto potřebujete jen ve specifických případech.
- Otevřete ve WordPressu příspěvek nebo stránku, kterou chcete upravit.
- Otevřete panel nebo meta box Rank Math SEO.
- Přejděte na záložku Advanced.
- Najděte pole Canonical URL.
- Zadejte URL stránky, kterou chcete deklarovat jako preferovanou.
- Obsah uložte nebo aktualizujte.
- Zkontrolujte výsledný canonical ve veřejném HTML.
Pokud záložku Advanced nevidíte, může být Rank Math spuštěný v jednodušším režimu. Oficiální dokumentace Rank Math uvádí, že pokročilé možnosti jsou dostupné v Advanced Mode, který lze aktivovat v nastavení pluginu.
Stejně jako u Yoastu platí, že do Canonical URL zadáváte adresu stránky, kterou chcete skutečně označit jako hlavní. Nejde o pole, které je nutné ručně vyplnit u každého příspěvku.
A co All in One SEO a jiné SEO pluginy?
Princip je velmi podobný. All in One SEO má u konkrétního obsahu v části pokročilých nastavení pole Canonical URL, do kterého lze zadat preferovanou absolutní adresu.
Není však nutné instalovat jiný SEO plugin jen kvůli canonicalu. Pokud již používáte Yoast SEO, Rank Math, All in One SEO nebo jiné řešení, nejprve zjistěte, jaký canonical skutečně vytváří.
Současně nepoužívejte několik SEO pluginů jen proto, aby každý řešil část SEO. Dvě různá rozšíření mohou generovat stejné nebo konfliktní technické značky.
Jak nastavit canonical bez SEO pluginu
WordPress dokáže canonical u jednotlivých publikovaných příspěvků generovat i bez SEO pluginu. Pro běžný web tedy nemusíte vytvářet vlastní <link rel="canonical"> ručně.
Pokud potřebujete změnit canonical generovaný přímo WordPressem, WordPress nabízí filtr get_canonical_url. Ten upravuje hodnotu používanou funkcí wp_get_canonical_url().
Následující omezený příklad nastaví jiný canonical pouze pro příspěvek nebo stránku s ID 123:
<?php function ew_custom_canonical_url( $canonical_url, $post ) { if ( 123 === (int) $post->ID ) { return 'https://example.cz/preferovana-stranka/'; } return $canonical_url; } add_filter( 'get_canonical_url', 'ew_custom_canonical_url', 10, 2 );
Tento kód patří do vlastního mini-pluginu nebo do child theme, nikoli do parent theme, kde by mohl být při aktualizaci přepsán.
Důležité: tento příklad je určen pro web, který používá canonical výstup WordPressu. Pokud máte aktivní SEO plugin, může canonical generovat nebo filtrovat vlastním mechanismem. V takovém případě používejte API nebo nastavení konkrétního pluginu a nejprve ověřte, zda by vlastní kód nevytvořil konflikt.
Nedoporučuje se bez další logiky jednoduše přidat do header.php například:
<link rel="canonical" href="https://example.cz/">
Takový hardcoded kód by mohl označit stejnou URL jako canonical na velké části nebo dokonce na celém webu, což je závažná chyba.
Proč mohou dva canonical tagy způsobit problém
Typická situace vznikne takto:
- canonical generuje SEO plugin,
- další canonical současně přidává šablona nebo vlastní PHP kód.
Výsledkem může být například:
<link rel="canonical" href="https://example.cz/a/" /> <link rel="canonical" href="https://example.cz/b/" />
Pokud dvě značky ukazují na rozdílné URL, předává web vyhledávači konfliktní informace. Správné řešení není přidat třetí značku, ale zjistit, které dvě komponenty canonical generují, a ponechat jeden konzistentní mechanismus.
Stejný princip platí i pro kombinaci různých canonicalizačních signálů: Google doporučuje nevysílat protichůdné informace například canonicalem, sitemapou a přesměrováním.
Jak ověřit, že změna skutečně funguje
- Otevřete veřejnou URL, nikoli náhled v administraci.
- Zobrazte zdrojový kód.
- Vyhledejte
rel="canonical". - Zkontrolujte, zda je canonical pouze ten, který skutečně očekáváte.
- Zkontrolujte přesnou cílovou URL včetně HTTPS, domény, www/non-www varianty a cesty.
- Ověřte, že cílová kanonická URL funguje a vrací úspěšnou HTTP odpověď.
- Zkontrolujte, zda se canonical zbytečně nepřesměrovává ještě na jinou URL.
- Zkontrolujte, zda cílová stránka není omylem označena
noindex. - U důležitých stránek porovnejte výsledek také s Google Search Console.
U webu s větším počtem URL má smysl kontrolovat také konzistenci canonicalů s interními odkazy a XML sitemapou.
Jak zkontrolovat canonical v Google Search Console
Pro důležité stránky použijte v Google Search Console nástroj URL Inspection.
- Otevřete správnou property v Google Search Console.
- Do horního pole vložte kompletní URL stránky.
- Otevřete informace o indexaci stránky.
- Zkontrolujte položku User-declared canonical.
- Zkontrolujte také Google-selected canonical.
User-declared canonical je canonical, který deklaruje váš web. Google-selected canonical je URL, kterou Google při indexaci skutečně vybral jako reprezentativní verzi obsahu.
Tyto adresy nemusí být stejné. Rel canonical je jeden z používaných signálů, nikoli příkaz, který musí Google bezpodmínečně následovat.
Pozor také na rozdíl mezi indexovanými daty a testem živé URL. Google výslovně uvádí, že live test nedokáže předpovědět, kterou canonical URL Google při indexaci nakonec vybere.
Nejčastější chyby s canonical URL ve WordPressu
Všechny stránky mají canonical na homepage
Co se stalo: šablona nebo vlastní kód používá pevně zadanou URL.
Proč je to problém: velké množství rozdílných stránek označuje jednu homepage jako svou preferovanou verzi.
Co zkontrolovat: vlastní PHP, header.php, snippets pluginy, SEO plugin a výsledný zdrojový kód.
Canonical směřuje na neexistující stránku
Co se stalo: cílová URL byla smazána, změněna nebo zadána chybně.
Proč je to problém: web označuje jako preferovanou stránku URL, která není platnou cílovou verzí obsahu.
Co zkontrolovat: HTTP stav cílové URL a historii změn permalinků.
Canonical směřuje přes redirect
Co se stalo: canonical obsahuje starou URL, která se následně přesměruje.
Proč je to problém: jde o zbytečně nepřímý a méně konzistentní signál.
Co zkontrolovat: používejte přímo finální preferovanou URL.
Canonical používá HTTP místo HTTPS
Co se stalo: po nasazení HTTPS zůstal někde starý canonical.
Co zkontrolovat: nastavení WordPress Address a Site Address, SEO plugin, databázi, vlastní kód a cache. Google používá protokol HTTP/HTTPS jako jeden ze signálů při canonicalizaci.
Canonical používá špatnou variantu www
Stejně jako u HTTP/HTTPS kontrolujte, zda canonical odpovídá skutečně používané finální variantě domény a není v rozporu s přesměrováním webu nebo interními odkazy.
Canonical stále ukazuje na staging
Po přesunu webu z testovacího prostředí může v databázi, pluginu nebo vlastním kódu zůstat například:
https://staging.example.com/stranka/
Takovou chybu je potřeba opravit co nejdříve a zkontrolovat více typů stránek, ne pouze homepage.
Na webu běží dvě SEO rozšíření
Dva pluginy mohou současně generovat canonical, robots meta, sitemapu nebo další SEO značky. Po změně SEO pluginu proto starý plugin skutečně deaktivujte a zkontrolujte HTML.
SEO plugin a vlastní PHP generují canonical současně
To je častý důsledek staršího custom řešení. Pokud canonical nyní spravuje plugin, zjistěte, zda je vlastní implementace stále potřebná.
Na ručně změněný canonical se zapomnělo
Ručně zadaná canonical URL může přežít redesign, změnu obsahu i změnu struktury webu. Při větších úpravách proto kontrolujte také post-level SEO nastavení.
Canonical zůstal po importu z jiné domény
Po migraci nebo klonování webu se mohou v databázi zachovat absolutní URL původní domény. Kontrolujte nejen obsah příspěvků, ale i metadata SEO pluginů.
Špatný canonical u custom post types nebo šablon
U vlastních typů obsahu může problém způsobit custom šablona, plugin nebo vlastní filtr. Zkontrolujte více položek daného post type, nikoli jen jednu URL.
Parametrické URL
Parametry nejsou automaticky chyba. Některé pouze měří kampaň, jiné mohou zásadně měnit obsah stránky. Nejprve zjistěte, co parametr dělá, a teprve poté rozhodněte o canonicalizaci.
Pozor na canonical při migraci nebo změně domény
Po migraci WordPressu patří kontrola canonicalů mezi důležité úkoly technického SEO. Produkční stránka může být dostupná například na:
https://www.example.cz/sluzby/
ale její canonical může omylem stále obsahovat:
https://staging.example.com/sluzby/
nebo původní doménu:
https://old-example.cz/sluzby/
Pokud takový problém objevíte, prověřte zejména:
- WordPress nastavení URL webu,
- databázi a případná uložená metadata,
- nastavení SEO pluginu,
- vlastní šablonu nebo custom plugin,
- snippety a vlastní PHP kód,
- page cache,
- serverovou nebo CDN cache, pokud ji web používá.
Po opravě cache vyčistěte a vždy znovu ověřte veřejně vrácený HTML kód. To, že je nová doména správně nastavena v administraci, samo o sobě nedokazuje, že je správný také canonical.
Problematika migrací, indexace a canonicalizace patří obecně do oblasti technického SEO.
Canonical u WooCommerce
WooCommerce může vytvářet složitější URL prostředí než běžný obsahový web. Setkáte se s produktovými stránkami, kategoriemi, variantami, filtry, tříděním a dalšími URL parametry.
Nelze však obecně doporučit, aby všechny filtrované URL měly canonical na hlavní kategorii. Správné řešení závisí na tom, zda daná URL představuje samostatně hodnotný obsah, zda má mít vlastní vyhledávací potenciál a zda ji vůbec chcete indexovat.
Typické otázky, které je potřeba vyhodnotit:
- Je obsah URL skutečně duplicitní?
- Má filtrovaná stránka unikátní hodnotu pro uživatele?
- Má být dostupná ve výsledcích vyhledávání?
- Existují na ni interní odkazy?
- Je zahrnuta v sitemapě?
- Jaké URL při filtrování a variantách skutečně generuje konkrétní WooCommerce konfigurace?
Canonical u e-shopu proto řešte podle konkrétní struktury webu, nikoli jedním globálním pravidlem.
Musím canonical nastavovat na každé stránce ručně?
Ne. Ve většině případů byste to dělat neměli.
U běžného WordPress webu se správně nakonfigurovaným SEO pluginem je self-referencing canonical generován automaticky. Ruční hodnotu používejte jen pro konkrétní výjimky.
Praktický příklad: URL s UTM parametrem
Představme si hlavní stránku produktu:
https://example.cz/notebook/
Uživatel přijde z newsletteru přes:
https://example.cz/notebook/?utm_source=newsletter
Pokud parametr pouze slouží k měření kampaně a obsah stránky je jinak stejný, preferovanou URL může představovat:
https://example.cz/notebook/
Výsledný canonical na parametrické variantě tedy může být:
<link rel="canonical" href="https://example.cz/notebook/" />
WordPress nebo SEO plugin může takovou čistou URL generovat automaticky. Nespoléhejte však na předpoklad: otevřete skutečnou parametrickou URL a ověřte výsledný HTML kód.
Příklad, kdy canonical není správné řešení
Máte starý článek:
https://example.cz/stary-clanek/
a obsah jste trvale přesunuli na:
https://example.cz/novy-clanek/
Pokud stará URL již nemá být samostatně dostupná a jde o skutečný trvalý přesun, typicky je vhodnější 301 redirect. Uživatel i vyhledávač se pak dostanou přímo na novou adresu. Canonical návštěvníka nepřesměruje.
Více o principu najdete v článku Přesměrování (Redirect).
Rychlý checklist správného canonicalu
- Na stránce není několik konfliktních canonicalů.
- Canonical obsahuje úplnou absolutní URL.
- Používá správný protokol, typicky HTTPS.
- Používá správnou doménu a správnou variantu www/non-www.
- Cílová URL skutečně existuje.
- Preferovaná cílová URL vrací úspěšnou odpověď a není pouze mezikrokem přesměrování.
- Canonical neukazuje na staging nebo starou doménu.
- Canonical není v konfliktu s požadovanou indexací stránky.
- Interní odkazy preferují stejnou hlavní URL.
- Sitemap je s preferovanými URL konzistentní.
- Canonical současně negenerují dva SEO pluginy, plugin a šablona nebo plugin a vlastní PHP.
- U důležitých stránek jste porovnali deklarovaný canonical s hodnotou, kterou vybral Google.
FAQ
Musím canonical ve WordPressu nastavovat ručně?
Ve většině případů ne. WordPress má vlastní canonical mechanismus pro jednotlivé příspěvky a hlavní SEO pluginy vytvářejí canonical automaticky. Ručně jej měňte pouze s konkrétním důvodem.
Vytváří Yoast SEO canonical automaticky?
Ano. Yoast SEO canonical URL běžně vytváří automaticky. Pole Canonical URL v pokročilých nastaveních slouží zejména pro případy, kdy potřebujete výchozí canonical přepsat.
Vytváří Rank Math canonical automaticky?
Ano. Rank Math standardně používá aktuální URL příspěvku nebo stránky jako self-referencing canonical. V Advanced nastavení jej lze změnit.
Jak canonical ve WordPressu změním?
Pokud používáte SEO plugin, otevřete konkrétní stránku a změňte Canonical URL v jeho pokročilých SEO nastaveních. Bez SEO pluginu lze u WordPress core canonicalu použít filtr get_canonical_url.
Kde canonical najdu ve zdrojovém kódu?
Otevřete zdrojový kód stránky a vyhledejte rel="canonical". Element se standardně nachází v části <head>.
Může canonical směřovat na jinou doménu?
Ano, cross-domain canonical je technicky možný. Používejte jej však pouze tehdy, když skutečně chcete jako preferovanou verzi obsahu deklarovat URL na jiné doméně, nikoli jako obecný způsob přesměrování návštěvníků.
Co když Google můj canonical ignoruje?
Canonical není pro Google příkaz. Porovnejte v URL Inspection položky User-declared canonical a Google-selected canonical a zkontrolujte další signály: obsah stránek, redirecty, interní odkazy, sitemapu a technické nastavení URL.
Co když mám na stránce dva canonical tagy?
Zjistěte, odkud oba pocházejí. Častým důvodem je kombinace SEO pluginu a vlastního kódu nebo dvou SEO pluginů. Zvlášť nebezpečné jsou dva canonicaly ukazující na rozdílné URL.
Mám použít canonical nebo 301 redirect?
Pokud dvě URL musí zůstat návštěvníkům dostupné, ale obsahují stejný nebo velmi podobný obsah, může dávat smysl canonical. Pokud se obsah trvale přesunul a původní URL již nemá samostatně fungovat, zpravidla je vhodnější 301 redirect.
Může canonical směřovat na URL s redirectem?
Technicky takové nastavení může existovat, ale obvykle je lepší canonical nastavit přímo na finální preferovanou URL. Vyhnete se zbytečně nepřímým a potenciálně rozporuplným signálům.
Související témata
- Kanonický odkaz – podrobné vysvětlení samotného principu canonical URL.
- Google Search Console – nástroj pro kontrolu indexace a Googlem vybraného canonicalu.
- noindex – pokud stránku nechcete ve výsledcích vyhledávání vůbec.
- Přesměrování (Redirect) – pro případy, kdy se URL skutečně přesouvá.
- Meta tag – související prvky HTML hlavičky používané pro SEO.
- Sitemap – další důležitý signál o preferovaných URL webu.
- Technické SEO – širší problematika indexace, crawlování a technického stavu webu.
Shrnutí
Canonical URL ve WordPressu ve většině běžných situací není potřeba nastavovat ručně. Nejprve zkontrolujte, co již generuje WordPress nebo váš SEO plugin. Ruční změnu použijte teprve tehdy, když máte konkrétní alternativní nebo duplicitní URL a víte, která verze má být preferovaná.
Po každé změně zkontrolujte skutečný HTML výstup stránky a u důležitých URL také Google Search Console. Neřešte canonical izolovaně: měl by být konzistentní s přesměrováním, interními odkazy, sitemapou a celkovou indexační strategií webu.
Pokud jste na svém WordPress webu objevili nechtěné canonical URL, starou doménu, problém po migraci nebo jinou chybu technického SEO a nechcete ji řešit sami, můžete se obrátit na MH Webdesign, který se věnuje správě, diagnostice a úpravám WordPress webů.
