Adres kanoniczny (canonical): jak go ustawić dla strony i sprawdzić
Aby ustawić adres kanoniczny strony, dodaj w sekcji <head> tag <link rel="canonical" href="https://example.com/adres-glowny/"> z pełnym adresem wersji głównej; dla PDF i innych plików bez HTML używa się nagłówka HTTP Link. Adres kanoniczny to wskazanie wyszukiwarce, który z kilku identycznych lub podobnych adresów uznać za główny. Google traktuje go jako silny sygnał, ale nie jako wiążące polecenie.
Po co to potrzebne
Ten sam materiał często dostępny jest pod kilkoma adresami: z parametrami sortowania i etykiet, z www i bez, ze slashem na końcu i bez niego, w wersji do druku. Dla wyszukiwarki to różne strony z identyczną treścią. Adres kanoniczny łączy je: sygnały i waga linków są zredukowane do jednej wersji, a w wynikach wyszukiwania pojawia się właśnie ona.
Jak ustawić adres kanoniczny: cztery sposoby
| Sposób | Gdzie się go ustawia | Siła sygnału wg dokumentacji Google | Kiedy stosować |
|---|---|---|---|
Tag link rel="canonical" | W sekcji <head> strony HTML | Silny | Podstawowy sposób dla zwykłych stron |
Nagłówek HTTP Link | W odpowiedzi serwera | Silny (ta sama adnotacja co tag) | PDF, dokumenty i inne pliki bez <head> |
| Przekierowanie 301 | Na serwerze | Silny | Duplikat nie jest już potrzebny ludziom — zob. 301 czy 302 |
| Mapa witryny | W sitemap.xml tylko adresy główne | Słaby | Sygnał dodatkowy, nie zamiennik tagu |
Tag w HTML
<head>
<link rel="canonical" href="https://example.com/katalog/sofy/">
</head>
Nagłówek HTTP dla PDF
Link: <https://example.com/docs/cennik.pdf>; rel="canonical"
W nginx dodaje się go w bloku location danego pliku:
location = /files/cennik-2026.pdf {
add_header Link '<https://example.com/docs/cennik.pdf>; rel="canonical"';
}
Czy nagłówek faktycznie jest wysyłany, sprawdzisz sprawdzaniem nagłówków HTTP — pokazuje wszystkie nagłówki odpowiedzi.
Zasady zapisu tagu canonical
- Pełny adres z protokołem i domeną. Google zaleca adresy bezwzględne:
https://example.com/strona/, a nie/strona/. - Tylko w
<head>. Tagu w treści strony Google nie przyjmuje. Jeśli szablon wcześniej wstawia niepoprawny element,<head>może zamknąć się przedwcześnie i tag trafi do treści. - Jeden adres kanoniczny na stronę. Dwa tagi z różnymi adresami albo tag sprzeczny z nagłówkiem
Linkto sprzeczne sygnały. - Adres zgodny z promowaną wersją: ten sam protokół, ten sam host (z www lub bez), ten sam ukośnik na końcu.
- Strona docelowa zwraca 200, jest indeksowalna i nie jest zablokowana w robots.txt.
- Kanoniczny na siebie na głównych stronach chroni przed duplikatami z parametrami i znacznikami.
- Bez robots.txt i narzędzia usuwania. Google wprost odradza ich użycie do kanonikalizacji, a
noindexnie zaleca do wyboru strony kanonicznej w obrębie witryny. - Najlepiej w źródłowym HTML. Tag dodany przez JavaScript Google może przetworzyć po renderowaniu, ale część narzędzi i robotów nie uruchamia skryptów.
Jak wygląda prawidłowa konfiguracja
| Przypadek | Co wskazać |
|---|---|
| Zwykła strona | Samą siebie — samokanoniczna |
| Adres z UTM-znacznikami | Czysty adres bez parametrów |
| Paginacja | Każdą stronę na siebie, a nie wszystko na pierwszą |
| Jeden produkt w kilku kategoriach | Jeden główny adres produktu |
| Wersja do druku | Główną wersję |
Jak ustawić adres kanoniczny w WordPressie i innych CMS
W większości CMS tag wstawia szablon lub moduł SEO, a nie edytor strony. WordPress zwykle sam dodaje tag kanoniczny na wpisach i stronach; wtyczki SEO, takie jak Yoast SEO i Rank Math, rozszerzają to na inne typy stron i dają w zaawansowanych ustawieniach wpisu pole na własny adres kanoniczny. W innych systemach szukaj podobnego pola w ustawieniach SEO strony lub modułu meta tagów; na stronie pisanej od zera tag dodaje się do wspólnego szablonu <head> z adresem bieżącej strony bez parametrów.
- Zostaw domyślny kanoniczny na siebie na wszystkich zwykłych stronach.
- Dla duplikatów — produktu w kilku kategoriach, wersji do druku — wpisz w pole adres wersji głównej.
- Po instalacji wtyczki sprawdź, czy tag jest jeden: motyw i wtyczka często wstawiają go oba.
- Paginacja i filtry mają osobne zasady — zob. paginację i nawigację fasetową.
Adres kanoniczny w witrynie wielojęzycznej i dla wersji mobilnej
Wersje językowe nie są duplikatami, nawet jeśli tłumaczenie jest bliskie oryginałowi. Każda wersja wskazuje adres kanoniczny na samą siebie, a powiązania między językami opisuje się atrybutami hreflang. Jeśli angielska strona wskaże jako kanoniczną polską, Google może usunąć angielską z indeksu, a znaczniki hreflang przestaną działać — mogą w nich występować tylko adresy kanoniczne.
<!-- na https://example.com/en/page/ -->
<link rel="canonical" href="https://example.com/en/page/">
<link rel="alternate" hreflang="pl" href="https://example.com/pl/page/">
<link rel="alternate" hreflang="en" href="https://example.com/en/page/">
Osobna wersja mobilna na subdomenie, np. m.example.com, to inny przypadek: Google opisuje dla takich witryn parę adnotacji — rel="alternate" na stronie głównej wersji i rel="canonical" ze strony mobilnej do głównej. Strona responsywna z jednym adresem dla wszystkich urządzeń tego nie potrzebuje. Więcej w artykułach o hreflang, sprawdzaniu hreflang i indeksacji mobile-first.
Częste błędy
- Wszystkie strony wskazują na główną. Klasyka przy kopiowaniu szablonu: pozostałe strony wypadają z indeksu.
- Adres kanoniczny prowadzi do przekierowania lub 404. Sygnał całkowicie się łamie.
- Różne protokoły i domeny. Adres musi odpowiadać temu, który rzeczywiście promujesz.
- Kanoniczny plus noindex na jednej stronie. Sprzeczność, która jest interpretowana w sposób nieprzewidywalny.
Jak sprawdzić adres kanoniczny
- Kod źródłowy. Otwórz stronę, naciśnij Ctrl+U i wyszukaj
canonical: tag powinien być jeden i w<head>. - Analiza meta tagów pokazuje canonical razem z title, description i hreflang. Czyta źródłowy HTML bez uruchamiania JavaScriptu, więc tagu dodanego skryptem nie zobaczy.
- Sprawdzanie indeksacji strony porównuje canonical z adresem końcowym po przekierowaniach i ostrzega o rozbieżności.
- Search Console → „Sprawdzenie adresu URL”. W szczegółach indeksowania widać dwa pola: strona kanoniczna wskazana przez użytkownika i strona kanoniczna wybrana przez Google. Jeśli się różnią, Google nie przyjął Twojej wskazówki.
- Raport indeksowania stron. Stan typu „duplikat, Google wybrał inną stronę kanoniczną niż użytkownik” (po angielsku Duplicate, Google chose different canonical than user) pokazuje takie adresy listą.
Jeśli Google wybiera inny adres, szukaj sprzecznych sygnałów: linków wewnętrznych do duplikatu, duplikatu w mapie witryny, przekierowania w odwrotną stronę, różnej treści na „identycznych” stronach. Więcej w artykule o sprawdzaniu indeksacji.
Adres kanoniczny a przekierowanie
Często są mylone. Przekierowanie fizycznie prowadzi zarówno robota, jak i człowieka na inny adres — stara strona przestaje być dostępna. Adres kanoniczny pozostawia obie strony dostępne, ale prosi o uznanie jednej z nich za główną. Zasada jest prosta: jeśli stary adres nie jest już potrzebny ludziom — przekierowanie; jeśli obie wersje są potrzebne, na przykład produkt w dwóch kategoriach, — adres kanoniczny.
Jak to się ma do promocji
Linki należy prowadzić na adres kanoniczny. Jeśli promowana strona wskazuje kanonicznym inny adres, waga przejdzie tam, a nie na nią. Sprawdzić tagi można analitykiem meta-tagów, a wybór strony do uruchomienia omówiony jest w artykule „Jaką stronę wybrać”.