Dostępne są dwa narzędzia do „ujarzmiania” duplikatów URL-i: canonical tag porządkuje indeksację bez ruszania zachowania strony dla użytkownika, a przekierowanie 301 faktycznie przenosi ruch i sygnały na nowy adres. Najczęściej wygrywa 301, gdy stary adres ma przestać istnieć „na serio”, a canonical – gdy różne warianty URL muszą zostać (filtry, parametry, wersje) i nie ma sensu przerzucać ludzi między adresami.

Canonical tag i 301 – to nie to samo
Canonical (rel=canonical) jest sygnałem, który podpowiada wyszukiwarce, który adres uznajesz za główny w grupie stron podobnych lub zduplikowanych. Nie zmienia on ścieżki użytkownika: jeśli ktoś wejdzie na wariant URL z parametrem, dalej ogląda tę stronę pod tym adresem – tylko w tle sugerujesz Google: „jeśli masz wybierać, pokazuj wersję X”.
Przekierowanie 301 działa inaczej: to komunikat HTTP, że zasób przeniósł się na stałe, więc przeglądarka i bot dostają nową lokalizację i realnie lądują na docelowym URL. Google w dokumentacji wprost rekomenduje stałe przekierowanie serwerowe (301/308), jeśli celem jest zmiana adresu widocznego w wynikach wyszukiwania.
Ważna rzecz, którą wielu pomija: canonical to wskazówka, a nie „twardy rozkaz”, więc Google może wybrać inny kanoniczny adres, jeśli inne sygnały (linkowanie, sitemap, przekierowania, treść) mówią co innego.
Co dokładnie daje canonical i kiedy działa najlepiej
Google opisuje canonical jako sposób na konsolidację sygnałów (np. linków) z wielu URL-i do jednego preferowanego adresu. To jest świetne w sytuacjach, gdy duplikacja jest „legalna”, a nawet potrzebna, tylko nie chcesz, żeby Google indeksował wszystko naraz.
Klasyczny przykład: parametry kampanijne i trackingowe (UTM, gclid) albo parametry sortowania, które technicznie tworzą nowe URL-e, choć treść pozostaje bardzo podobna. Wtedy canonical pozwala utrzymać porządek w indeksie bez wycinania funkcjonalności analitycznej czy UX-owej.
Jest też druga, bardziej „operacyjna” korzyść: canonical może zmniejszać ryzyko, że sygnały rankingowe rozleją się na kilka adresów, co w praktyce bywa jednym z powodów, dla których strona „nie dowozi” mimo dobrego contentu.

Canonical a paginacja i strony list
Google zwraca uwagę, że canonical do pierwszej strony paginacji to częsty błąd, bo kolejne strony nie są duplikatami – a taki canonical może sprawić, że treści z dalszych stron w ogóle nie będą indeksowane. To jest ten typ przypadku, gdzie chęć „uporządkowania” kończy się utratą widoczności na long tail.
Canonical w nawigacji fasetowej
Przy filtrach (faceted navigation) canonical bywa używany do konsolidacji sygnałów z niepotrzebnych kombinacji filtrów do wersji, która ma realną wartość dla wyszukiwarki. Jednocześnie to nie jest magiczna gumka: jeśli linkowanie wewnętrzne masowo pompuje parametry, a sitemap podaje co innego, Google może uznać, że canonicale są niespójne i wybrać własny wariant.
Co daje 301 i dlaczego zwykle jest „mocniejsze”
301/308 to stałe przekierowania serwerowe, które Google traktuje jako najlepszy sposób, by upewnić się, że użytkownicy i wyszukiwarka trafiają na właściwy adres po zmianie URL. Jeśli strona faktycznie zmienia adres (migracja, nowa struktura, scalanie sekcji), 301 to rozwiązanie „porządne” – usuwa stary adres z obiegu i ogranicza bałagan indeksacyjny.
W dokumentacji Google pada też istotne stwierdzenie: różne metody przekierowań (301, 302, meta refresh, JS) mają ten sam efekt dla Google Search, ale najszybszy efekt zwykle dają przekierowania 3xx po stronie serwera. To dobrze ustawia priorytety: jeśli sytuacja wymaga redirectu, to robienie go przez JavaScript jest zazwyczaj kombinowaniem, nie strategią.
301 przy migracjach i zmianach URL
Google ma osobną dokumentację o przenosinach witryny i zmianach adresów, gdzie nacisk kładzie się na poprawne mapowanie stary → nowy URL oraz wsparcie procesu danymi z Search Console. W tym kontekście redirect jest narzędziem bazowym, bo canonical nie przenosi użytkownika, a przy migracji chodzi o to, by stary adres przestał „żyć” i oddał ruch nowemu.
Kiedy stosować canonical, a kiedy 301 – tabela
Jeśli trzeba zapamiętać jedno zdanie: 301 stosuje się, gdy adres ma zostać zastąpiony innym adresem, a canonical – gdy warianty URL mają dalej istnieć, ale nie chcesz, by wszystkie konkurowały w indeksie. Google wprost wskazuje, że przekierowań warto używać wtedy, gdy pozbywasz się zduplikowanej strony (deprecating a duplicate page), czyli kiedy duplikat ma przestać być osobnym bytem.
Poniżej mała „ściąga”, która zwykle rozwiązuje 90% przypadków:
Najczęstsze błędy i „miny” wdrożeniowe
Canonical potrafi zaszkodzić, jeśli użyje się go do stron, które nie są duplikatami. Klasyka to paginacja, gdzie canonical do strony 1 może wyciąć indeksację dalszych stron. Kolejna pułapka: canonical w złym miejscu lub do złego adresu – Google wskazuje, że canonical powinien być w sekcji head, a kierowanie canonicala na 404/soft 404 to proszenie się o chaos.
Przy przekierowaniach problemem bywa „łańcuchowanie” (A→B→C), bo choć Google je obsługuje, to w praktyce spowalnia to sygnały i generuje niepotrzebne przejścia po stronie bota i użytkownika. W podobnym klimacie jest temat metod przekierowań: Google podkreśla, że różne metody mają ten sam efekt, ale jeśli liczy się szybkość i czytelność sygnału, 3xx po stronie serwera jest najrozsądniejsze.
I jeszcze jeden detal, który często wychodzi dopiero w audycie: Google może zignorować canonical, jeśli inne sygnały są niespójne (np. linkowanie wewnętrzne „pcha” w inny URL, sitemap podaje inny wariant). Spójność sygnałów bywa ważniejsza niż sam fakt, że „jest wstawiony canonical”.
Minimalny check wdrożeniowy
W praktyce dobrze jest traktować canonical i 301 jako element jednego systemu canonicalizacji, a nie dwie „magiczne sztuczki” wrzucane tam, gdzie akurat wyskoczy duplikat w Search Console. Google opisuje kilka metod wskazywania kanonicznego URL (canonical link, nagłówek HTTP, sitemap, przekierowania) i sensownie jest pilnować, żeby wszystkie mówiły to samo.
- Gdy URL ma zniknąć: ustaw 301/308 bez łańcuchów i bez pętli.
- Gdy URL ma zostać: ustaw rel=canonical w head i upewnij się, że wskazuje stronę 200 z właściwą treścią.
- Dopnij spójność: linkowanie wewnętrzne i sitemap niech prowadzą do tej samej wersji kanonicznej.
Jeśli miałoby zostać w głowie jedno praktyczne kryterium: canonical jest o preferencji w indeksie, a 301 o zmianie miejsca zasobu w sieci. I to zwykle widać też po efektach. Przekierowanie 301 czyści temat bardziej „zero-jedynkowo”, a canonical zostawia furtkę, że Google i tak oceni sygnały i podejmie decyzję.

