Panel klienta
SEO

Konflikt canonical i redirectów: jak znaleźć sprzeczne sygnały

Konflikt canonical i przekierowania pojawia się wtedy, gdy jedna wersja URL prowadzi użytkownika w jedno miejsce, a canonical wskazuje inne. Taki układ da się wykryć podczas crawlowania i uporządkować, ale najpierw trzeba ustalić, który adres faktycznie powinien pozostać docelowy.

Tomasz Wierzba 13 min czytania
Konflikt canonical i redirectów: jak znaleźć sprzeczne sygnały

Jeżeli adres produktu, kategorii albo wpisu ma przekierowanie 301, a jednocześnie w kodzie strony znajduje się canonical prowadzący do innego URL, masz klasyczny konflikt canonical i przekierowania. Problem robi się większy, gdy trzeci adres pojawia się jeszcze w sitemapie, a linki wewnętrzne prowadzą do czwartej wersji. Google bierze pod uwagę wiele takich sygnałów i może wybrać adres inny niż ten, który zakładasz.

W praktyce nie chodzi więc o samo znalezienie tagu rel="canonical". Trzeba prześledzić całą ścieżkę URL: odpowiedź serwera, adres po przekierowaniu, canonical, linki wewnętrzne, sitemapę i to, co Google faktycznie uznaje za kanoniczne.

Konflikt canonical i przekierowania: gdzie zaczyna się problem

Canonical i przekierowanie pełnią podobną funkcję, ale działają w inny sposób. Przekierowanie zmienia adres, do którego trafia użytkownik i crawler. Canonical pozostawia stronę dostępną, ale przekazuje wyszukiwarce informację, który adres powinien być traktowany jako reprezentatywny dla danego zestawu podobnych lub zduplikowanych stron.

Google traktuje zarówno przekierowania, jak i rel="canonical" jako silne sygnały przy wyborze adresu kanonicznego. Problem pojawia się wtedy, gdy te sygnały nie prowadzą w to samo miejsce. Przykładowo:

https://sklep.pl/stary-produkt
        ↓ 301
https://sklep.pl/nowy-produkt

a na stronie źródłowej albo w konfiguracji generującej HTML pojawia się:

<link rel="canonical" href="https://sklep.pl/inny-produkt">

W takim przypadku serwer mówi jedno, a canonical drugie. Jeżeli dodatkowo sitemap zawiera https://sklep.pl/inny-produkt, a linki wewnętrzne prowadzą do https://sklep.pl/nowy-produkt, powstaje zestaw sprzecznych sygnałów SEO.

Sama obecność kilku sygnałów nie oznacza automatycznie błędu indeksowania. Google sam wybiera canonical na podstawie dostępnych informacji. Z punktu widzenia właściciela sklepu problemem jest jednak sytuacja, w której konfiguracja nie wyraża jednej, jasno określonej preferencji.

Najpierw ustal więc jeden docelowy URL. Dopiero potem sprawdzaj, czy wszystkie pozostałe elementy strony wskazują właśnie na niego.

Czy canonical może wskazywać na redirect?

Tak, technicznie możesz ustawić canonical na adres, który odpowiada przekierowaniem. Nie jest to jednak dobra konfiguracja docelowa. Jeżeli canonical wskazuje na URL, który nie zwraca bezpośrednio właściwej strony, dodajesz kolejną warstwę interpretacji.

Przykład:

URL A: https://sklep.pl/kategoria/stare-buty
      ↓ canonical
URL B: https://sklep.pl/buty
      ↓ 301
URL C: https://sklep.pl/obuwie

Canonical wskazuje B, ale B przekierowuje do C. Jeżeli ostatecznym adresem strony jest C, lepiej doprowadzić konfigurację do sytuacji, w której sygnały prowadzą bezpośrednio do C.

To odpowiada też na pytanie, czy można stosować canonical i 301 jednocześnie. Można, ale trzeba rozróżnić, czego dotyczą oba mechanizmy. Stary URL może mieć 301 do nowego URL, natomiast nowa strona powinna wskazywać jako canonical samą siebie, jeżeli jest docelową wersją treści.

Przy migracji schemat powinien wyglądać raczej tak:

stary URL
   ↓ 301
nowy URL
   ↓
canonical = nowy URL

Nie:

stary URL
   ↓ 301
URL B
   ↓ 301
URL C

canonical → URL B

Jeżeli podczas audytu widzisz canonical prowadzący do redirectu, nie oznaczaj go od razu jako krytycznego błędu. Sprawdź, dokąd redirect prowadzi, czy strona docelowa jest właściwa i czy można uprościć konfigurację.

Jak znaleźć sprzeczne sygnały Google podczas crawlowania

Najwygodniej zacząć od crawla całej domeny. Przy małym sklepie możesz dodatkowo ręcznie sprawdzić najważniejsze produkty, kategorie i strony, ale przy większej liczbie URL ręczne sprawdzanie szybko przestaje mieć sens.

Podczas crawlowania zbierz dla każdego adresu co najmniej:

  • status HTTP,
  • końcowy URL po przekierowaniu,
  • liczbę przekierowań w łańcuchu,
  • adres wskazany przez canonical,
  • informację, czy canonical jest indeksowalny,
  • linki wewnętrzne prowadzące do badanego URL,
  • obecność URL w sitemapie,
  • podstawowe informacje o indeksowaniu.

Następnie szukaj konkretnych rozbieżności.

Pierwszy przypadek to URL zwracający 301, którego canonical wskazuje jeszcze inny adres. Drugi to canonical prowadzący do URL zwracającego 301. Trzeci to canonical prowadzący do strony z błędem 404 albo 5xx. Czwarty to canonical prowadzący do strony z noindex. Piąty to sytuacja, w której canonical wskazuje jedną wersję, ale większość linków wewnętrznych kieruje do innej.

Przy crawlowaniu sklepu zwróć uwagę na parametry. Filtry, sortowanie, warianty produktów i parametry kampanii potrafią wygenerować dużą liczbę adresów, które wyglądają podobnie, ale są obsługiwane przez różne reguły canonicalizacji.

Jeżeli pracujesz nad większym sklepem, przydatny jest eksport danych do arkusza. Wtedy możesz porównać kolumny Source URL, Status Code, Redirect URL, Canonical URL, Indexability i Inlinks. Bardzo szybko zobaczysz wiersze, w których wartości nie tworzą jednej logicznej ścieżki.

Przy okazji sprawdzania technicznego możesz połączyć ten proces z szerszym audytem technicznym sklepu, szczególnie jeżeli problemy z URL występują razem z błędami indeksowania, duplikacją lub nieprawidłowymi linkami wewnętrznymi.

Dwie strzałki malowane na asfalcie

Co dokładnie porównać w jednym URL

Nie zaczynaj od pytania, czy canonical jest poprawny. Zacznij od pytania: „Jaki URL powinien być docelowy dla tej treści?”. To zmienia sposób analizy.

Załóżmy, że produkt jest dostępny pod adresem:

https://sklep.pl/kurtka-zimowa

Po wejściu na stary adres:

https://sklep.pl/kurtka-zimowa-czarna

serwer wykonuje 301 do pierwszego URL. Wtedy sprawdzasz, czy nowy URL:

https://sklep.pl/kurtka-zimowa

zwraca kod 200, ma właściwą treść, ma canonical wskazujący na siebie, znajduje się w sitemapie i jest używany w linkach wewnętrznych.

Jeżeli wszystkie te elementy są spójne, konfiguracja jest czytelna. Jeżeli canonical nowej strony wskazuje jeszcze inną wersję, trzeba ustalić, skąd pochodzi ta wartość. W WooCommerce może ją generować wtyczka SEO, motyw albo dodatkowa funkcja. W PrestaShop źródłem może być konfiguracja sklepu, moduł SEO albo reguły związane z URL produktów i kategorii.

Sprawdź również kod źródłowy HTML, a nie tylko wynik działania narzędzia, które pokazuje dane po renderowaniu. Canonical może być generowany na kilka sposobów, w tym przez HTML albo nagłówek HTTP. Jeżeli sklep korzysta z JavaScriptu, sprawdź, czy skrypt nie zmienia canonical po załadowaniu strony.

Jeżeli używasz canonical w HTML i jednocześnie canonical w nagłówku HTTP, porównaj oba adresy. Dwa różne canonicale dla tej samej odpowiedzi to kolejny sygnał, który trzeba uporządkować.

Tabela sygnałów, które trzeba porównać

Typ sygnałuwskazany URL i możliwy konflikt
301 lub 308URL docelowy przekierowania. Konflikt powstaje, gdy canonical albo sitemap wskazują inny adres.
rel="canonical"Preferowany canonical URL. Konflikt powstaje, gdy adres zwraca redirect, błąd albo różni się od docelowego URL migracji.
Link wewnętrznyAdres używany w nawigacji sklepu. Konflikt powstaje, gdy linki prowadzą do duplikatu zamiast wybranego canonical URL.
SitemapURL zgłoszony jako preferowany. Konflikt powstaje, gdy sitemap zawiera adres inny niż canonical lub docelowy redirect.
HreflangURL odpowiedniej wersji językowej lub regionalnej. Konflikt powstaje, gdy wskazana wersja ma inny canonical lub nie odpowiada konfiguracji językowej.
HTTPSWersja HTTPS strony. Konflikt powstaje, gdy część sygnałów nadal wskazuje HTTP albo przekierowanie prowadzi przez niewłaściwą wersję protokołu.
Nagłówek HTTP canonicalURL przekazany w odpowiedzi serwera. Konflikt powstaje, gdy różni się od canonical obecnego w HTML.

Ta tabela przydaje się szczególnie podczas audytu po migracji. Zamiast sprawdzać pojedynczy tag, analizujesz cały zestaw sygnałów związanych z konkretnym adresem.

Canonical a redirect po zmianie adresu produktu

Zmiana URL produktu jest częstym źródłem problemów w sklepach. Produkt dostaje nowy slug, administrator ustawia 301, ale system SEO nadal generuje canonical według starego schematu. Czasami odwrotnie, canonical zostaje zmieniony, ale przekierowanie wskazuje na wcześniejszą wersję adresu.

Po zmianie URL zrób prostą mapę:

STARY URL → 301 → NOWY URL

Potem sprawdź nowy URL:

NOWY URL → 200
NOWY URL → canonical = NOWY URL

Na końcu przejrzyj miejsca, które mogły zachować stary adres:

  • menu,
  • kategorie,
  • moduły produktów powiązanych,
  • breadcrumbs,
  • filtry,
  • sitemapę,
  • dane strukturalne zawierające URL,
  • linki w treści opisów.

Nie każdy stary link musi powodować problem indeksowania, jeżeli prowadzi przez poprawne 301. Z punktu widzenia porządku technicznego lepiej jednak aktualizować własne linki bezpośrednio do docelowego adresu. Google również zaleca linkowanie wewnętrzne do URL, który uznajesz za canonical.

Jeżeli sklep jest po migracji, osobno przeanalizuj stare URL z zewnętrznych źródeł. Nie usuwaj pochopnie przekierowań tylko dlatego, że nie występują już w menu. Stary adres może nadal mieć linki przychodzące albo być odwiedzany przez użytkowników.

Rozjazd kolejowy z przestawioną zwrotnicą

Jak ustalić jeden docelowy adres URL

Przy konflikcie nie zaczynaj od zmiany canonicalu na chybił trafił. Najpierw ustal, który adres powinien reprezentować treść.

Dla strony produktu sprawdź, czy wybrany URL jest właściwą wersją produktu, czy nie jest duplikatem innej strony i czy użytkownik rzeczywiście powinien na niego trafić. Dla kategorii sprawdź, czy nie jest to przypadkowa wersja z parametrem, filtrem albo sortowaniem.

Następnie sprawdź, czy wybrany adres odpowiada kodem 200. Jeżeli zwraca 301, wybierz końcowy adres zamiast utrzymywać dodatkowe przekierowanie w środku ścieżki.

Przy zmianie domeny albo większej migracji przygotuj mapowanie starych URL do nowych. Nie kieruj dużej grupy niezwiązanych adresów na stronę główną tylko dlatego, że jest dostępna. Dla każdej grupy starych URL powinien istnieć sensowny odpowiednik albo właściwa odpowiedź serwera, jeżeli treść została usunięta.

Właśnie na tym etapie dobrze wychodzi audyt sklepu przed kampanią SEO, ponieważ konflikt canonicali często jest tylko jednym z elementów większego bałaganu po zmianach technicznych.

Jak naprawić konflikt canonical i 301

Jeżeli ustalisz, że właściwym adresem jest URL C, konfiguracja powinna zostać sprowadzona do prostego schematu.

Stary URL A może przekierowywać do C:

A → 301 → C

Jeżeli istnieje URL B, który również jest starą wersją tej samej strony, możesz ustawić:

B → 301 → C

Na stronie C ustawiasz canonical wskazujący na C:

<link rel="canonical" href="https://sklep.pl/docelowa-strona" />

W sitemapie umieszczasz C. Linki wewnętrzne kierujesz do C. W ten sposób podstawowe sygnały wskazują ten sam adres.

Jeżeli masz łańcuch:

A → 301 → B → 301 → C

sprawdź, czy można go skrócić do:

A → 301 → C

Nie chodzi o to, żeby mechanicznie usuwać wszystkie przekierowania. Jeśli B jest nadal używany z określonego powodu, trzeba uwzględnić kontekst. W typowej migracji bezpośrednie przekierowanie ze starego URL do finalnego adresu jest jednak czytelniejsze.

Po zmianach wykonaj crawl ponownie. Nie zakładaj, że poprawienie jednego ustawienia w CMS automatycznie zmieni wszystkie wygenerowane URL. Sprawdź wynik, a nie tylko konfigurację.

Jak znaleźć konflikt w Search Console

Crawl pokazuje konfigurację strony z perspektywy narzędzia, ale Search Console pozwala sprawdzić, jak Google interpretuje konkretny URL. Przy problemach z canonicalem użyj narzędzia Sprawdzanie adresu URL.

Dla wybranego adresu porównaj przede wszystkim canonical wskazany przez właściciela z canonicalem wybranym przez Google. Jeżeli Google wybrał inny adres, wróć do crawla i sprawdź, jakie sygnały prowadzą do tej wersji.

Nie ograniczaj analizy do samego komunikatu o canonicalu. Jeżeli Google wybiera inny URL, sprawdź podobieństwo treści, przekierowania, linkowanie wewnętrzne, sitemapę, wersję protokołu i ewentualne warianty językowe.

Dobrym sposobem jest przeanalizowanie kilku URL z tej samej grupy. Jeżeli każdy z nich wskazuje inny canonical albo część przekierowuje do różnych miejsc, prawdopodobnie problem leży w regułach generowania adresów, a nie w pojedynczej stronie.

Po wdrożeniu zmian możesz ponownie użyć sprawdzania URL i poprosić Google o ponowne przetworzenie istotnych adresów. Nie traktuj jednak tego jako sposobu na naprawienie złej konfiguracji. Najpierw uporządkuj sygnały, dopiero później sprawdzaj ich interpretację przez Google.

Dwa klucze do jednego zamka

Sprzeczne sygnały po migracji sklepu

Migracje są szczególnie podatne na konflikt canonical i redirectów. Stary sklep może nadal mieć własne reguły przekierowań, nowy CMS generuje canonicale, a dodatkowa wtyczka SEO dodaje własne wartości. Do tego dochodzi sitemap wygenerowana przed zmianą struktury adresów.

Po migracji zrób crawl starej i nowej struktury. Zbierz wszystkie stare URL, które nadal są dostępne, i przypisz im docelowe adresy. Następnie sprawdź, czy każdy istotny stary adres ma właściwe przekierowanie.

Na nowej stronie sprawdź canonicale. Jeżeli nowy produkt ma canonical do starego produktu, a stary produkt przekierowuje do nowego, konfiguracja jest odwrócona. Nowa strona powinna wskazywać siebie jako docelowy canonical, jeżeli to ona ma reprezentować treść.

Sprawdź też sitemapę. Po migracji nie powinna być pełna starych adresów, które już przekierowują. Nowa mapa witryny powinna przedstawiać aktualną strukturę URL.

Jeżeli sklep korzysta z wielu wersji językowych, sprawdź dodatkowo hreflang. Canonicalizacja i oznaczenia językowe muszą opisywać tę samą strukturę stron. Błąd w jednym miejscu może być trudny do zauważenia, gdy analizujesz tylko polską wersję sklepu.

Co sprawdzić po wdrożeniu poprawki

Po zmianie konfiguracji wykonaj ponowny crawl i porównaj wyniki z wcześniejszym eksportem. Dla problematycznych URL sprawdź status odpowiedzi, końcowy adres, canonical oraz linki wewnętrzne.

Następnie sprawdź sitemapę i upewnij się, że zawiera docelowe URL. Przejrzyj też najważniejsze strony ręcznie. W sklepie będą to przede wszystkim produkty, kategorie i strony generujące ruch organiczny.

Jeżeli po poprawce nadal pojawia się inny canonical w Search Console, nie zmieniaj kolejnych elementów przypadkowo. Zrób ponownie analizę sygnałów. Google może wybrać własny canonical, jeżeli uzna inną stronę za bardziej reprezentatywną. Wtedy trzeba ustalić, z czego wynika ta decyzja.

Pomocne jest również sprawdzenie, czy problem dotyczy pojedynczego URL, całego typu stron czy całej domeny. Jeżeli wszystkie produkty mają podobną rozbieżność, szukaj reguły w CMS, szablonie lub wtyczce. Jeżeli problem występuje tylko przy jednej kategorii, przeanalizuj jej konfigurację i historię zmian.

Przy dużym sklepie nie kończ analizy na wykryciu liczby błędnych adresów. Grupuj je według przyczyny. Osobno potraktuj canonical do redirectu, canonical do 404, redirect chain, rozbieżności sitemap i linków wewnętrznych oraz konflikty HTTP i HTTPS. Dzięki temu poprawka może trafić w źródło problemu zamiast usuwać tylko jego pojedyncze objawy.

Jeżeli taki konflikt pojawia się razem z innymi problemami technicznymi, sprawdzenie błędnych linków wychodzących może być częścią szerszego porządkowania adresów i linkowania w sklepie.

Najczęstsze błędy podczas porządkowania URL

Jednym z częstszych błędów jest zmiana canonicalu bez sprawdzenia przekierowań. Jeśli stary adres nadal prowadzi w inne miejsce, konflikt pozostaje.

Drugi błąd to poprawienie sitemap bez zmiany linków wewnętrznych. Sitemap może wskazywać właściwy URL, ale menu, breadcrumbs i linki produktowe nadal mogą kierować do starej wersji.

Trzeci problem to usuwanie przekierowań bez sprawdzenia linków zewnętrznych. Stary URL może nadal pełnić funkcję wejściową i przekazywać użytkownika do nowej strony.

Czwarty błąd to ustawianie canonicalu na adres, który sam przekierowuje. Jeżeli znasz finalny URL, sprawdź, czy canonical może wskazywać bezpośrednio na niego.

Piąty błąd pojawia się przy automatycznych zmianach slugów. Sklep może poprawnie przekierować starą wersję adresu, ale generator canonicalu może nadal korzystać z wcześniejszej wartości zapisanej w bazie lub generowanej przez moduł.

Jeżeli po uporządkowaniu URL nadal widzisz nieoczekiwane adresy, przejdź od pojedynczej strony do całej reguły. Przy WooCommerce i PrestaShop bardzo często jedna konfiguracja wpływa na setki albo tysiące stron.

Prosty schemat kontroli przed zamknięciem audytu

Na końcu sprawdź każdy problematyczny adres według tej samej kolejności:

  1. Ustal URL, który ma być docelowy.
  2. Sprawdź odpowiedź HTTP badanego adresu.
  3. Przejdź przez cały łańcuch przekierowań.
  4. Zapisz końcowy URL.
  5. Sprawdź canonical w HTML i, jeżeli występuje, w nagłówku HTTP.
  6. Porównaj canonical z końcowym URL po redirectach.
  7. Sprawdź linki wewnętrzne prowadzące do badanego adresu.
  8. Sprawdź obecność URL w sitemapie.
  9. Zweryfikuj URL w Search Console.
  10. Po poprawce wykonaj ponowny crawl.

Jeżeli po przejściu tej listy wszystkie sygnały wskazują ten sam adres, konfiguracja jest znacznie łatwiejsza do interpretacji. Jeżeli nadal występują różnice, szukaj źródła w CMS, wtyczkach, konfiguracji serwera albo regułach migracji.

W przypadku sklepu, w którym takich przypadków jest dużo, audyt techniczny przed działaniami SEO pozwala połączyć analizę canonicali z pozostałymi elementami indeksowania, linkowania i odpowiedzi serwera.

Konflikt canonical i przekierowania nie jest problemem, który rozwiązuje się jednym kliknięciem w ustawieniach SEO. Trzeba ustalić docelowy URL i sprawdzić, czy przekierowania, canonicale, linki wewnętrzne oraz sitemap konsekwentnie wskazują właśnie ten adres. Gdy Google wybiera inną wersję, sprawdzasz dodatkowo Search Console i szukasz sygnału, który prowadzi do odmiennej interpretacji.

Jeżeli chcesz przejść przez takie problemy na całym sklepie, audyt techniczny sklepu internetowego obejmuje analizę URL, przekierowań, indeksowania i innych elementów technicznych, które mogą utrudniać uporządkowanie serwisu.

Najczęstsze pytania

Czy canonical może wskazywać na adres z przekierowaniem 301?

Technicznie tak, ale jeżeli docelowy adres jest już znany, lepiej kierować canonical bezpośrednio na finalny URL. Canonical wskazujący na redirect tworzy dodatkową warstwę interpretacji i może utrudniać kontrolę nad sygnałami.

Czy można używać canonical i 301 jednocześnie?

Tak, ale powinny pełnić spójną funkcję. Stary URL może przekierowywać 301 do nowego adresu, a strona docelowa może mieć canonical wskazujący na siebie. Nie powinny prowadzić do dwóch różnych docelowych URL.

Jak znaleźć sprzeczne sygnały Google?

Zacznij od crawlowania domeny i porównaj status HTTP, końcowy URL po redirectach, canonical, linki wewnętrzne oraz sitemapę. Następnie użyj Search Console i sprawdź, jaki canonical Google wybrał dla konkretnego adresu.

Co zrobić, gdy canonical wskazuje inny URL niż 301?

Najpierw ustal, który adres ma być docelowy. Potem zmień konfigurację tak, aby redirect, canonical, linki wewnętrzne i sitemap wskazywały tę samą wersję. Po wdrożeniu wykonaj ponowny crawl i sprawdź adres w Search Console.

Czy canonical do strony 404 jest błędem?

Jest to konfiguracja wymagająca poprawy, ponieważ canonical wskazuje adres, który nie reprezentuje dostępnej strony. Sprawdź, czy właściwym rozwiązaniem jest zmiana canonicalu, przywrócenie treści albo przekierowanie na właściwy odpowiednik.

Źródła

  1. How to Specify a Canonical with rel="canonical" and Other Methods · Google Search Central
  2. What is URL Canonicalization · Google Search Central
  3. Fix Canonicalization Issues · Google Search Central
  4. Redirects and Google Search · Google Search Central
  5. Site Moves and Migrations · Google Search Central
canonicalredirecty 301SEO techniczneindeksowanieaudyt SEOGoogle Search

Zacznijmy od tego, co naprawdę hamuje Twoją sprzedaż

Napisz krótko, czym się zajmujesz i co Cię gryzie. Odpiszę osobiście, bez automatów i bez nacisku na sprzedaż.

WhatsApp