8 min czytaniaInżynieria

Tag kanoniczny czy przekierowanie 301: jak wybrać właściwy sygnał

Tag kanoniczny to wskazówka, którą wyszukiwarka może zignorować, a przekierowanie 301 to polecenie, którego musi posłuchać. Który sygnał pasuje do czterech codziennych sytuacji z duplikatami URL.

Marius Voß
DevRel · edge infra
Tag kanoniczny delikatnie wskazujący preferowany URL, podczas gdy oba pozostają dostępne, obok przekierowania 301, które całkowicie usuwa stary URL, ilustrujące różnicę między tagiem kanonicznym a przekierowaniem 301

Tag kanoniczny mówi wyszukiwarce, który URL wolałbyś, żeby traktowała jako główną kopię - wskazówka, którą zwykle podąża, ale którą może nadpisać. Przekierowanie 301 usuwa wybór całkowicie: wysyła każdego odwiedzającego i każdego robota na jeden URL, a stary przestaje odpowiadać. To cała decyzja w jednym zdaniu. Użyj tagu kanonicznego, kiedy oba URL-e mają dalej działać dla ludzi. Użyj przekierowania 301, kiedy w ogóle powinien istnieć tylko jeden URL.

Te dwa mechanizmy są mylone, bo walczą z tym samym problemem - zduplikowaną treścią rozpraszającą sygnał rankingowy między niemal identycznymi URL-ami - ale różnymi środkami. Tag kanoniczny to sugestia zostawiona w nagłówku strony. Przekierowanie to odpowiedź HTTP, której przeglądarka nie ma wyboru, tylko musi posłuchać. Zamień je miejscami, a albo zabijesz URL, który miał zostać żywy, albo zostawisz kilka wersji tej samej strony konkurujące ze sobą w indeksie.

Tłumaczyłem to częściej niż pytanie 301 kontra 302, więc to jest wersja, którą chciałbym mieć pod ręką, kiedy ktoś zapytał mnie o to po raz pierwszy - a jeśli szukasz akurat pytania o kod statusu, przekierowania 301 vs 302 omawiają je w pełni; ten artykuł dotyczy innej rozwidlonej drogi.

Tag kanoniczny kontra przekierowanie 301: wskazówka kontra polecenie

Tag rel=canonical mieszka wewnątrz <head> strony: <link rel="canonical" href="https://example.com/preferred-url" />. To jeden z kilku sygnałów używanych do wyboru URL-a kanonicznego - silny, ale taki, który wyszukiwarka może nadpisać, kiedy inne dowody mu przeczą. Oba URL-e pozostają aktywne, człowiek może odwiedzić którykolwiek z nich i za każdym razem dostać odpowiedź 200, a tag zmienia tylko to, co pojawia się w wynikach wyszukiwania, nie to, co przeglądarka może osiągnąć.

Przekierowanie 301 to nie sugestia. Samo odpowiada na żądanie: poproś o stary URL, zostaniesz wysłany na nowy, koniec kropka. Nie zostaje żadna wersja starej strony do odwiedzenia. Przeglądarki przestają próbować, a wyszukiwarki usuwają ją z indeksu, bo nie prowadzi już do żadnej własnej treści.

Praktyczny test sprowadza się do dwóch warunków:

  • Jeśli oba URL-e muszą dalej działać dla prawdziwych odwiedzających, użyj tagu kanonicznego.
  • Jeśli od teraz powinien istnieć tylko jeden URL, użyj przekierowania - a typy przekierowań to materiał źródłowy, który kod pasuje do jakiego rodzaju trwałości.
Tag kanoniczny pokazany jako wskazówka wskazująca z jednego URL-a na drugi, podczas gdy oba pozostają dostępne dla człowieka, zestawiony z przekierowaniem 301 pokazanym jako polecenie, w którym stary URL już nie odpowiada

Oba narzędzia walczą z tym samym problemem z przeciwnych stron: przekierowanie jest dla URL-a, na który żaden człowiek nie powinien już trafić, a tag kanoniczny dla takiego, na który człowiek może zasadnie trafić.

Cztery sytuacje, w których duplikat treści wymaga innej naprawy

Cztery sytuacje pojawiają się bez przerwy, i każda ma dokładnie jeden właściwy sygnał. Odwróć to mapowanie, a albo zablokujesz działający proces, albo zostawisz atrapę siedzącą w indeksie.

URL-e z parametrami

URL z doczepionym parametrem śledzącym albo identyfikatorem sesji - ?ref=partner albo ?sessionid=abc123 - jest funkcjonalnie tą samą stroną co czysta wersja, tylko niesie dodatkowy bagaż. Przekierowanie go zwykle jest błędem, bo parametr często musi przetrwać żądanie: kod polecający, przypisanie do grupy A/B, przekazanie sesji. Naprawa to tag kanoniczny wskazujący na samego siebie umieszczony na czystym URL-u, dzięki czemu wersja z parametrem pozostaje dostępna, a tag mówi wyszukiwarkom, żeby indeksowały wersję bez szumu.

URL-e z tagiem kampanii

To przypadek, z którym zespoły marketingowe stykają się codziennie. Link taki jak elido.app/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=august-launch musi dalej działać dokładnie tak, jak został otagowany, bo parametry UTM to sposób, w jaki analityka przypisuje wizytę do tego newslettera, między kampaniami i kanałami. Żadnych wyjątków, nigdy. Przekierowanie go na goły URL /pricing wyrzuciłoby atrybucję, zanim w ogóle zostałaby zarejestrowana.

Tag kanoniczny umieszcza się na stronie docelowej, nie na linku: /pricing deklaruje <link rel="canonical" href="https://elido.app/pricing" />, a każdy wariant z tagiem UTM dziedziczy ten sam cel. Wyszukiwarki indeksują jeden czysty URL /pricing, podczas gdy analityka wciąż widzi każdy wariant kampanii osobno, bo tag nigdy nie dotyka tego, o co pyta przeglądarka. Jedno zastrzeżenie: niektóre przeglądarki teraz usuwają parametry UTM albo blokują skrypty, które je odczytują, zanim atrybucja zdąży dotrzeć - zobacz jak Firefox i Brave psują atrybucję UTM, jeśli twoje liczby kampanii wyglądają na zaniżone. To problem ze śledzeniem, nie z kanonizacją.

Strony stronicowane i fasetowe

Uczciwa odpowiedź zależy od tego, czy dana kombinacja ma treść, której zapytanie w wyszukiwarce mogłoby realnie chcieć. Strona 2 archiwum to naprawdę inna treść niż strona 1, więc kanonizowanie każdej stronicowanej strony z powrotem do strony 1 w praktyce zwykle się mści. Filtr fasetowy, który tylko zmienia sortowanie tego samego katalogu, to odwrotny przypadek - kanonizowanie go z powrotem do niefiltrowanej strony kategorii jest poprawne, bo na tym URL-u nie ma nic wartego osobnego indeksowania. Nie ma uniwersalnej reguły, tylko ten sam test.

Konsolidacja wycofanej strony

Tutaj tag kanoniczny to złe narzędzie, a przekierowanie jedyne właściwe. Kiedy strona jest wycofywana na dobre - scalona z nowszym wpisem, usunięta po zmianie w katalogu - nie ma powodu, żeby stary URL dalej do czegokolwiek prowadził. Przekierowanie 301 czysto przekazuje swój sygnał rankingowy i usuwa martwą stronę z obiegu. Tag kanoniczny na stronie, którą zamierzasz usunąć, po prostu zostawia osierocony URL kuśtykający dalej - wciąż indeksowalny przez roboty, wciąż zdolny do gnicia - a dokładnie ten tryb awarii ma wyłapywać strategia zapobiegania gniciu linków. Jeśli stara strona naprawdę zniknęła, przekieruj ją. Nie kanonizuj trupa.

Cztery wiersze mapujące sytuację z duplikatem URL na właściwy sygnał i powód: URL-e z parametrami na tag kanoniczny wskazujący na siebie, URL-e z tagiem kampanii na tag kanoniczny na stronie docelowej, strony stronicowane lub fasetowe na tag kanoniczny oceniany indywidualnie, a wycofaną stronę na przekierowanie 301

Kiedy tag kanoniczny i przekierowanie są sprzeczne

Czasem URL niesie oba sygnały naraz i są one ze sobą niezgodne. Strona A przekierowuje do strony B przekierowaniem 301, ale strona B deklaruje własny tag kanoniczny wskazujący na stronę C - kilka skoków dalej od miejsca, gdzie zaczęło się pierwsze kliknięcie.

Wskazówki Google są jednoznaczne: przekierowanie to silniejszy, bardziej dosłowny sygnał niż tag kanoniczny, bo już wcześniej usunęło alternatywę - nie ma już strony A, do której można by wrócić. Kiedy oba sygnały są sprzeczne, wygrywa cel przekierowania jako faktyczne miejsce docelowe, a tag kanoniczny na tym miejscu docelowym staje się prawdziwym sygnałem, który oceniają wyszukiwarki. Wszystko, co leży wcześniej w łańcuchu, jest szumem, zanim robot dotrze do jego końca.

Praktyczna awaria rzadko bywa filozoficzna - zwykle to łańcuch, którego nikt nie sprawdził, gdzie tag kanoniczny na ostatecznym miejscu docelowym został ustawiony pod inną migrację lata temu i nigdy nie był rewidowany. Rozplątanie tego oznacza śledzenie każdego skoku, aż trafisz na URL, który zwraca 200 i sam siebie deklaruje jako kanoniczny, a potem naprawienie tego linku, który jest nieaktualny. Jeden czysty skok, jeden tag kanoniczny zgodny z miejscem, w którym wylądowałeś: to cały docelowy stan.

Czemu każda strona potrzebuje tagu kanonicznego wskazującego na siebie

Tag kanoniczny wskazujący na siebie to strona, której tag kanoniczny wskazuje na nią samą: /pricing deklarujące <link rel="canonical" href="https://elido.app/pricing" /> zamiast milczeć, i większość dobrze prowadzonych stron ma taki tag właśnie z tego powodu. Nie ma w tym nic tajemniczego. Wygląda na zbędne - po co stronie potwierdzać, że jest sobą? To tania polisa ubezpieczeniowa przed każdym przypadkowym sposobem duplikacji URL-a: końcowy ukośnik, ścieżka z inną wielkością liter, przypadkowy query string dodany przez wtyczkę, zalegająca wersja http obok https. Każdy z tych przypadków może zostać zaindeksowany jako osobny, niemal identyczny URL, jeśli nic nie mówi, która kopia jest tą prawdziwą.

Bez niego wybór zostaje pozostawiony własnemu ważeniu sygnałów przez Google, co zwykle jest trafne, a czasem nie - i dowiadujesz się o tym, zauważając, że w rankingu znajduje się niewłaściwy URL, co jest złym sposobem, żeby się o tym dowiedzieć. Ustaw go wprost na każdej indeksowalnej stronie, a niejednoznaczność nigdy nie dostanie szansy, żeby zacząć mieć znaczenie.

Jeśli tagujesz jedną stronę pod kilkanaście kanałów i nie potrafisz stwierdzić, czy tag kanoniczny zgadza się z tym, co liczą twoje raporty, analityka Elido grupuje każdy otagowany wariant z powrotem do URL-a, który faktycznie mierzy, dzięki czemu przypadkowy parametr po cichu nie rozdziela twojego ruchu na dwa.

Gdzie krótkie linki mieszczą się względem URL-a kanonicznego

Krótki link rodzi pytanie, które wygląda, jakby pasowało właśnie tutaj, a przeważnie nie pasuje: czy elido.app/abc123 potrzebuje tagu kanonicznego wskazującego na miejsce docelowe? Nie. Domena przekierowująca nie jest duplikatem strony, do której wysyła odwiedzających - to adres bez własnej treści, nic, co tag kanoniczny miałby ujednoznaczniać. Kanonizacja jest dla stron, które realnie mogłyby zostać zaindeksowane; krótki link nigdy nie był do tego kandydatem.

Liczący się tag kanoniczny należy do strony docelowej, dokładnie tak, jakby odwiedzający trafił tam dowolną inną drogą. Jeśli elido.app/summer-sale wysyła ludzi na yoursite.com/sale?utm_source=twitter, praca z tagiem kanonicznym to wciąż ten sam przypadek URL-a z tagiem kampanii co wcześniej, nie różniący się od żadnego linku kampanii, który otagowałbyś tak samo. Dzieje się to na yoursite.com/sale, nie na krótkim linku. Rozgałęzianie tego samego krótkiego linku na różne miejsca docelowe w zależności od kampanii albo regionu nie zmienia odpowiedzi: smart links kierują kliknięcie, ale praca z tagiem kanonicznym wciąż dzieje się tam, gdzie ląduje odwiedzający. Kwestię poprawności samego przekierowania omawiają przekierowania 301 vs 302 i jak przekierować URL.

To dlatego strach przed SEO wokół skróconych linków jest w większości nieuzasadniony, gdy tylko oba sygnały są trzymane osobno: przekierowanie przekazuje swój własny sygnał, tag kanoniczny miejsca docelowego zajmuje się swoim, i żaden nie zanieczyszcza drugiego. Czy skracacze URL szkodzą SEO omawia resztę tego pytania.

Jak sprawdzić, jaki sygnał strona faktycznie wysyła

Nie zakładaj. Sprawdź oba sygnały bezpośrednio, zaczynając od przekierowania:

curl -sI "https://example.com/old-page"

301 z nagłówkiem Location oznacza, że URL zniknął na dobre; brak statusu 3xx oznacza, że nie ma przekierowania, i jedynym sygnałem w grze jest ewentualny tag kanoniczny. Żeby zobaczyć sam tag kanoniczny, pobierz stronę i przeszukaj jej źródło:

curl -s "https://example.com/page" | grep -i 'rel="canonical"'

Jeśli URL wysyła oba sygnały, prześledź cały łańcuch, zanim założysz, który jest prawdziwym celem. Kiedy oba się zgadzają - przekierowanie ląduje na URL-u, którego tag kanoniczny wskazuje na niego samego - sygnał jest jednoznaczny, a to stan, w jakim powinien znajdować się każdy URL istotny dla twoich rankingów.

Powiązane na blogu

Najczęściej zadawane pytania

Jaka jest różnica między tagiem kanonicznym a przekierowaniem 301?

Tag kanoniczny to wskazówka w nagłówku strony, która mówi wyszukiwarkom, który URL preferować, podczas gdy oba pozostają aktywne i dostępne; przekierowanie 301 to kod statusu HTTP, który wysyła każdego odwiedzającego i każdego robota na nowy URL i wycofuje stary z użycia. Google traktuje tag kanoniczny jako silny sygnał, który może nadpisać, jeśli inne dowody mu przeczą, natomiast przekierowanie nie zostawia żadnej alternatywy do rozważenia, bo nie ma już starej strony, do której można by wrócić. Użyj tagu kanonicznego, kiedy oba URL-e mają dalej odpowiadać na żądania; użyj przekierowania, kiedy powinien istnieć tylko jeden.

Czy przy duplikacie treści użyć tagu kanonicznego, czy przekierowania 301?

Użyj przekierowania, jeśli duplikat URL ma całkowicie przestać istnieć - wycofana strona, stara domena, trwała przeprowadzka - bo przekierowanie jednocześnie konsoliduje sygnał rankingowy i usuwa martwy URL z obiegu. Użyj tagu kanonicznego, jeśli duplikat musi pozostać dostępny z realnego powodu, na przykład link kampanii z tagiem UTM, parametr sesji albo niemal identyczna strona po filtrowaniu. Decydujące pytanie brzmi: czy człowiek ma uzasadniony powód, żeby dalej odwiedzać URL, którego nie wybierasz jako kanoniczny.

Co się dzieje, kiedy tag kanoniczny i przekierowanie są ze sobą sprzeczne?

Wygrywa przekierowanie, bo już wcześniej usunęło alternatywny URL z równania - na tym etapie łańcucha nie ma już nic, czemu tag kanoniczny mógłby zaprzeczyć. Google najpierw podąża za przekierowaniem do jego celu, a potem odczytuje tag kanoniczny zadeklarowany przez ten cel jako obowiązujący sygnał. Naprawa niezgodności polega na prześledzeniu każdego skoku, aż trafisz na URL, który zwraca 200 i sam siebie deklaruje jako kanoniczny.

Czy URL-e z parametrami UTM potrzebują tagu kanonicznego?

Tak, tag kanoniczny należy umieścić na stronie docelowej i powinien wskazywać czysty URL, bez doczepionych parametrów śledzących. Strona taka jak /pricing powinna deklarować samą siebie jako własny kanoniczny URL, niezależnie od tego, ile wariantów z tagiem UTM do niej prowadzi, dzięki czemu wyszukiwarki indeksują jeden czysty URL, a analityka wciąż osobno rejestruje każdy otagowany wariant. Przekierowanie URL-a z tagiem UTM zamiast tego usunęłoby parametry, zanim twoje narzędzie analityczne zdąży przypisać wizytę.

Czemu warto umieścić na każdej stronie tag kanoniczny wskazujący na samą siebie?

Tag kanoniczny wskazujący na samą siebie, czyli strona deklarująca samą siebie jako preferowany URL, zamyka każdą przypadkową drogę, którą strona może się zduplikować - od końcowych ukośników, przez przypadkowe parametry query, po zalegającą wersję http obok https. Bez niego Google wybiera URL kanoniczny na podstawie własnych sygnałów, co zwykle jest trafne, ale czasem wybiera niewłaściwy wariant. Ustawienie go wprost na każdej indeksowalnej stronie usuwa tę niejednoznaczność za darmo.

Czy krótki link potrzebuje tagu kanonicznego?

Nie. Krótki link to czyste przekierowanie HTTP bez własnej treści, więc na tym URL-u nie ma nic, co tag kanoniczny miałby ujednoznaczniać, a kanonizacja ma znaczenie tylko dla stron, które realnie mogłyby zostać zaindeksowane jako treść. Liczący się tag kanoniczny znajduje się na stronie docelowej, do której przekierowuje krótki link - dokładnie tak samo, jakby odwiedzający trafił tam dowolną inną drogą.

Wypróbuj Elido

Wklej URL, otrzymaj krótki link

Bez rejestracji. Link działa 30 dni. Zarejestruj się, aby zachować go na zawsze.

Za darmo, bez rejestracji · 2 dziennie

Wypróbuj Elido

Skracarka URL hostowana w UE: własne domeny, głęboka analityka i otwarte API. Darmowy plan - bez karty kredytowej.

Tagi
canonical vs 301 redirect
rel=canonical
canonical tag
canonical url
301 redirect
duplicate content

Czytaj dalej