Canonical URL co to? Pełny przewodnik 2026
Canonical URL (atrybut rel="canonical" w HEAD) mówi Google “ta strona to KANONICZNA wersja, ignore duplicate”. Wprowadzony 2009 przez Google+Yahoo+Microsoft. Bez canonical, gdy ta sama treść dostępna pod kilkoma URL (parametry UTM, http/https, www/non-www), Google DZIELI sygnały SEO → wszystkie rankują gorzej. Z canonical: konsolidacja na 1 URL. Każda strona powinna mieć self-canonical (canonical do siebie). Wspierane przez Google, Bing, Yandex, Yahoo. Implementacja: HTML <link>, HTTP header, sitemap.xml.
Komplementarne tematy: Sitemap.xml co to + Hreflang co to. Razem = technical SEO foundation.
Implementacja canonical w HEAD HTML
<!-- Self-canonical (każda strona) --> <link rel="canonical" href="https://example.com/produkt"/> <!-- Strona z parametrami (UTM, ref) --> <!-- URL: https://example.com/produkt?utm_source=fb&utm_campaign=spring --> <link rel="canonical" href="https://example.com/produkt"/> <!-- Multilingual (PL strona z wersjami EN, DE) --> <link rel="canonical" href="https://example.com/pl/produkt"/> <link rel="alternate" hreflang="pl" href="https://example.com/pl/produkt"/> <link rel="alternate" hreflang="en" href="https://example.com/en/product"/> <link rel="alternate" hreflang="de" href="https://example.com/de/produkt"/> <link rel="alternate" hreflang="x-default" href="https://example.com/en/product"/>
Kiedy używać canonical — checklist
- URL z parametrami — UTM, sortowanie, paginacja. Canonical do bazy.
- HTTP vs HTTPS — canonical do HTTPS.
- WWW vs non-WWW — canonical do jednej wersji.
- Trailing slash — canonical do jednej wersji (z lub bez).
- E-commerce filtry — canonical do kategorii root.
- Paginacja — self-canonical na każdej page (od 2019, Google preferuje).
- Cross-domain duplicate — guest post canonical → original.
- Każda strona zawsze — self-canonical jako default.
Najczęstsze błędy canonical
✗ Błędy
- Brak canonical (Google guess)
- Canonical do 404
- Canonical do redirectu (301)
- Wiele canonical na jednej stronie
- Canonical HTTP gdy strona HTTPS
- Conflict z hreflang (PL → EN canonical)
- Conflict z noindex
- Wszystkie strony canonical do home
✓ Poprawnie
- Self-canonical na każdej stronie
- Tylko 1 canonical per strona
- Canonical zwraca HTTP 200 (live URL)
- Canonical bezpośrednio do final URL (no redirect)
- HTTPS w canonical
- Multilingual: self-canonical + bidirectional hreflang
- Brak conflict z noindex (jeden lub drugi)
- Walidacja Screaming Frog przed publikacją
Powiązane artykuły
Sitemap.xml co to
Sitemap zawiera tylko canonical URL.
Hreflang co to
Multilingual: canonical + hreflang razem.
Technical SEO checklist 2026
Canonical = pkt 14 z 40 audytu.
Migracja strony WWW
Canonical re-walidacja po migracji = krytyczne.
Sklep internetowy SEO
Canonical produktów z wariantami + filtry kategorii.
SEO audit checklist 50 pkt
Canonical audit = pkt 19-23.
FAQ — Canonical URL
Co to jest canonical URL (rel canonical)?
Canonical URL to atrybut HTML <link rel="canonical" href="..."/> w HEAD strony, wprowadzony przez Google + Yahoo + Microsoft w 2009 roku, który mówi wyszukiwarkom "TA strona to KANONICZNA (preferowana) wersja TEJ TREŚCI". Bez canonical: jeśli ta sama treść dostępna pod kilkoma URL (np. /produkt vs /produkt?utm_source=fb vs /produkt?ref=newsletter), Google traktuje jako duplicate content → DZIELI sygnały SEO między 3 URL → wszystkie rankują gorzej. Z canonical: wszystkie warianty wskazują na /produkt jako kanoniczne → Google konsoliduje sygnały (linki + traffic + engagement) na 1 URL → lepszy ranking. Canonical to RÓŻNE od redirectu 301: 301 fizycznie przekierowuje user, canonical NIE przekierowuje (user widzi URL z parametrami) ale Google indexuje jako 1 URL. Wspierane przez wszystkie major engines: Google, Bing, Yandex, DuckDuckGo, Yahoo. Implementacja w 4 metodach: HTML <link>, HTTP header, sitemap.xml, GSC (manual).
Kiedy używać canonical — typowe przypadki
7 typowych use case'ów canonical: (1) URL Z PARAMETRAMI — /produkt vs /produkt?utm_source=facebook vs /produkt?color=red. Canonical = /produkt. (2) HTTP vs HTTPS — /strona vs https://strona. Canonical = HTTPS. (3) WWW vs NON-WWW — example.com vs www.example.com. Canonical = jedna wersja. (4) TRAILING SLASH — /strona vs /strona/. Canonical = jedna wersja. (5) PAGINACJA — /blog vs /blog/page/2 vs /blog/page/3. Strategie: (a) self-canonical na każdej (Google preferuje od 2019), (b) canonical do /blog na wszystkich (legacy approach, Google ignoruje obecnie). (6) E-COMMERCE FILTRY — /buty vs /buty?size=42 vs /buty?color=czarny&size=42. Canonical = /buty (lub kategoria root, NIE filtered). (7) DUPLICATE CONTENT MIĘDZY STRONAMI — guest post na blog X duplikujący treść Twojej strony. Canonical na guest post → Twojej strony (cross-domain canonical, supported). NIE UŻYWAJ canonical jako redirect — to różne narzędzia. NIE używaj noindex + canonical razem (konfliktowy sygnał).
Self-canonical — dlaczego każda strona musi mieć
SELF-CANONICAL = canonical wskazujący na URL TEJ samej strony. KAŻDA strona powinna mieć (best practice 2026). PRZYKŁAD: strona /produkt ma <link rel="canonical" href="https://example.com/produkt"/>. DLACZEGO? (1) JEDNOZNACZNY SYGNAŁ — Google wie który URL jest kanoniczny, nawet gdy strona dostępna z parametrami. (2) ZAPOBIEGA DUPLICATES — gdy crawler dotrze przez /produkt?utm_source=X, czyta canonical → wie to ten sam co /produkt. (3) SELF-CANONICAL + HREFLANG = STANDARD — multilingual SEO wymaga oba (canonical do siebie + hreflang do innych wersji językowych). NEXT.JS 13+: Metadata.alternates.canonical = current URL (helper). WORDPRESS: Yoast SEO automatycznie. CONSEQUENCES BEZ SELF-CANONICAL: Google guess który URL kanoniczny — może wybrać wariant z parametrami → utility links (Twoje wewnętrzne) wskazują na inny URL niż wybrany przez Google → duplicate content penalty. KRYTYCZNE: ustaw self-canonical na każdej stronie. Wyjątek: tag/category pages w niektórych e-commerce gdzie kanoniczna jest root kategoria.
Canonical w paginacji — strategie
Paginacja blog/e-commerce (/blog/page/1, /blog/page/2, /blog/page/3) — historycznie KONFLIKTOWY temat: STRATEGIA #1 (rel="prev"/"next" + canonical do /blog) — używana 2011-2019. Google MIGRATE do new approach 2019: rel="prev"/"next" DEPRECATED. Nie używaj. STRATEGIA #2 (self-canonical na każdej page) — 2026 BEST PRACTICE. /blog/page/2 ma canonical do /blog/page/2. /blog/page/3 do /blog/page/3. Google traktuje każdą jako osobny URL z unique content. Plus: każda page może rankować na swoje keywords (np. "strona 2 blog SEO" jeśli ktoś szuka tak). STRATEGIA #3 (View All + canonical) — jeśli istnieje /blog?view=all (wszystkie posty na 1 page), wszystkie paginated wskazują canonical do view-all. Działa ale wymaga loadowania wszystkich postów (slow). NIE UŻYWAJ. NEXT.JS 13+: dla paginacji w app/blog/page/[number]/page.tsx ustaw Metadata.alternates.canonical = full self URL. WORDPRESS: Yoast/RankMath obsługują automatycznie self-canonical na paginacji.
Canonical w e-commerce — produkty z wariantami
E-COMMERCE PRODUKTY z wariantami (kolor, rozmiar, edycja) = klasyczny duplicate content problem. STRATEGIE: (1) PRODUKT MASTER + WARIANTY = SAME PAGE — /produkt-buty (jeden URL), warianty wybierane z dropdown bez zmiany URL. Self-canonical do /produkt-buty. NAJLEPSZE dla małych katalogów. (2) PRODUKT PER WARIANT — /produkt-buty-czarne, /produkt-buty-czerwone, /produkt-buty-niebieskie. Każdy ma unique content (zdjęcie + opis koloru). Self-canonical na każdym. Pozwala rankować na "buty czarne". Najlepsze dla SEO ale więcej work content. (3) WARIANTY JAKO PARAMETRY — /produkt-buty vs /produkt-buty?color=red. Wszystkie warianty canonical do /produkt-buty. Top sales variant rankuje. Strata SEO dla less popular wariantów. (4) FILTRY KATEGORII — /buty?size=42&color=red — canonical do /buty (kategoria root). FILTROWE strony NIE indexowane (brak unique value vs kategoria). REKOMENDACJA: dla wariantów high-intent (kolor matters dla decyzji) → strategia #2. Dla low-intent (rozmiar) → strategia #3.
Canonical vs hreflang — różnice + jak współdziałają
CANONICAL i HREFLANG to RÓŻNE narzędzia. CANONICAL = "ta wersja TEJ strony jest kanoniczna" (duplicate content prevention). HREFLANG = "te strony to RÓŻNE WERSJE JĘZYKOWE tej samej treści" (multilingual targeting). NIE WYKLUCZAJĄ SIĘ — używaj OBA na multilingual stronach. POPRAWNA KOMBINACJA dla strony PL (z wersjami EN, DE): <link rel="canonical" href="https://example.com/pl/produkt"/> (SELF-canonical) + <link rel="alternate" hreflang="pl" href="https://example.com/pl/produkt"/> + <link rel="alternate" hreflang="en" href="https://example.com/en/product"/> + <link rel="alternate" hreflang="de" href="https://example.com/de/produkt"/> + <link rel="alternate" hreflang="x-default" href="https://example.com/en/product"/>. KRYTYCZNY BŁĄD: strona PL ma canonical wskazujący na EN wersję — Google ignoruje PL, traktuje jako duplicate EN. STRACENIA: PL przestaje rankować w polskim Google. POPRAWNIE: każda wersja językowa ma SELF-canonical + bidirectional hreflang do wszystkich wersji.
Najczęstsze błędy canonical
8 najczęstszych błędów canonical (audit GMWEB 100+ stron): (1) BRAK CANONICAL — strona w ogóle nie ma <link rel="canonical">. Google guess. Fix: dodaj self-canonical każdej stronie. (2) CANONICAL DO 404 — wskazuje URL który nie istnieje. Crawler ignoruje canonical, traktuje page jako standalone. Fix: walidacja że canonical URL zwraca HTTP 200. (3) CANONICAL DO REDIRECTU — /produkt canonical → /produkt-stary który redirectuje 301 do /produkt-nowy. Konfliktowy sygnał. Fix: canonical bezpośrednio do final URL. (4) WIELE CANONICAL — strona ma 2+ <link rel="canonical">. Google ignoruje WSZYSTKIE. Fix: tylko 1. (5) CANONICAL HTTP gdy strona HTTPS — Fix: HTTPS w canonical. (6) CONFLICT Z HREFLANG — strona PL canonical → EN. Fix: self-canonical + bidirectional hreflang. (7) CONFLICT Z NOINDEX — strona ma <meta robots="noindex"> + canonical. Konfliktowy: noindex znaczy "nie indeksuj", canonical znaczy "indeksuj jako ta wersja". Fix: tylko jedno. (8) CANONICAL DO STRONY GŁÓWNEJ ZAMIAST SIEBIE — /produkt canonical → /. Wszystkie produkty wskazują na home → Google indexuje TYLKO home, ignoruje produkty. Częsty błąd po migracji.
Walidacja canonical — narzędzia 2026
NARZĘDZIA do audytu canonical: (1) GOOGLE SEARCH CONSOLE — URL Inspection Tool (free). Pokazuje: User-declared canonical (ustawione przez Ciebie) vs Google-selected canonical (wybrane przez Google). Niezgodność = problem. (2) SCREAMING FROG SEO SPIDER (free do 500 URL, paid £149/rok unlimited) — crawl + raport "Canonical Errors": brak, wiele, do redirect, do 404. (3) AHREFS SITE AUDIT (paid od $99/mies) — automatyczne wykrywanie 18 issues canonical-related. (4) SITEBULB (paid od £13.5/mies) — alternatywa Screaming Frog z lepszym UI. (5) CHROME DEVTOOLS — manual: F12 → Elements → szukaj "canonical" w HEAD. Quick check pojedynczej strony. (6) AHREFS WEBMASTER TOOLS (free dla zweryfikowanych domen) — basic canonical audit. METODOLOGIA AUDYTU: (1) crawl Screaming Frog 500 stron, (2) eksport canonical column do Excel, (3) filtry: brak, wiele, do innego URL niż self, do 404/redirect. (4) prioritize fixes: home + top 10 trafic stron first.
Audyt canonical + duplicate content
Sprawdzimy canonical Twojej strony (self-canonical, conflict z hreflang/noindex, link do 404/redirect, paginacja, e-commerce filtry), dostarczamy mapę błędów + fix priorytetyzacja w 5 dni roboczych. Od 1 800 zł.
Zamów audyt canonical