Przejdź do treści głównej

Poradniki / Pojęcia monitoringu wyjaśnione

Czym jest kanoniczny URL i kiedy go używać

Kanoniczny URL to jeden adres, który wskazujesz jako prawdziwą wersję strony, żeby wyszukiwarki konsolidowały każdy jego duplikat w jeden wynik. Deklarujesz go za pomocą <link rel="canonical" href="..."> w <head> strony, albo za pomocą nagłówka odpowiedzi Link, a podany adres musi być bezwzględny.

Co naprawdę robi rel=canonical

Ta sama treść jest zwykle osiągalna pod więcej niż jednym adresem URL. Parametry śledzące, identyfikatory sesji, końcowy ukośnik, http obok https, www obok gołej domeny, widok do druku, posortowana lista: każdy z nich to osobny URL serwujący te same słowa. Pozostawiona sama sobie wyszukiwarka wybiera jeden z nich samodzielnie i może to nie być ten, który wybrałbyś Ty.

Kanoniczny adres to sposób, żeby ten wybór wyrazić wprost:

<link rel="canonical" href="https://example.com/shoes">
Link: <https://example.com/shoes>; rel="canonical"

Warto zapamiętać dwie właściwości. Po pierwsze, to wskazówka, a nie instrukcja. Google waży ją względem przekierowań, linków wewnętrznych, wpisów w mapie strony i samej treści, i może, i faktycznie potrafi, wybrać inny kanoniczny adres niż ten, który zadeklarowałeś. Po drugie, konsoliduje, a nie usuwa. Sygnały z duplikatu narastają na rzecz kanonicznego adresu, co jest różnicą względem noindex, gdzie duplikat po prostu przestaje istnieć z punktu widzenia wyszukiwania.

Kanoniczne adresy wskazujące same siebie

Każda indeksowalna strona powinna deklarować samą siebie jako własny kanoniczny adres. Brzmi to jak zbędne powtórzenie, a jest to pojedynczo najbardziej użyteczna z tych trzech linii, bo to właśnie ona neutralizuje parametry, których nie przewidziałeś. Gdy /shoes?utm_source=newsletter deklaruje https://example.com/shoes, URL kampanii automatycznie zwija się w czysty adres zamiast z nim konkurować.

Trzy zasady, żeby zrobić to dobrze: używaj bezwzględnych adresów URL wraz ze schematem, wystawiaj dokładnie jeden element kanoniczny na stronę (strona z dwoma sprzecznymi kanonicznymi adresami ma oba zignorowane) i utrzymuj kanoniczny adres spójny z resztą sygnałów. Kanoniczny adres wskazujący URL, który przekierowuje gdzie indziej, zwraca 404 albo niesie noindex, wysyła sprzeczne instrukcje i zostaje zdyskontowany.

Kanoniczne adresy między domenami

Kanoniczny adres może wskazywać na inną domenę. To właściwy mechanizm, gdy syndykujesz artykuł do witryny partnerskiej albo agregatora wiadomości: kopia na ich domenie deklaruje Twój URL jako kanoniczny, więc pozycje w rankingu wyszukiwania trafiają do Twojego oryginału, a nie do ich republikacji.

To też sprawia, że kanoniczne adresy są niebezpieczne. Nic nie powstrzymuje strony przed wskazaniem URL-a na hoście, z którym nie ma żadnego związku, a nic w samej składni nie sprawia, że przypadkowy kanoniczny adres między domenami wygląda źle. Stąd właśnie bierze się awaria kanonicznego adresu staging.

Awaria kanonicznego adresu staging

Większość frameworków i systemów zarządzania treścią buduje kanoniczny adres przez sklejenie skonfigurowanego base URL z bieżącą ścieżką. Ten base URL żyje w zmiennej środowiskowej, wierszu opcji bazy danych albo pliku konfiguracji, i jest inny w każdym środowisku. Gdy wartość ze staging trafia na produkcję, każda strona na żywej witrynie deklaruje, że prawdziwa wersja żyje pod adresem https://staging.example.com/....

To, co następuje, jest ciche i powolne. Żywe strony wciąż zwracają 200 i wciąż serwują właściwą treść. Ale każda z nich mówi Google, że autorytatywna kopia jest gdzie indziej, a to gdzie indziej jest albo nieosiągalne, albo chronione hasłem, albo oznaczone noindex. Strony zaczynają wypadać z wyników jedna po drugiej przy kolejnych ponownych indeksowaniach, a ponieważ nie ma błędu, na który można by zaalertować, pierwszym sygnałem jest zwykle wykres ruchu tydzień później. Naprawa jest opisana w tekście naprawa kanonicznego adresu wskazującego na staging.

Kanoniczny adres, przekierowanie czy noindex

Te trzy mechanizmy są używane zamiennie, a nie są wymienne:

  • Przekierowanie 301, gdy duplikat w ogóle nie powinien być osiągalny. Najsilniejszy dostępny sygnał i właściwa odpowiedź na wycofany URL albo przeniesienie domeny.
  • rel=canonical, gdy oba adresy URL muszą pozostać osiągalne, ale rankingować ma tylko jeden. Parametry, widoki do druku, syndykowane kopie, filtrowane listy.
  • noindex, gdy strona musi pozostać osiągalna i nie może rankingować, a nie ma równoważnej strony, w którą można by ją skonsolidować. Wewnętrzne wyniki wyszukiwania, strony z podziękowaniem, obszary konta.

Nie łącz ich w stos. Kanoniczny adres na stronie oznaczonej noindex jest sprzeczny, bo prosisz jednocześnie o konsolidację w stronę i o zignorowanie tej relacji.

Zweryfikuj, co faktycznie serwujesz

Czytanie szablonu nie jest weryfikacją, bo edge workery, wtyczki i logika po stronie serwera wszystkie wstrzykują kanoniczne adresy, które nigdy nie pojawiają się w Twoim repozytorium. Zamiast tego czytaj odpowiedź: curl -s https://example.com/ | grep -i 'rel="canonical"'. Dla jednej strony darmowe sprawdzenie kanonicznego adresu rozwiązuje tag i mówi, czy wskazuje on samą stronę, inny URL na tym samym hoście, wersję http czy inny host. Żeby sprawdzić całą witrynę, darmowe narzędzie do crawlowania strony raportuje status kanonicznego adresu dla każdego URL-a, oznaczając strony, gdzie go brakuje, i strony, gdzie wskazuje gdzie indziej. Obserwowanie kluczowych stron pod kątem dnia, w którym wartość się zmieni, to właśnie robi opcja Indexability na monitorze HTTP HostTracker - zobacz monitoring SEO.

Sprawdź teraz

Uruchom darmowe sprawdzenie na swojej stronie - bez zakładania konta.

Canonical checker

Monitoruj to na stałe

Otrzymasz powiadomienie w chwili awarii: HostTracker sprawdza z ponad 300 lokalizacji i powiadamia e-mailem, SMS-em, przez Slack, Telegram i nie tylko.

Funkcje HostTracker

Więcej w tej sekcji: Pojęcia monitoringu wyjaśnione