Tag canonical to znacznik <link rel="canonical" href="adres"> w sekcji <head> strony, który wskazuje wyszukiwarce główny adres spośród kilku prowadzących do tej samej lub bardzo podobnej treści. Takie duplikaty powstają w sklepach z sortowaniem i filtrami, przy wariantach produktu pod osobnymi adresami i przy parametrach śledzących w linkach. Google indeksuje wtedy jeden adres i na niego zlicza linki oraz pozycje, a pozostałe wersje nadal działają i użytkownik otwiera je normalnie.
Jak działa tag canonical?
Tag canonical jest wskazówką dla Google, nie poleceniem. Robot odczytuje adres z atrybutu href, zestawia go z innymi sygnałami i wybiera wersję kanoniczną, czyli tę, która trafia do indeksu i do wyników wyszukiwania. Linki i inne sygnały z pozostałych adresów Google zalicza właśnie na jej rzecz.
Google wymienia trzy sposoby wskazania wersji głównej, uszeregowane według siły: przekierowanie (sygnał najsilniejszy), tag rel="canonical" (silny) i obecność adresu w mapie witryny (słaby). Gdy tag jest sprzeczny z pozostałymi sygnałami, na przykład linki wewnętrzne prowadzą gdzie indziej, Google może wybrać inny adres. W Google Search Console widać to jako różnicę między adresem zadeklarowanym w tagu a tym, który wybrała wyszukiwarka.
Self-referencing canonical to tag wskazujący na siebie. Potwierdza, że dany adres jest wersją główną, i zabezpiecza stronę przed duplikatami, które powstają po doklejeniu parametrów do linku. Ten sam mechanizm dotyczy stron /page/2/, /page/3/: każda ma canonical na samą siebie, nie na pierwszą stronę. Pełna instrukcja paginacji kategorii w sklepie pokazuje to na przykładzie.
Skąd biorą się duplikaty, które wymagają tagu canonical?
Duplikat treści to ta sama lub bardzo podobna treść pod różnymi adresami. Na stronie firmowej i w sklepie takie duplikaty mają pięć źródeł:
- Parametry w adresie. Sortowanie (
?orderby=price), filtry, identyfikatory sesji i oznaczenia kampanii (?utm_source=...). - Warianty produktu. Każdy kolor lub rozmiar pod osobnym adresem, z tym samym opisem i zdjęciami.
- Wersje adresu. Z www i bez, z http i https (migracja z http na https), z ukośnikiem na końcu i bez. Tu lepszym narzędziem jest przekierowanie, o którym piszemy w następnej sekcji.
- Ta sama treść w dwóch miejscach. Wpis opublikowany na blogu firmowym i w serwisie partnera.
- Wersje regionalne. Ta sama treść w tym samym języku dla kilku krajów; takie wersje oznacza się atrybutem hreflang, a każda z nich dostaje tag canonical wskazujący ją samą.
Kiedy tag canonical, a kiedy przekierowanie 301?
Tag canonical wybierasz, gdy wszystkie adresy mają pozostać dostępne, a przekierowanie 301, gdy stary adres ma zniknąć.
| Co porównujemy | Tag canonical | Przekierowanie 301 |
|---|---|---|
| Co widzi użytkownik | zostaje na adresie, który otworzył | trafia pod nowy adres |
| Adres poboczny | działa dalej, zwraca treść (kod 200) | nie zwraca treści, odsyła (kod 301) |
| Siła sygnału dla Google | silna wskazówka, Google może wybrać inaczej | najsilniejszy sygnał kanoniczności |
| Gdzie się ustawia | w <head> strony lub w nagłówku HTTP | na serwerze albo we wtyczce przekierowań |
| Typowe użycie | parametry, filtry, warianty produktu, ta sama treść w dwóch miejscach | zmiana adresu, migracja domeny, http na https, www i bez www |
| Kiedy jest błędem | gdy stary adres ma przestać istnieć | gdy warianty mają zostać dostępne |
Przykład ze sklepu: kategoria /buty/ ma istnieć razem z posortowaną wersją /buty/?orderby=price, więc adres z parametrem dostaje tag canonical na /buty/. Przy zmianie adresu kategorii z /obuwie/ na /buty/ stary adres ma zniknąć, więc dostaje przekierowanie 301. Tą samą zasadą kierujemy się na roseo.com.pl: adres bez ukośnika na końcu i wersja http mają przekierowanie 301, nie tag canonical. Kody przekierowań i ich wpływ na pozycje opisujemy we wpisie Co to jest przekierowanie 301?.
Jak sprawdzić tag canonical na stronie?
Tag canonical sprawdzasz w kodzie źródłowym strony albo w Google Search Console. Po samym wyglądzie w przeglądarce nie da się go rozpoznać.
Kod źródłowy
Skrót Ctrl+U (na Macu Cmd+Option+U) albo polecenie curl w terminalu, a potem szukanie frazy rel="canonical" w sekcji <head>.
Google Search Console
Sprawdzanie adresu URL, sekcja „Indeksowanie”: „Zadeklarowany URL kanoniczny przez użytkownika” i „URL kanoniczny wybrany przez Google”. Gdy się różnią, to sygnał problemu.
Narzędzia do audytu
Screaming Frog, Ahrefs lub Semrush przechodzą całą witrynę i wypisują adresy, którym tagu brakuje, oraz te, które wskazują inną stronę.
Strona /oferta/strony-internetowe/ na roseo.com.pl zwraca w kodzie źródłowym:
<link rel="canonical" href="https://roseo.com.pl/oferta/strony-internetowe/" />
Ten wiersz wstawia Rank Math, wtyczka SEO zainstalowana na roseo.com.pl. Nikt nie wpisywał go ręcznie, bo wtyczka ustawia self-referencing canonical automatycznie na każdej stronie i każdym wpisie; tak samo działa Yoast SEO. Sam tag poprawiasz tylko przy realnych duplikatach, na przykład gdy wariant produktu ma wskazywać produkt główny. Jak to zrobić krok po kroku w panelu, pokazujemy we wpisie Jak ustawić tag canonical w WordPressie?
Jakie błędy w tagu canonical są najczęstsze?
Najczęstszy błąd to brak tagu tam, gdzie duplikaty realnie istnieją, na przykład w kategoriach z filtrami. Pozostałe błędy dotyczą już samego tagu:
- Kilka tagów canonical na jednej stronie. Gdy motyw i wtyczka wstawiają osobne tagi z różnymi adresami, Google ignoruje wszystkie.
- Łańcuch tagów. Adres A wskazuje na B, a B na C. Google może pominąć taki ciąg, dlatego każdy adres ma prowadzić prosto do wersji docelowej.
- Adres spoza witryny przez pomyłkę. Tag skopiowany z szablonu innego serwisu oddaje sygnały obcej domenie.
- Tag poza sekcją
<head>. Google pomija tag umieszczony w<body>. - Adres względny.
href="/buty/"zamiasthref="https://domena.pl/buty/"; Google zaleca pełny adres z protokołem i domeną.
Masz sklep z filtrami albo wariantami produktów?
Sprawdzimy tagi canonical w Search Console i wskażemy strony do poprawy w ramach pozycjonowania.
Jakie pojęcia wiążą się z tagiem canonical?
- Duplikat treści (duplicate content): ta sama lub bardzo podobna treść pod kilkoma adresami; tag canonical wskazuje, którą wersję ma indeksować Google.
- Adres kanoniczny: wersja wybrana przez Google jako reprezentant grupy duplikatów; może różnić się od tej wskazanej w tagu.
- Przekierowanie 301: stałe przeniesienie adresu i najsilniejszy sygnał kanoniczności, gdy stara wersja ma zniknąć (porównanie wyżej).
- Indeksowanie: dodanie adresu do bazy Google; z grupy duplikatów trafia tam wersja kanoniczna. Więcej we wpisie Crawlowanie a indeksowanie: czym się różnią?.
- Budżet indeksowania (crawl budget): liczba żądań robota Google na stronie w danym czasie; duplikaty bez tagu canonical zużywają go na tę samą treść. Więcej we wpisie Co to jest crawl budget?.
- hreflang: atrybut oznaczający wersje językowe i regionalne tej samej strony; działa obok tagu canonical, nie zamiast niego.
Pozostałe pojęcia opisujemy na blogu Roseo.
Nie wiesz, czy na Twojej stronie ma być tag canonical, czy przekierowanie?
Napisz do nas, sprawdzimy adresy i podpowiemy, co zrobić.
FAQ
Tak. Google obsługuje tag canonical między domenami (cross-domain canonical), na przykład gdy ten sam artykuł ukazuje się na blogu firmowym i w serwisie partnera. Tag u partnera wskazuje wtedy oryginał i tam trafiają sygnały rankingowe.
Zwykle taka strona nie pojawia się w wynikach wyszukiwania, bo Google pokazuje wersję kanoniczną. Sam adres działa dalej: użytkownik otwiera go z linku lub reklamy, a robot Google nadal go odwiedza.
Tak, w nagłówku HTTP Link: <adres>; rel="canonical". Ten sposób przydaje się przy plikach bez sekcji <head>, na przykład PDF, i wtedy, gdy nie masz dostępu do szablonu strony.
Nie. Google odradza noindex jako sposób na wskazanie wersji głównej, bo taki znacznik blokuje całą stronę w wyszukiwarce i daje sygnał sprzeczny z tagiem. Duplikat ma mieć tag canonical i pozostać dostępny do indeksowania.
Źródła
- Google Search Central, „Consolidate duplicate URLs”: developers.google.com
- Google Search Central, „What is URL canonicalization”: developers.google.com
- Google Search Central, „Przekierowania i wyszukiwarka Google”: developers.google.com
- Google Search Console, „Sprawdzanie adresu URL”: support.google.com/webmasters
