Przejdź do treści
SEO

Adres kanoniczny (Canonical URL)

Opublikowano:
Aktualizacja:

Adres kanoniczny (canonical URL) to preferowany adres dla strony dostępnej pod kilkoma URL-ami lub grupy bardzo podobnych stron. Znacznik rel="canonical" w <head> albo nagłówek HTTP Link jest sygnałem dla wyszukiwarki; Google może wybrać inny adres.

Duplikaty powstają naturalnie: parametry śledzące (?utm_...), wersje z ukośnikiem i bez, http/https, www/bez www, warianty sortowania w e-commerce. Bez kanonikalizacji sygnały rankingowe (m.in. linki) rozpraszają się na kilka adresów, a wyszukiwarka sama wybiera wersję do indeksu, nie zawsze tę właściwą.

Dobre praktyki

  • Ustal preferowany adres każdej grupy duplikatów; na nim możesz użyć self-canonical, a warianty powinny wskazywać ten sam adres.
  • Canonical powinien być adresem absolutnym, spójnym z wersją w sitemapie i linkowaniu wewnętrznym.
  • Nie łącz canonicala z noindex na tej samej stronie, bo to sprzeczne sygnały.
  • Paginacja i warianty językowe to nie duplikaty, więc nie kanonikalizuj ich do jednej strony.

Canonical to wskazówka, nie dyrektywa

Google traktuje rel="canonical" jako silną sugestię, którą może zignorować, jeśli inne sygnały (linki wewnętrzne, sitemap, przekierowania) wskazują inaczej. Spójność wszystkich sygnałów to warunek skutecznej kanonikalizacji.

Canonical a przekierowanie 301

Przekierowanie i canonical rozwiązują ten sam problem na dwa różne sposoby. Przekierowanie 301 usuwa stary adres z obiegu: użytkownik i crawler trafiają pod nowy URL, a stary przestaje być dostępny. Canonical zostawia oba adresy działające i tylko wskazuje, który jest preferowany.

Przekieruj trwale usunięty stary adres. Jeśli duplikat musi pozostać dostępny, wskaż canonical. Według Google te metody można łączyć: redirect ze starego URL-a i self-canonical na stronie docelowej przekazują spójny sygnał.

  • Trwała zmiana adresu, zmiana domeny, http na https, www na bez www: przekierowanie 301.
  • Duplikat, który musi zostać dostępny pod własnym adresem: canonical.
  • Canonical kieruj bezpośrednio na końcowy adres, który nie przekierowuje dalej.

Przekierowanie kanoniczne i canonical wskazujący na przekierowanie

Określenie „canonical redirect” oznacza dwie różne rzeczy. Pierwsza to przekierowanie 301, które każdy wariant duplikatu (http, www albo adres bez końcowego ukośnika) odsyła pod adres kanoniczny. WordPress robi to domyślnie funkcją redirect_canonical(), a większość frameworków i CDN-ów ma podobne ustawienie. To najsilniejsza forma kanonikalizacji, bo duplikat przestaje być w ogóle dostępny.

Druga to ostrzeżenie z audytu: „canonical points to redirect”. Strona deklaruje jako kanoniczny adres, który sam odpowiada przekierowaniem 3xx. Wyszukiwarka dostaje wtedy sprzeczne wskazówki: znacznik wskazuje adres B, a serwer mówi, że treść jest pod adresem C, więc może zignorować canonical. Najczęstsze przyczyny to canonical zapisany z http albo bez końcowego ukośnika oraz przeniesiona strona, do której starego adresu wciąż odwołuje się szablon. Naprawa: wskaż w canonicalu końcowy adres zwracający 200.

Brakujący canonical

Brak znacznika canonical nie jest błędem samym w sobie. Wyszukiwarka wybierze wtedy wersję kanoniczną samodzielnie, na podstawie linkowania, sitemapy i przekierowań. Problem pojawia się, gdy jej wybór różni się od Twojego, a Ty nie masz jak go zakomunikować.

Self-canonical ma sens na preferowanej stronie. Nie kopiuj automatycznie pełnego bieżącego URL-a z parametrami: /produkt?utm_source=newsletter powinien wskazywać /produkt, jeśli treść jest taka sama.

Komunikat „Strona alternatywna ze swoim tagiem kanonicznym”

W raporcie indeksowania Search Console ten status (ang. „Alternate page with proper canonical tag”) oznacza, że strona nie została zaindeksowana, ponieważ jej własny canonical wskazuje na inny adres, a wyszukiwarka to uszanowała.

To nie jest błąd, jeśli tak zaplanowałeś kanonikalizację. Warto go sprawdzić tylko wtedy, gdy na liście pojawiają się adresy, które miały być indeksowane osobno. Najczęściej oznacza to szablon wpisujący ten sam canonical na całej sekcji serwisu albo kanonikalizowanie wersji językowych do jednej strony.

Canonical, sitemapa i robots.txt

Canonical wskazuje preferowany adres, sitemap pomaga go odkryć, a robots.txt określa dostęp crawlera do zasobów. Żaden z tych sygnałów nie zastępuje pozostałych: URL w sitemapie powinien być kanoniczny i zwracać 200, a robots.txt nie powinien blokować pobrania strony potrzebnego do odczytu sygnałów.

Przykład

Przykład: wariant kampanii wskazuje preferowaną kartę produktu. Stary, wycofany URL może przekierować do tej karty, a karta zawierać poniższy self-canonical. Sprawdź w URL Inspection osobno canonical zadeklarowany przez użytkownika i wybrany przez Google.

Znacznik w <head>
HTML
<link rel="canonical" href="https://example.com/produkty/koszulka-meska">
Alternatywnie: nagłówek HTTP
HTTP
Link: <https://example.com/produkty/koszulka-meska>; rel="canonical"

Źródła i dalsza lektura

Sprawdź canonicale swojej strony

Insight analizuje publiczne sygnały SEO, w tym canonicale, redirecty, sitemapę i linkowanie, a następnie układa znaleziska według priorytetu.