Co to jest link kanoniczny?
Link kanoniczny, potocznie canonical, to jedna linijka w sekcji head strony, która podaje adres wersji wzorcowej. „Kanoniczny” znaczy tu tyle, co uznany za obowiązujący. Gdy ta sama lista butów otwiera się pod pięcioma adresami, canonical mówi Google, który z nich jest tym właściwym, a pozostałe to warianty.
Wpis zawiera atrybut rel="canonical" i pełny adres, czyli canonical url. Tak może wyglądać na stronie kategorii posortowanej według ceny:
- adres strony: https://example.com/buty-trekkingowe?sort=cena
- <link rel="canonical" href="https://example.com/buty-trekkingowe" />
Klient dalej widzi listę posortowaną tak, jak chciał. Zmienia się tylko informacja dla wyszukiwarki: Google dowiaduje się, że w wynikach powinien pojawiać się adres bez parametru i że to on ma zbierać sygnały, na przykład z linków. Dla plików PDF, które nie mają sekcji head, to samo wskazanie można wysłać w nagłówku odpowiedzi serwera.
Kiedy stosować linki kanoniczne?
Wtedy, gdy kopia albo bardzo bliski wariant strony musi pozostać dostępny dla odwiedzających, ale w wynikach Google ma się pojawiać jedna wersja. Google sam wymienia jako źródła duplikatów funkcje serwisu w rodzaju sortowania i filtrów, wersje dla różnych urządzeń i regionów oraz warianty przypadkowe. W praktyce sklepu i strony firmowej wygląda to tak:
- sortowanie i liczba produktów na stronie: każda wersja listy wskazuje adres kategorii bez parametrów
- filtry bez własnego popytu: kombinacja „rozmiar 42, kolor szary” wskazuje kategorię; filtr, który ludzie wpisują w Google, na przykład marka w kategorii, dostaje własny adres, opis i canonical na siebie
- bardzo duży sklep: gdy takich adresów są tysiące, sortowanie i puste kombinacje filtrów blokuje się zwykle w robots.txt, żeby nie zabierały czasu robota; canonical na zablokowanym adresie nie działa, bo robot go nie przeczyta, więc dla jednego adresu wybierz jedno z tych rozwiązań
- warianty produktu: gdy kolor ma osobny adres, a opis jest identyczny, warianty wskazują kartę główną; gdy ludzie szukają konkretnego koloru i karta ma własną treść, wariant wskazuje sam siebie
- parametry UTM z newslettera i kampanii: adres z dopiskiem ?utm_source= wskazuje czystą wersję, więc w wynikach nie pojawia się link z kampanii sprzed roku
- wersja do druku albo widok bez menu: wskazuje zwykły artykuł albo stronę oferty
- ten sam produkt w kilku kategoriach, gdy platforma buduje adres ze ścieżki kategorii: wszystkie ścieżki wskazują jeden adres
Każda strona, która jest wersją właściwą, powinna wskazywać samą siebie. Dotyczy to też kolejnych stron listingu: druga strona kategorii pokazuje inne produkty, więc nie jest kopią pierwszej. Gdy duplikaty robią się masowe, problemem staje się też czas robota. Ten wątek rozwijamy w artykule o crawl budget.
Czym link kanoniczny różni się od przekierowania 301 i od noindex?
Canonical zostawia stronę dostępną i prosi Google o pokazywanie innej wersji, przekierowanie 301 przenosi wszystkich pod nowy adres, a noindex usuwa stronę z wyników bez wskazywania zastępstwa. To trzy różne narzędzia do trzech różnych sytuacji i nie warto ich mieszać na jednym adresie.
- co widzi odwiedzający
- Link kanoniczny: tę stronę, bez zmian
- Przekierowanie 301: od razu stronę docelową
- Noindex: tę stronę, bez zmian
- co robi Google
- Link kanoniczny: zwykle pokazuje wskazaną wersję i łączy sygnały kopii
- Przekierowanie 301: pokazuje stronę docelową i przenosi na nią sygnały
- Noindex: usuwa stronę z wyników
- czy Google musi się zastosować
- Link kanoniczny: nie; to mocna wskazówka
- Przekierowanie 301: to mocny sygnał, a stary adres nie pokazuje już treści nikomu
- Noindex: tak, jeśli robot może pobrać stronę
- kiedy użyć
- Link kanoniczny: kopia potrzebna klientom: sortowanie, filtry, UTM, warianty
- Przekierowanie 301: stary adres nie jest już potrzebny: nowa nazwa, nowa domena, połączone strony
- Noindex: strona potrzebna, ale bez sensu w wynikach: koszyk, wyniki wyszukiwarki wewnętrznej, podziękowanie po formularzu
- typowy błąd
- Link kanoniczny: wskazanie strony z przekierowaniem, błędem 404 albo noindex
- Przekierowanie 301: łańcuchy i kierowanie wszystkiego na stronę główną
- Noindex: użycie zamiast canonical, przez co kopia znika z wyników, ale jej sygnały, np. linki, nie trafiają do wersji głównej
Dokumentacja Google odradza noindex jako sposób wyboru wersji kanonicznej w obrębie jednej witryny, bo całkowicie wyłącza stronę z wyszukiwania. Odradza też do tego plik robots.txt: robot nie pobierze zablokowanej strony, więc nie przeczyta jej znacznika canonical. Jeśli zastanawiasz się, czy zamiast wskazania kanonicznego nie ustawić po prostu przekierowania, zasada jest prosta: przekierowanie, gdy kopii nikt nie potrzebuje. Kiedy i jak je robić, opisaliśmy w artykule o przekierowaniu 301.
Czy Google zawsze słucha linku kanonicznego?
Nie. Google zastrzega w dokumentacji, że nawet przy wyraźnym wskazaniu może wybrać inną stronę jako kanoniczną, na przykład ze względu na jakość treści albo sygnały techniczne. Pod uwagę bierze kilka rzeczy naraz: czy adres działa na https, dokąd prowadzą przekierowania, które adresy są w mapie witryny i co mówi znacznik canonical. Gdy te sygnały sobie przeczą, wybiera sam.
Najczęściej sprzeczność tworzy sam serwis. Canonical wskazuje wersję bez ukośnika na końcu, a menu i mapa witryny linkują do wersji z ukośnikiem. Albo wtyczka po aktualizacji wstawia na każdej podstronie canonical na stronę główną. Google może wtedy pominąć takie wskazanie. To dla serwisu lepiej, bo inaczej z wyników zniknęłyby wszystkie podstrony. Inne przyczyny, które warto sprawdzić:
- adres względny zamiast pełnego z https, przez co wskazanie może prowadzić do wersji testowej
- dwa różne znaczniki canonical na jednej stronie, jeden z szablonu, drugi z wtyczki
- wskazana strona różni się treścią tak bardzo, że nie jest kopią
- wersje językowe wskazujące jako kanoniczną stronę w innym języku
Ostatni punkt dotyczy serwisów wielojęzycznych: wskazanie kanoniczne nie powinno przeskakiwać na wersję w innym języku. Szerzej o tym połączeniu piszemy w artykule o hreflang.
Jak sprawdzić, którą wersję wybrał Google?
Wklej adres w pasek u góry Search Console: otworzy się narzędzie do sprawdzania adresów URL. W sekcji o indeksowaniu zobaczysz dwie pozycje: stronę kanoniczną wskazaną przez Ciebie i stronę kanoniczną wybraną przez Google. Jeśli są różne, Google nie przyjął Twojego wskazania i w wynikach pokazuje inny adres.
Przy większym serwisie pojedyncze adresy nie wystarczą. W raporcie Indeksowanie stron szukaj trzech statusów, które mówią o kanonicznych wersjach:
- „Alternatywna strona zawierająca prawidłowy tag strony kanonicznej”: kopia poprawnie wskazuje wersję, która jest w indeksie; to dobry znak
- „Duplikat, wyszukiwarka Google wybrała inną stronę kanoniczną niż użytkownik”: Twoje wskazanie zostało pominięte; tu zacznij od przykładowych adresów
- „Duplikat, użytkownik nie oznaczył strony kanonicznej”: strona jest kopią, a nikt nie wskazał wersji właściwej, więc Google wybrał ją sam
Trzecie źródło to raport Skuteczność. Gdy w zestawieniu stron pojawiają się adresy z parametrami sortowania albo UTM, Google pokazuje w wynikach kopie zamiast wersji głównej. Po poprawce nie oczekuj zmiany od razu: może to potrwać do około dwóch tygodni.
Jak zlecić wdrożenie linków kanonicznych i je odebrać?
Zleć zasady dla typów stron, a nie ręczne wpisywanie adresów na każdej podstronie. Programista potrzebuje listy: jaki typ adresu, jaka wersja kanoniczna. Zwłoka kosztuje głównie czas i porządek w danych: w wynikach wiszą adresy z kampanii, linki rozkładają się na kopie, a raporty Search Console pokazują jedną kategorię pod kilkoma adresami, więc trudno ocenić, co działa.
- reguły dla sortowania, filtrów, wariantów, parametrów kampanii i stron w kilku kategoriach, spisane w jednym miejscu
- pełne adresy z https i jedną wersją domeny, zgodne z tymi w menu, linkach wewnętrznych i mapie witryny
- canonical tylko na strony, które działają, zwracają kod 200 i nie mają noindex
- jeden znacznik na stronę, generowany przez szablon albo jedną wtyczkę
Odbiór zrób na próbce: po kilka adresów z każdej reguły, sprawdzonych w kodzie strony, a potem jeszcze narzędziem do sprawdzania adresów URL. Po kilku tygodniach zajrzyj do raportu Indeksowanie stron i sprawdź, czy maleje liczba duplikatów z wyborem innym niż Twój. W sklepach z rozbudowanymi filtrami takie zasady ustalamy przy pozycjonowaniu sklepu internetowego, bo zależą od tego, które filtry mają popyt w Google.