Modul 3 · 3.5
Canonical a duplicitní obsah
Modul 3: Technický základ stránky · Doba čtení: 12 minut
Cíl lekce: Po této lekci dokážete na svém webu rozpoznat duplicitní obsah, zvolit, která adresa je ta skutečná (kanonická), a správně to předat vyhledávačům pomocí přesměrování a rel="canonical".
Klíčové pojmy: duplicitní obsah, kanonizace, kanonická adresa, varianty (http a https, s www a bez www, lomítko, parametry, velká písmena), rel="canonical", absolutní adresa, canonical jako nápověda, přesměrování 301 jako silnější signál, canonical zvolený Googlem, žádný trest za duplicitní obsah
Jedna stránka, pět adres
Pro Vás je stránka se svatebními kyticemi jedna stránka. Pro vyhledávač je každá adresa samostatnou stránkou. Podívejte se, jak může být stejný obsah u Bloemenatelier Lotte dostupný na pěti adresách:
http://example.com/bruidsboeketten
https://example.com/bruidsboeketten
https://www.example.com/bruidsboeketten
https://www.example.com/bruidsboeketten/
https://www.example.com/bruidsboeketten?utm_source=nieuwsbriefTomu se říká duplicitní obsah: stejný (nebo téměř stejný) obsah na více než jedné adrese. Google uvádí tyto nejčastější příčiny:
| Příčina | Příklad |
|---|---|
| Varianty protokolu | fungují obě varianty, http:// i https:// |
Varianty s www a bez něj | doména i www. zobrazují stejný web |
| Funkce webu | řazení a filtrování: ?sorteer=prijs, ?kleur=rood |
| Varianty podle regionu | stejný text v nizozemštině pro /nl-nl/ i /nl-be/ |
| Varianty podle zařízení | samostatný mobilní web, například m.example.com |
| Omylem | testovací kopie webu (test.example.com), která je přístupná vyhledávačům |
K tomu se přidávají: lomítko na konci adresy, nebo bez něj, velká písmena v cestě (/Contact a /contact), index.html za adresou a parametry z newsletterů a reklam.
Vadí to?
Žádný trest. Google píše, že určitá míra duplicitního obsahu je na webu běžná a není v rozporu s jeho pravidly proti spamu. Nebudete za to potrestáni. Problém nastává až tehdy, když někdo záměrně a ve velkém vytváří kopie, aby zaplnil výsledky vyhledávání; to je jiný příběh (lekce 8.2).
Proč to tedy řešit? Protože jinak bude vybírat vyhledávač sám. Google seskupí stránky se stejným obsahem a vybere z nich jednu kanonickou adresu: zástupce, který se objeví ve výsledcích vyhledávání a bývá nejčastěji procházen. Tento výběr se nazývá kanonizace. Necháte-li to na Googlu, může zvolit právě adresu, za kterou je ?utm_source=nieuwsbrief. Navíc se Vaše čísla v Search Console rozdrobí mezi pět variant a crawler ztrácí čas procházením kopií.
Tři signály, od silného ke slabému
Vyhledávači sdělíte, která adresa je ta skutečná. Google uvádí tři způsoby, seřazené podle síly:
- Přesměrování (301 nebo 308): silný signál, že cíl přesměrování se má stát kanonickým. Použijte ho pro varianty, které nikdo nepotřebuje: http na https a verzi s www nebo bez www na tu druhou. To nastavíte jednou pro celý web (lekce 4.1).
rel="canonical": také silný signál. Řádek v<head>stránky, který říká, která adresa je ta skutečná. Použijte ho tam, kde varianta musí dál fungovat, například u adresy s filtrem nebo s parametrem newsletteru.- Sitemap: slabý signál. Adresy, které uvedete v sitemapě, navrhujete jako kanonické (lekce 3.4). Uvádějte v ní proto jen skutečné adresy.
Canonical vypadá takto:
<head>
<title>Bruidsboeketten op maat | Bloemenatelier Lotte</title>
<link rel="canonical" href="https://www.example.com/bruidsboeketten">
</head>Každá varianta stránky nese stejný řádek, včetně samotné kanonické adresy. Tomu se říká odkaz sám na sebe (self-referencing canonical). Není povinný, ale je užitečný: přijde-li někdo přes ?utm_source=nieuwsbrief, skutečná adresa je hned uvedena.
Nápověda, ne příkaz
Google to říká jasně: canonical je nápověda, ne pravidlo. Google může zvolit jinou adresu než Vy. Děje se to hlavně tehdy, když si Vaše signály odporují. V nástroji Kontrola URL v Search Console (lekce 2.4) uvidíte vedle sebe dva řádky: "User-declared canonical" (canonical zadaný uživatelem) a "Google-selected canonical" (canonical vybraný Googlem). Pokud se liší, hledejte rozpor:
- canonical ukazuje na
https://www.example.com/..., ale sitemap uvádíhttps://example.com/...; - canonical ukazuje na
https://, alehttps://přesměrovává nahttp://; - interní odkazy ve Vašem menu vedou na jinou variantu, než uvádí canonical;
- stránky si nejsou dost podobné: canonical z produktové stránky na domovskou stránku nefunguje, protože nejde o kopii.
Při stejném obsahu dává Google jako kanonické adrese přednost verzi https, pokud s ní není něco v nepořádku, například neplatný certifikát.
Jak správně napsat canonical
| Pravidlo | Proč |
|---|---|
Úplná adresa s https:// a názvem hostitele | Google doporučuje absolutní cesty; u relativní cesty může drobná chyba vést na špatnou adresu |
| Přesně jeden canonical na stránku | Dva různé canonicaly si odporují; Google je pak může ignorovat oba |
Pouze v <head> | Google odkaz přijímá jen v <head> HTML |
| Ukazuje na stránku, která vrací 200 | Canonical na adresu, která přesměrovává nebo vrací 404, je protichůdný signál |
| Cíl nemá noindex | "Toto je skutečná adresa" a "skutečnou adresu nezařazuj" nejdou dohromady |
| Cíl ukazuje sám na sebe | Řetězec (A ukazuje na B, B na C) vnáší nejasnost |
| Zvolte jednu metodu na stránku | Řádek v HTML, nebo HTTP hlavičku Link; obojí současně je podle Googlu náchylnější k chybám |
U souborů bez HTML, například u pdf, lze canonical zadat také jako HTTP hlavičku:
Link: <https://www.example.com/prijslijst.pdf>; rel="canonical"Co nedělat
- Žádný robots.txt pro kanonizaci. Google výslovně říká: k tomu robots.txt nepoužívejte. Pokud varianty zablokujete, Google je nemůže přečíst, a tedy neuvidí ani Váš canonical.
- Žádný noindex k vynucení canonicalu. Ani to Google v rámci jednoho webu nedoporučuje. Noindex říká "vůbec nezařazovat", ne "raději vezmi tu druhou".
- Ne vše na domovskou stránku. Canonical na každé stránce, který ukazuje na domovskou stránku (známá chyba v šablonách a pluginech), sděluje Googlu, že celý Váš web je jedna stránka.
V praxi: kdo nastavuje co?
Přesměrování pro celý web nastavíte u svého hostingu. V DirectAdminu u WebOké najdete v nastavení domény volby pro SSL, přesměrování na https a "s www nebo bez www"; u jiných poskytovatelů se to jmenuje jinak, ale jde o stejný druh nastavení. Canonical ve stránce vytváří Váš nástroj na tvorbu webu. WordPress sám vkládá canonical do příspěvků a stránek a SEO pluginy to přebírají. AI Builder od WebOké vkládá na každou publikovanou stránku canonical na vlastní adresu této stránky, a na chybovou stránku (404) záměrně žádný. Po každé změně domény nebo volby www zkontrolujte, zda canonical, přesměrování a sitemap stále uvádějí stejnou adresu.
Shrnutí
- Duplicitní obsah je běžný a není důvodem k trestu, ale bez signálu vybere vyhledávač sám, která adresa je kanonická.
- Tři signály: přesměrování (silný),
rel="canonical"(silný) a sitemap (slabý). Ať všechny uvádějí stejnou adresu. - Canonical je nápověda: Google může zvolit jinak, hlavně při protichůdných signálech. Podívejte se do nástroje Kontrola URL.
- Pište ho úplně, jednou, v
<head>, na stránku, která vrací 200, nemá noindex a ukazuje sama na sebe. - Nepoužívejte robots.txt ani noindex k vynucení canonicalu.
Kvíz
Úkol
Úkol A3.5: Odkazuje Vaše canonical správně? Zadejte adresu některé stránky svého webu. Program stránku načte, vyhledá canonical a zkontroluje, zda je právě jeden, zda je úplný a s https, zda cíl vrací 200, nemá noindex a ukazuje sám na sebe a zda varianty s http a s www nebo bez www přesměrovávají na stejného hostitele. Nemáte vlastní web? Použijte https://european-union.europa.eu/index_nl.
Další čtení
Postupy v těchto článcích platí pro panely WebOké; u jiných poskytovatelů to funguje podobně.
- Příručka k DirectAdmin 4.3: Nastavení domény: SSL, PHP, www a private_html
- Příručka k DirectAdmin 4.7: Přesměrování webu: jak přesměrovat doménu nebo stránku
- Bezplatný DNS kurz 3.4: www, přesměrování a co DNS nedělá
- Google Search Central, Co je kanonizace: https://developers.google.com/search/docs/crawling-indexing/canonicalization
- Google Search Central, Sloučení duplicitních adres URL (zadání canonicalu): https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
