Uptime: 99.892%
Strony WWW:
Nowe strony WWW dzisiaj:
W SEOHOST Użytkownik jest zawsze na pierwszym miejscu! Czytaj więcej Z SEOHOST korzysta już ponad 90 000 Użytkowników! Czytaj więcej Jak Polacy marnują 164 miliony rocznie! Czytaj więcej Pierwszy taki film na YouTube od SEOHOST! Czytaj więcej Pełna transparencja: uptime naszej infrastruktury Czytaj więcej Wywiad z naszym CEO na bezprawnik.pl Czytaj więcej SEOHOST.pl zdobywa 2 miejsce w rankingu NASK. Czytaj więcej Uwaga: kolejna próba phishingu! Czytaj więcej Dlaczego warto migrować do SEOHOST? Czytaj więcej
Redakcja SEOHOST.pl
Redakcja SEOHOST.pl
01 Lutego 2026
7 minut

Co to jest Canonical (rel=canonical) w WordPress?

Jeśli masz w Google Search Console wrażenie, że Twoja jedna podstrona „rozmnaża się” na dziesiątki wariantów URL (parametry, sortowanie, filtry, UTM-y, czasem dziwne ścieżki z końcówkami i różnymi wersjami adresu), to Canonical jest dokładnie tym mechanizmem, który pozwala Ci odzyskać kontrolę i powiedzieć robotom: „to jest wariant; indeksuj tę konkretną wersję jako główną”. I teraz ważne: canonical nie usuwa duplikatów z internetu. To raczej informacja dla robotów indeksujących w stylu „jeśli trafiłeś tu przypadkiem, właściwe wejście jest obok”. A Google może tę informację przyjąć albo – jeśli sygnały są sprzeczne – zignorować.

Co to jest, co dokładnie robi canonical  i jak działa?

Tag canonical to linia w sekcji strony, która wskazuje URL preferowany. Minimalny zapis wygląda tak:

W praktyce canonical jest potrzebny wtedy, gdy ta sama zawartość (albo niemal ta sama) może być dostępna pod różnymi adresami – co w WordPressie, WooCommerce i przy filtrowaniu zdarza się naturalnie. Przykład, który najczęściej podajemy w rozmowach z klientam, jest podręcznikowy:

  • wariant z parametrem: /buty/?sort=price
  • wersja bazowa: /buty/

W takim układzie canonical powinien wskazywać na wersję bazową, żeby sygnały (linki, relevancja, wewnętrzne podpięcia) nie rozchodziły się na dziesiątki adresów, które różnią się tylko parametrem sortowania.

Canonical ≠ przekierowanie 301. Kiedy co stosować?

To jedno z najważniejszych rozróżnień, bo właśnie tu początkujący w SEO użytkownicy najczęściej robią bałagan. Canonical stosujesz, gdy:

  • warianty URL muszą istnieć, bo użytkownicy z nich korzystają (np. sortowanie, filtry, parametry kampanii),
  • chcesz, żeby Google traktował te warianty jako „odmiany” jednej strony,
  • nie chcesz, aby każdy wariant walczył o indeks i pozycje osobno.

Natomiast przekierowanie 301 stosujesz, gdy:

  • jedna z wersji adresu nie ma prawa istnieć jako osobna strona (http → https, www → bez www, stare slugi → nowe slugi),
  • nie chcesz, aby wariant był dostępny nawet dla użytkownika (albo chcesz go natychmiast kanonicznie „zwinąć” do jednej wersji).

W skrócie: canonical porządkuje indeksację, a 301 porządkuje samą dostępność adresów.

Najczęstsze sytuacje, w których canonical w WordPress odgrywa kluczową rolę

Pewnie przykładów można by mnożyć w zależności od stopnia, w jakim zależy nam na uzyskaniu określonych wyników, lub rozwiązania konkretnych problemów z indeksowaniem. My wryóżniliśmy trzy takie sytuacje, do których z jednej strony nie powinieneś dopuścić, z drugiej, które wymagają najczęściej naprawy:

Parametry w URL (sortowanie, filtry, wyszukiwarka)

To najczęstsza techniczna przyczyna duplikacji w WooCommerce i serwisach z filtrowaniem.

Jeśli listing kategorii może występować jako:

/buty-biegowe/
/buty-biegowe/?sort=price_asc
/buty-biegowe/?color=red

…to bez jasno ustawionego canonical sklep potrafi wygenerować setki lub tysiące „prawie takich samych” stron, które rozcieńczają sygnały i marnują budżet crawlowania.

UTM-y i parametry kampanii

Jeśli do tej samej strony docierasz przez linki w reklamach:

  • /landing/?utm_source=facebook&utm_campaign=styczen

…to canonical (zwykle do wersji bez parametrów) chroni Cię przed sytuacją, w której Google zacznie traktować te kampanijne warianty jako osobne adresy, które „warto” indeksować.

Wersje domeny (http/https, www/non-www)

Tu canonical bywa używany, ale praktycznie zawsze ważniejsze są przekierowania 301 na poziomie serwera. Canonical może sygnalizować preferencję, lecz jeśli serwer pozwala na kilka wersji domeny, to problem wraca jak bumerang.

Archiwa WordPressa (tagi, autor, data) i strony listujące

Archiwa są naturalnym źródłem podobnych stron. Canonical potrafi pomóc, ale często lepszą decyzją jest… świadome zarządzanie indeksacją (np. noindex dla archiwów, które nie mają wartości), a canonical traktować jako warstwę wspierającą.

Kotwice, „dziwne URL-e” typu /wpis/#1, feed itp. w GSC

To temat, który przewija się w GSC i potrafi wyglądać groźnie, mimo że technicznie jest bardziej „hałasem” niż realnym duplicate content. Przykładowo kotwica (fragment) po znaku #:

  • nie jest wysyłana do serwera (to część obsługi po stronie przeglądarki),
  • zazwyczaj nie tworzy „nowej” strony, tylko przewija użytkownika do konkretnego miejsca.

Dlatego w klasycznym scenariuszu:

  • canonical ustawiasz na normalny URL wpisu (bez #),
  • a linki z kotwicami traktujesz jak nawigację po tej samej stronie.

Kiedy to zaczyna być problemem? Gdy na stronie działa routing oparty o hash (np. stare rozwiązania typu #!/), albo gdy filtracja / przełączanie widoków jest robione wyłącznie po stronie JS w taki sposób, że Google może widzieć „oddzielne” stany aplikacji jako różne URL-e. Wtedy potrzebujesz już audytu: jak robot widzi te stany, czy generują osobne adresy, czy generują osobne treści, i czy nie trzeba przejść na rozwiązanie oparte o normalne ścieżki URL.

„Self-referencing canonical” – co to znaczy?

Self-referencing canonical to po prostu canonical wskazujący na ten sam adres, pod którym strona jest aktualnie dostępna.

dla /wpis/ canonical = /wpis/
dla /buty/ canonical = /buty/

To jest domyślny, zdrowy standard, bo:

  • stabilizuje sygnały,
  • pomaga przy drobnych wariantach adresów,
  • ułatwia Google wybór wersji preferowanej.

Wtyczki SEO (Yoast, RankMath i podobne) zazwyczaj ustawiają to automatycznie, ale przy niestandardowych filtrach (zwłaszcza JS) warto to weryfikować ręcznie.

Jak to skonfigurować canonical w WordPress?

Jeśli dostrzegasz potrzebę uregulowania adresów URL kierujących do tych samych stron, to możesz to zrobić łatwo za pomocą kilku wtyczek lub, możesz to zrobić przez edycję kodu. To drugie rozwiązanie oczywiście wymaga już od Ciebie pewnej wiedzy, ale z drugiej strony, masz np. wtyczkę Yoast SEO lub Rankmath, z których i tak będziesz korzystał przy SEO, więc możesz użyć ich także do zmiany adresu kanonicznego. 

Opcja 1: wtyczka SEO (najczęściej najrozsądniejsza w WordPressie)

Jeśli masz Yoast / RankMath, to:

  • canonical dla wpisów i stron jest generowany automatycznie,
  • często masz też możliwość ręcznego ustawienia canonical na poziomie konkretnej podstrony (gdy potrzebujesz wyjątku).

To podejście jest praktyczne, bo nie wymaga dłubania w motywie i jest przewidywalne po aktualizacjach.

Opcja 2: ręczne ustawienia canonical w kodzie WordPress

WordPress sam z siebie nie daje wygodnego panelu do zarządzania canonical. Możesz to jednak zrobić bez Yoasta, jeśli wiesz, gdzie wpiąć kod. Najbezpieczniej w małej wtyczce typu „site plugin” (a nie w motywie), żeby po zmianie motywu logika nie zniknęła.

W praktyce sprowadza się to do wygenerowania w wp_head własnego taga canonical dla konkretnych warunków (np. gdy wykryjesz parametr sortowania, ustawisz canonical na URL bez parametrów). I tu pojawia się kluczowy haczyk: to nie jest jeden uniwersalny snippet, bo przy filtrach możesz chcieć dwóch różnych zachowań:

  • canonical na bazę (gdy filtry nie mają wartości SEO),
  • albo pozostawienie stron filtrowanych jako indeksowalnych (gdy budujesz „landing pages” pod konkretne kombinacje).

Jeśli zaczniesz z automatu kanonikalizować wszystko do wersji bazowej, bardzo łatwo przypadkiem utniesz widoczność list, które mogłyby rankować.

Najczęstsze błędy, przez które Google ignoruje canonical

Tak jak wspomnieliśmy wyżej. Nawet kiedy ustawisz canonical, adres kanoniczny, nie jest pewne, jak zareaguje na to, np. Google. Bo jeżeli w GSC widzisz „Google wybrał inną stronę kanoniczną niż użytkownik”, to zwykle winny jest jeden z tych punktów:

  • canonical wskazuje na URL, który zwraca 3xx/4xx/5xx,
  • canonical wskazuje na stronę, która nie jest faktycznie „najbardziej zgodna” treściowo,
  • sitemap zawiera inne URL-e niż te, które canonical promuje,
  • linkowanie wewnętrzne prowadzi masowo do wariantów (np. z parametrami),
  • brak spójnych 301 dla wersji domeny (http/https, www),
  • przypadkowe generowanie kilku canonical (konflikt wtyczek).

Podsumowanie: canonical jako narzędzie kontroli

Canonical ma jeden cel: sprawić, żeby Google wiedział, który URL jest główny, gdy system (WordPress, WooCommerce, filtry, parametry kampanii) generuje wiele wariantów tej samej treści. Jeśli masz w GSC „dziwne” adresy powiązane z jedną bazową stroną, to w pierwszej kolejności patrzysz na spójność sygnałów: canonical, 301, mapa strony, linkowanie wewnętrzne i indeksację stron technicznych. A jeżeli chcesz to robić konsekwentnie, bez walki z wydajnością i bez sytuacji, w której reguły przekierowań i nagłówków działają raz lepiej, raz gorzej, to baza po stronie hostingu ma znaczenie bardziej, niż wiele osób chce przyznać.

Przetestuj bezpłatnie i zarejestruj niezawodny hosting pod CMS WordPress w SEOHOST – stabilne środowisko ułatwia utrzymanie porządku w URL-ach, przekierowaniach i sygnałach indeksacji, a to jest dokładnie ta warstwa, na której canonical ma działać przewidywalnie.

Czy udało Ci się rozwiązać problem?
Nie znalazłeś odpowiedzi na swoje pytanie?