Canonical URL: jak uniknąć duplikacji treści i nie zgubić rankingu

Canonical URL – co to jest, jak uniknąć duplikacji treści i jak wdrożyć tag canonical

Canonical URL (tag rel="canonical") mówi Google: ta wersja strony jest oryginalna, indeksuj ją, a duplikaty ignoruj. Bez canonical Google widzi kilka wersji tej samej treści (z parametrami, z www i bez, HTTP i HTTPS, z sortowaniem albo filtrem) i nie wie, którą wybrać. Skutek: duplikacja treści, rozproszony autorytet linków, gorsze pozycje. Canonical rozwiązuje to jedną linijką w HTML-u.

Po co w ogóle canonical

Ta sama treść może być dostępna pod wieloma URL-ami, a Google traktuje każdy URL jako osobną stronę.

URL Treść Google widzi
https://twojadomena.pl/artykul Artykuł X Strona A
https://www.twojadomena.pl/artykul Ten sam artykuł Strona B (duplikat)
http://twojadomena.pl/artykul Ten sam artykuł Strona C (duplikat)
https://twojadomena.pl/artykul?utm_source=fb Ten sam artykuł Strona D (duplikat)
https://twojadomena.pl/artykul/ (trailing slash) Ten sam artykuł Strona E (duplikat)

Pięć URL-i, jedna treść. Google nie wie, która jest „oryginalna”. Backlinki rozpraszają się na pięć adresów zamiast skupić na jednym. Canonical mówi po prostu: indeksuj wersję A, resztę traktuj jako duplikaty.

Jak wygląda tag

W sekcji <head>:

<link rel="canonical" href="https://twojadomena.pl/artykul" />

Tłumaczymy to jako „kanoniczna wersja tej strony to https://twojadomena.pl/artykul„. Nawet jeśli Google trafi na ?utm_source=fb, dzięki canonical wie, że ma indeksować wersję bez parametrów.

Jedna ważna rzecz: canonical to podpowiedź, nie dyrektywa. Google zwykle go respektuje, ale potrafi zignorować, jeśli uzna, że inna wersja jest bardziej kanoniczna (np. canonical wskazuje 404, albo treść na wskazanym URL jest faktycznie inna).

Kiedy canonical jest potrzebny

Ta sama treść pod wieloma URL-ami. Najczęstszy przypadek to parametry: UTM-y, sortowanie, filtrowanie, paginacja, sesje.

https://twojadomena.pl/artykul                        (oryginał)
https://twojadomena.pl/artykul?utm_source=newsletter  (UTM)
https://twojadomena.pl/artykul?ref=homepage           (referral)
https://twojadomena.pl/artykul?fbclid=abc123          (Facebook click ID)
→ Canonical na wszystkich: https://twojadomena.pl/artykul

HTTP vs HTTPS, www vs bez www. Jeśli .htaccess robi 301 z HTTP na HTTPS i z www na bez www, canonical jest dodatkową warstwą. Jeśli przekierowanie nie działa, canonical zostaje jedynym sygnałem dla Google.

Sklep z filtrami i sortowaniem.

https://twojsklep.pl/buty                           (oryginał)
https://twojsklep.pl/buty?kolor=czarny              (filtr)
https://twojsklep.pl/buty?sortuj=cena-rosnaco       (sortowanie)
https://twojsklep.pl/buty?kolor=czarny&sortuj=cena  (filtr + sort)
→ Canonical na filtrowanych: https://twojsklep.pl/buty

Uwaga, w której łatwo się przejechać: jeśli filtrowana strona ma unikalną treść (na przykład kategoria „Buty czarne” z własnym opisem i metadanymi), nie dawaj jej canonical na wersję bez filtra. Canonical mówi „to jest duplikat” i jeśli treść jest unikalna, zabijesz ją w indeksie.

Paginacja.

https://twojsklep.pl/buty               (strona 1)
https://twojsklep.pl/buty?page=2        (strona 2)
https://twojsklep.pl/buty?page=3        (strona 3)

Każda strona paginacji ma inną treść (inne produkty). Nie dawaj canonical strony 2 na stronę 1, bo Google nie zaindeksuje produktów ze strony 2. Daj na każdej stronie self-referencing canonical (page=2 ma canonical na page=2). Google rozumie paginację i obsługuje ją prawidłowo.

Treść syndykowana. Publikujesz artykuł na swoim blogu i na Medium albo LinkedInie. Bez canonical Google widzi 2 kopie i wybiera „lepszą”, co często oznacza Medium z większym autorytetem. Z canonical: strona partnerska dodaje canonical na twój blog i Google indeksuje twoją wersję jako oryginał.

Jak wdrożyć canonical w WordPressie

Yoast SEO i Rank Math. Obie wtyczki dodają rel="canonical" automatycznie na każdej stronie, domyślnie self-referencing (canonical wskazuje na samą siebie). Nie musisz nic konfigurować, działa od razu po instalacji.

Zmiana canonical per strona: edytujesz wpis, panel Yoasta albo Rank Matha, zakładka „Zaawansowane” (Advanced), pole „Canonical URL”, wpisujesz inny URL. Domyślnie zostawiasz puste, czyli self-referencing.

WooCommerce. WooCommerce plus Yoast/Rank Math obsługuje canonical dla produktów, kategorii, tagów i filtrowanych stron. Sprawdzisz to tak: otwierasz kategorię z filtrem (np. ?kolor=czarny), F12, Elements, szukasz rel="canonical". Powinien wskazywać na wersję bez filtra.

Ręcznie. W <head> (header.php albo Insert Headers and Footers): <link rel="canonical" href="https://twojadomena.pl/strona" />. Tylko jeśli nie używasz Yoasta ani Rank Matha. Mieszanie wtyczki z ręczną wstawką daje podwójny canonical, a Google bierze pierwszy z brzegu.

Self-referencing canonical: dlaczego ma znaczenie

Self-referencing canonical wskazuje na samego siebie. Strona /artykul ma canonical na /artykul. Brzmi nadmiarowo, ale ma realny sens: mówi Google „ta wersja URL jest kanoniczna, nawet jeśli ktoś dorzuci parametr (?utm, ?ref, ?fbclid)”.

Bez self-referencing Google sam decyduje, która wersja jest kanoniczna, i może wybrać tę z parametrem (np. dlatego, że ma więcej linków przychodzących). Z self-referencing Google ma jednoznaczną informację. Yoast i Rank Math dodają to domyślnie i nie ma sensu wyłączać.

Canonical vs 301 redirect

Cecha Canonical 301 Redirect
Co robi Podpowiedź dla Google: indeksuj tamtą wersję Przekierowanie użytkownika i bota na nowy URL
Użytkownik widzi Oryginalny URL (nie jest przekierowywany) Nowy URL (przeglądarka zmienia adres)
Obie strony istnieją Tak, oba URL-e działają Nie, stary URL przekierowuje na nowy
Kiedy używać Duplikaty, które muszą istnieć (parametry, filtry) Trwała zmiana URL (migracja, zmiana sluga)
Transfer autorytetu Konsoliduje na canonical Przenosi około 90%

Praktyczna zasada: stary URL nie musi już istnieć (zmieniłeś sluga, przeniosłeś stronę)? 301 redirect. Stary URL musi istnieć (parametry śledzenia, filtrowanie, wersja drukowana)? Canonical.

Canonical vs noindex

Cecha Canonical Noindex
Strona w indeksie Google TAK (canonical URL) NIE (żadna wersja)
Transfer autorytetu Tak (na canonical URL) Nie (autorytet przepada)
Kiedy używać Duplikat z wartością (ma linki, ruch) Strona bez wartości (wyniki wyszukiwania, puste archiwa)

Canonical: indeksuj oryginał, ignoruj duplikat (autorytet skonsolidowany). Noindex: w ogóle nie indeksuj (autorytet stracony). Duplikat ma backlinki? Canonical, żeby nie zmarnować autorytetu. Strona jest po prostu bezwartościowa (np. tag z 2 postami)? Noindex.

Najczęstsze błędy

Canonical na 404. Strona A ma canonical na B, ale B zwraca 404. Google ignoruje canonical i może w ogóle nie zaindeksować A. Po zmianach URL-i albo usuwaniu stron przepuść stronę przez Screaming Froga, filtr „Non-Indexable Canonical”.

Canonical cross-domain przez przypadek. Skopiowałeś szablon albo kod z innej strony i razem z nim ich canonical. Google deindeksuje twoją wersję na rzecz tamtej. Sam się tak kiedyś przejechałem, kopiując header.php z poprzedniego projektu. Sprawdzaj canonical po każdej akcji typu „skopiuj template”.

Canonical na stronie o innej treści. Strona A o butach ma canonical na stronę B o torebkach. Google to widzi i ignoruje canonical, bo treść się różni. Canonical działa tylko, kiedy treść jest identyczna albo prawie identyczna.

Podwójny canonical. Yoast generuje canonical, a ty dorzucasz drugi w header.php. Dwa tagi w head, Google bierze pierwszy albo jest zdezorientowany. Wybierz: albo wtyczka, albo ręcznie. Nigdy oba.

Jak sprawdzić canonical na stronie

F12 (DevTools). Otwierasz stronę, F12, Ctrl+F, szukasz canonical, widzisz tag <link rel="canonical"> z adresem.

Google Search Console. Inspekcja URL, porównanie „Canonical URL: Google wybrał” z „Canonical URL: Użytkownik zadeklarował”. Jeśli się różnią, Google nie zgadza się z twoim canonical i to znak, że trzeba to przejrzeć.

Screaming Frog. Crawl strony, zakładka „Canonicals”, filtry „Missing” (brak canonical), „Non-Indexable Canonical” (wskazuje na nieindeksowalną stronę), „Canonicalised” (strona ma canonical na inną).

Najczęściej zadawane pytania

Czy canonical jest obowiązkowy

Technicznie nie. Strona zadziała bez niego. Praktycznie tak, bo bez canonical Google sam wybiera wersję kanoniczną i potrafi wybrać tę z parametrem albo bez HTTPS. Yoast i Rank Math dodają canonical automatycznie, więc w typowym WP nie musisz o tym myśleć.

Czy canonical przenosi link juice jak 301

Tak. Google konsoliduje sygnały, w tym linki, na wersji kanonicznej. Ale 301 jest silniejszy, bo wymusza przekierowanie, podczas gdy canonical to tylko podpowiedź, którą Google może zignorować. Trwała zmiana URL: 301. Duplikaty, które muszą zostać: canonical.

Czy mogę dać canonical na inną domenę

Tak. Cross-domain canonical jest dozwolony. Scenariusz: publikujesz na Medium i na swoim blogu. Medium dodaje canonical na twój blog, Google indeksuje twoją wersję. Tylko ostrożnie, bo canonical na inną domenę oznacza „moja treść jest duplikatem tamtej”. Źle ustawiony deindeksuje twoją stronę na rzecz cudzej.

Co jeśli Google ignoruje mój canonical

Sprawdzasz w Search Console (Inspekcja URL) sekcję „Google-selected canonical”. Inne niż twoje? Google uznał twoją podpowiedź za błędną. Powody są zwykle trzy: treść na canonical URL jest inna niż na duplikacie, canonical wskazuje na 404 albo redirect albo noindex, canonical URL ma niższy autorytet niż duplikat. Napraw przyczynę i Google zaakceptuje canonical przy kolejnym crawlu.

Picture of Tomasz Zieliński
Tomasz Zieliński

Tomasz zajmuje się tematyką SEO, sztucznej inteligencji i automatyzacji pracy w marketingu internetowym. W swoich artykułach analizuje zmiany w algorytmach wyszukiwarek, rozwój narzędzi AI oraz nowe sposoby tworzenia i optymalizacji treści. Interesuje go przede wszystkim to, jak technologia wpływa na codzienną pracę specjalistów SEO, marketerów i twórców internetowych.

Facebook
Twitter
LinkedIn
Pinterest

Najnowsze Wpisy

Śledź nas