Poradnik naprawy

Dodawanie tagu canonical w WordPress

8 lutego 2026 Zaktualizowano 19 kwi 2026

Tagi canonical to kluczowy element technicznego SEO, który wielu właścicieli witryn WordPress pomija. Tag canonical to mały fragment HTML w sekcji <head> strony, który mówi wyszukiwarkom, który URL jest "oficjalną" wersją tej treści. Bez tagów canonical wyszukiwarki mogą zaindeksować wiele URL pokazujących tę samą treść, rozcieńczając Twoją siłę rankingową w tych duplikatach.

Kiedy i dlaczego potrzebujesz tagów canonical

Możesz myśleć, że Twoja witryna nie ma duplikatów treści, ale WordPress generuje więcej duplikatów URL niż większość ludzi sobie uświadamia. Oto najczęstsze scenariusze, gdzie tagi canonical stają się niezbędne:

  • Parametry URL: Parametry śledzące takie jak ?utm_source=newsletter lub ?ref=twitter tworzą dodatkowe URL pokazujące tę samą zawartość strony. Bez tagu canonical wyszukiwarki mogą indeksować te URL z parametrami osobno.
  • www kontra non-www: Jeśli zarówno https://example.com/page, jak i https://www.example.com/page dostarczają tę samą treść, liczy się to jako duplikat treści.
  • HTTP kontra HTTPS: Podczas migracji HTTPS lub po niej obie wersje protokołów Twoich URL mogą być dostępne.
  • Paginacja: Strony archiwum takie jak /blog/page/2/ i /blog/page/3/ potrzebują tagów canonical wskazujących na siebie (nie na stronę 1), aby wyszukiwarki rozumiały, że są to różne strony.
  • Warianty z trailing slash: /about i /about/ to technicznie różne URL, które oba mogą dostarczać tę samą treść.
  • Podobna lub syndykowana treść: Jeśli publikujesz podobne opisy produktów na stronach kategorii lub jeśli Twoja treść jest reedytowana gdzie indziej, canonicals pomagają ustalić oryginalne źródło.

Jak WordPress obsługuje tagi canonical domyślnie

Od WordPress 2.9 platforma automatycznie generuje podstawowy tag canonical przez akcję wp_head(). Dopóki Twój motyw zawiera <?php wp_head(); ?> w sekcji <head> (a praktycznie wszystkie motywy to robią), WordPress renderuje tag <link rel="canonical"> na pojedynczych wpisach i stronach.

Wbudowana implementacja canonical jest jednak dość ograniczona. Nie obsługuje stron archiwum, custom post types i przypadków brzegowych szczególnie dobrze. Dlatego większość profesjonalistów SEO zaleca używanie dedykowanej wtyczki SEO do prawidłowego zarządzania canonical.

Ustawianie tagów canonical z Yoast SEO

Yoast SEO oferuje najbardziej kompleksowe zarządzanie tagami canonical dla WordPress. Po zainstalowaniu automatycznie generuje poprawne URL canonical dla każdej strony w Twojej witrynie, w tym wpisów, stron, archiwów, kategorii i taksonomii.

Aby ustawić niestandardowy URL canonical dla konkretnego wpisu lub strony:

  1. Zainstaluj i aktywuj Yoast SEO z katalogu wtyczek WordPress.
  2. Edytuj wpis lub stronę, dla której chcesz ustawić niestandardowy canonical.
  3. Przewiń w dół do metaboksu Yoast SEO pod edytorem treści.
  4. Kliknij zakładkę "Zaawansowane" (ikona koła zębatego).
  5. Znajdź pole "Canonical URL" i wprowadź URL, który chcesz, aby wyszukiwarki traktowały jako oryginał.
  6. Zaktualizuj lub opublikuj wpis.

Dla ustawień canonical na poziomie całej witryny Yoast obsługuje wszystko automatycznie. Usuwa parametry URL, wymusza preferowany format URL (www lub non-www) i generuje poprawne canonicals dla paginowanych archiwów. Generalnie nie musisz nic więcej konfigurować poza zainstalowaniem wtyczki.

Ustawianie tagów canonical z Rank Math

Rank Math to kolejna popularna wtyczka SEO, która dobrze obsługuje tagi canonical. Proces jest podobny do Yoast:

  1. Zainstaluj i aktywuj Rank Math.
  2. Edytuj wpis lub stronę.
  3. Kliknij ikonę Rank Math w prawym górnym rogu edytora lub przewiń do metaboksu Rank Math.
  4. Przejdź do zakładki "Zaawansowane".
  5. Wprowadź swój niestandardowy URL canonical w polu "Canonical URL".

Rank Math domyślnie obsługuje również auto-canonical dla archiwów i taksonomii. W ustawieniach ogólnych możesz skonfigurować, jak URL canonical są generowane dla różnych typów treści.

Ręczne dodawanie tagów canonical przez functions.php

Jeśli wolisz nie używać wtyczki SEO lub potrzebujesz tagów canonical w niestandardowym motywie ze specyficznymi wymaganiami, możesz dodać je ręcznie przez plik functions.php swojego motywu:

function custom_canonical_tag() {
    // Usuń domyślny canonical WordPress, aby uniknąć duplikatów
    remove_action('wp_head', 'rel_canonical');

    if (is_singular()) {
        $canonical = get_permalink();
        echo '<link rel="canonical" href="' . esc_url($canonical) . '" />' . "\n";
    } elseif (is_category() || is_tag() || is_tax()) {
        $canonical = get_term_link(get_queried_object());
        if (!is_wp_error($canonical)) {
            echo '<link rel="canonical" href="' . esc_url($canonical) . '" />' . "\n";
        }
    } elseif (is_home() || is_front_page()) {
        echo '<link rel="canonical" href="' . esc_url(home_url('/')) . '" />' . "\n";
    }
}
add_action('wp_head', 'custom_canonical_tag');

To podejście daje Ci pełną kontrolę, ale jesteś odpowiedzialny za obsługę każdego typu treści i przypadku brzegowego. Dla większości witryn wtyczka SEO jest prostszym i bezpieczniejszym wyborem.

Tagi canonical na stronach paginowanego archiwum

Częstym błędem jest, aby tagi canonical na stronach paginowanych wskazywały z powrotem na stronę 1. Jeśli masz archiwum bloga obejmujące wiele stron, każda strona powinna mieć canonical wskazujący na samą siebie. Strona 2 powinna mieć canonical na stronę 2, strona 3 na stronę 3 i tak dalej. To są osobne strony z różną zawartością, a nie duplikaty.

Zarówno Yoast SEO, jak i Rank Math obsługują to prawidłowo domyślnie. Jeśli wdrażasz canonicals ręcznie, upewnij się, że uwzględniasz paginację:

if (is_paged()) {
    global $wp;
    $canonical = home_url($wp->request) . '/';
    echo '<link rel="canonical" href="' . esc_url($canonical) . '" />' . "\n";
}

Cross-domain canonicals

Jeśli ta sama treść istnieje na wielu domenach (na przykład jeśli Twój artykuł jest reedytowany na stronie partnera), możesz użyć cross-domain canonical tags, aby powiedzieć wyszukiwarkom, która domena zawiera oryginalną wersję. Strona partnera zawierałaby tag canonical wskazujący z powrotem na Twój oryginalny URL.

Pamiętaj, że cross-domain canonicals są traktowane jako wskazówka, a nie dyrektywa. Google zwykle ich przestrzega, ale nie jest to gwarantowane. Dla syndykacji treści cross-domain canonicals to najlepsza praktyka, ale rozważ także dodanie linku "Pierwotnie opublikowane na" jako dodatkowego sygnału.

Tag canonical kontra przekierowanie 301: którego użyć

Zarówno tagi canonical, jak i przekierowania 301 wskazują wyszukiwarkom, że jeden URL jest preferowany nad innym, ale służą różnym celom:

  • Użyj przekierowania 301: Gdy chcesz na stałe przenieść jeden URL na inny i użytkownicy nigdy nie muszą ponownie widzieć starego URL. Na przykład po zmianie slug strony lub połączeniu dwóch stron.
  • Użyj tagu canonical: Gdy oba URL muszą pozostać dostępne dla użytkowników, ale wyszukiwarki powinny indeksować tylko jedną wersję. Na przykład produkt, który jest dostępny zarówno pod /shoes/red-sneakers, jak i /sale/red-sneakers.

Prosta reguła kciuka: jeśli użytkownicy muszą móc odwiedzić oba URL, użyj canonical. Jeśli stary URL w ogóle nie powinien być odwiedzany, użyj przekierowania 301.

Jak sprawdzić swoje tagi canonical

Aby zweryfikować, że Twoje tagi canonical działają poprawnie:

  • Skan InspectWP: Uruchom skan i sprawdź sekcję SEO. InspectWP raportuje, czy tag canonical jest obecny i pokazuje URL, na który wskazuje.
  • Wyświetl źródło strony: Kliknij prawym przyciskiem myszy na swojej stronie, wybierz "Wyświetl źródło strony" i wyszukaj rel="canonical". Powinieneś znaleźć dokładnie jeden tag canonical w sekcji <head>.
  • Google Search Console: Narzędzie URL Inspection pokazuje, który URL canonical Google wybrał dla danej strony. Jeśli wybrany canonical Google różni się od Twojego, mogą być sprzeczne sygnały.

Debugowanie częstych problemów z canonical

Jeśli Twoje tagi canonical nie działają zgodnie z oczekiwaniami, sprawdź te częste problemy:

  • Wiele tagów canonical: Jeśli masz wtyczkę SEO, a Twój motyw również renderuje tag canonical, otrzymujesz dwa konkurujące canonicals. Wyszukiwarki mogą zignorować oba. Usuń duplikat, wyłączając wyjście canonical motywu.
  • Canonical wskazujący na 404: Jeśli URL canonical zwraca błąd 404, wyszukiwarki go zignorują. Zawsze sprawdzaj, czy URL canonical jest aktywną, dostępną stroną.
  • Canonical wskazujący na przekierowany URL: Jeśli Twój canonical wskazuje na URL, który przekierowuje 301 gdzie indziej, wyszukiwarki mogą być zdezorientowane. Canonical powinien zawsze wskazywać na ostateczny URL docelowy.
  • Brak self-referencing canonicals: Każda strona powinna mieć self-referencing canonical tag (wskazujący na własny URL), nawet jeśli nie ma znanych duplikatów. To chroni przed wariantami parametrów URL, których możesz nie być świadomy.

Sprawdź teraz swoją stronę WordPress

InspectWP analizuje Twoją stronę WordPress pod kątem bezpieczeństwa, problemów SEO, zgodności z RODO i wydajności — za darmo.

Przeanalizuj stronę za darmo