Darmowy raport widoczności w AI

Sprawdź, czy Twoja firma jest widoczna w AI

Zobacz za darmo, czy ChatGPT, Gemini i Google AI wymieniają Twoją firmę w swoich odpowiedziach.

Sprawdź widoczność za darmo →

Duplicate content w WordPressie: jak uporządkować tagi, kategorie i archiwa bloga?

TL;DR Duplikaty w WordPressie to nie kara, tylko problem wyboru reprezentatywnego URL-a. Główni winowajcy: tagi, archiwa autora i dat, paginacja, wyniki ?s=, strony załączników i parametry URL. Kolejność działań: audyt, decyzja o typie archiwum, sygnały (canonical, noindex, 301), sitemap, kontrola. Zasada: kategorie zwykle zostają indeksowane, tagi i archiwa dat to decyzja kontekstowa. Nie canonicalizuj paginacji do strony 1 i nie używaj robots.txt do canonicalizacji. Po uporządkowaniu sprawdź raport indeksowania i widoczność w AI, np. w Semly.

Duplicate content w WordPressie - co naprawdę się dzieje

Zacznijmy od uspokajającej wiadomości: duplikaty same w sobie nie są karą. Google wprost pisze, że część duplikatów jest normalna i nie łamie zasad spamowych. Problem jest inny. Kiedy ten sam tekst jest dostępny pod wieloma adresami, Google musi wybrać jeden reprezentatywny URL. I nie zawsze wybierze ten, który ty byś wskazał.

To właśnie sedno tematu. Duplicate content w WordPressie to najczęściej problem wyboru URL-a, a nie powód do paniki. Konsekwencje są jednak realne:

  • sygnały się rozmywają, bo linki i zaangażowanie rozkładają się na kilka adresów,

  • crawl budget jest marnowany na strony, które nic nie wnoszą,

  • modele AI mają słabszy "source of truth", czyli nie wiedzą, którą wersję traktować jako główną.

Canonicalizacja to sposób wskazania wersji głównej. Warto zapamiętać jedno: rel=canonical to podpowiedź, nie rozkaz. Google może wybrać inny URL. Dlatego liczy się hierarchia sygnałów: przekierowanie 301 jest najmocniejsze, potem rel=canonical, a na końcu sitemap.

Na co uważać: nie zakładaj, że po uporządkowaniu archiwów pozycje wzrosną. Celem jest porządek i czytelny sygnał, nie gwarancja wyniku.

Duplikat to nie to samo co kanibalizacja. Duplikat to kilka adresów z tą samą treścią. Kanibalizacja to kilka różnych treści walczących o tę samą frazę. Obie rzeczy warto rozdzielić, bo naprawia się je inaczej.

Skąd biorą się duplikaty na blogu WordPressa

WordPress domyślnie generuje wiele wersji tych samych treści. Oto najczęstsze źródła i to, jak je rozpoznać.

Źródło duplikatu

Objaw w GSC

Narzędzie do wykrycia

Archiwa tagów

"Duplicate, Google chose different canonical"

GSC Page Indexing, Screaming Frog

Archiwa kategorii

"Alternate page with proper canonical tag"

GSC Page Indexing

Archiwa autora i dat

Dziesiątki podobnych URL-i

Screaming Frog (tryb listy)

Paginacja (/page/2/)

Osobne URL-e z tym samym tytułem

Screaming Frog, GSC

Wyniki wyszukiwania ?s=

URL-e z parametrem ?s=

GSC, logi serwera

Strony załączników

URL-e typu /nazwa-obrazka/

Screaming Frog

Parametry URL (UTM, filtry)

Wiele wersji tego samego adresu

GSC, logi serwera

Wersje staging/testowe

Zaindeksowane subdomeny

GSC, site: w Google

Feedy RSS

Rzadko indeksowane, ale bywają

GSC

Wersje językowe bez hreflang

Podobne treści w kilku językach

Screaming Frog

W praktyce najczęściej widać tagi i archiwa dat. To one mnożą dziesiątki, a przy dużym blogu setki podobnych adresów. W GSC rozpoznasz je po statusie "Duplicate" albo "Alternate page with proper canonical tag".

Krok 1 - Audyt: zbierz listę URL-i do decyzji

Zanim cokolwiek zmienisz, zbierz dane. Bez tego łatwo noindexować coś, co powinno zostać.

  1. Eksport z GSC. Wejdź w Page Indexing i pobierz listę URL-i. Zwróć uwagę na statusy: zaindeksowane, "Alternate page with proper canonical tag", "Duplicate, Google chose different canonical".

  2. Crawl w Screaming Frog. Uruchom tryb listy i porównaj tytuły oraz treści. Zobaczysz, które strony są do siebie podobne.

  3. Policz typy archiwów. Wypisz, ile masz tagów, kategorii, archiwów autora i dat.

  4. Oznacz każdy URL. Przy każdym wpisz jedną decyzję: zostaw, noindex, 301, popraw canonical.

Czego potrzebujesz: dostępu do GSC, Screaming Frog (lub podobnego crawlera), listy taksonomii i ustawień SEO w WordPressie.

Punkty kontrolne:

  • Czy liczba URL-i w sitemap zgadza się z liczbą zaindeksowanych?

  • Czy nie ma wersji http i https oraz z www i bez www?

Checklista audytu (do wykonania po kolei):

  1. Eksport Page Indexing z GSC.

  2. Crawl całego bloga w Screaming Frog.

  3. Lista wszystkich typów taksonomii.

  4. Liczba URL-i per typ archiwum.

  5. Sprawdzenie duplikatów tytułów.

  6. Sprawdzenie wersji http/https i www.

  7. Sprawdzenie parametrów ?s= i UTM.

  8. Sprawdzenie stron załączników.

  9. Sprawdzenie wersji staging.

  10. Sprawdzenie hreflang przy wersjach językowych.

  11. Porównanie sitemap z liczbą zaindeksowanych URL-i.

  12. Przypisanie decyzji do każdego typu archiwum.

Jeśli masz 500 tagów, nie analizuj każdego osobno. Zacznij od typów. Sprawdź, które tagi mają ruch i unikalny opis, a resztę potraktuj grupowo.

Krok 2 - Decyzja per typ archiwum (drzewko decyzyjne)

To najważniejsza część. Nie ma jednej odpowiedzi dla wszystkich. Jest decyzja zależna od kontekstu.

Drzewko decyzyjne:

  • Kategoria z opisem, linkami i ruchem → zostaw indeksowaną, dopracuj treść.

  • Kategoria pusta lub z 1–2 wpisami → noindex albo scal z inną.

  • Tag z ruchem i unikalnym opisem → zostaw.

  • Tag bez treści i bez ruchu → noindex.

  • Archiwum autora (blog jednoautorski) → noindex.

  • Archiwum autora (blog wieloautorski) → decyzja zależna od wartości.

  • Archiwum dat → zwykle noindex. Archiwizuj po temacie, nie po dacie.

  • Paginacja → zostaw indeksowaną, każda strona ma własny canonical.

  • ?s=, załączniki, staging → noindex, 301 lub blokada.

Typ archiwum

Rekomendacja

Uzasadnienie

Narzędzie

Kategoria z treścią

Indeksuj

Może rankować jak landing page

Yoast / Rank Math

Kategoria pusta

Noindex lub scal

Cienka treść, brak wartości

Rank Math, 301

Tag z ruchem

Indeksuj

Realne zapotrzebowanie

Yoast / Rank Math

Tag bez ruchu

Noindex

Mnoży duplikaty

Rank Math

Archiwum autora

Noindex (blog jednoautorski)

Powtarzalna lista wpisów

Yoast

Archiwum dat

Noindex

Data nie jest tematem

Yoast

Paginacja

Indeksuj, self-canonical

Różne zestawy linków

Ustawienia WP

?s=

Noindex

Wewnętrzna wyszukiwarka

Rank Math

Załączniki

301 do wpisu

Brak wartości jako strona

Wtyczka / kod

Staging

Blokada

Nie powinno być w indeksie

robots.txt, hasło

Na co uważać: noindex zużywa crawl budget. Googlebot i tak pobiera stronę, a potem ją odrzuca. Dla małego bloga to bez znaczenia. Dla dużego serwisu to realny koszt. Google podaje, że crawl budget dotyczy głównie witryn z milionem i więcej unikalnych URL-i albo z ponad 10 tysiącami zmieniających się dziennie. Poniżej tego progu liczy się przede wszystkim sitemap i raport indeksowania.

I jeszcze jedno: nie używaj robots.txt do canonicalizacji. To nie jest narzędzie do wskazywania wersji głównej.

Krok 3 — Wdrożenie sygnałów: canonical, noindex, 301

Masz decyzje. Czas je wdrożyć.

  1. Canonical self-referential. Każda strona powinna wskazywać sama na siebie. To domyślne ustawienie większości wtyczek SEO, ale warto je sprawdzić.

  2. Noindex, follow dla cienkich archiwów. W Yoast znajdziesz to w ustawieniach taksonomii. W Rank Math w Titles & Meta, w sekcji Category/Tag Archives Robots Meta. W AIOSEO podobnie, w ustawieniach archiwów.

  3. 301 dla scalonych tagów i kategorii. Jeśli łączysz dwa tagi, stary adres musi przekierować na nowy.

  4. Usuń duplikaty z sitemap. Nie ma sensu zgłaszać URL-i, które mają być noindex.

  5. Sprawdź spójność. Canonical, przekierowanie, linki wewnętrzne, sitemap, HTTPS i hostname muszą wskazywać ten sam URL.

Na co uważać: nie ustawiaj noindex na stronach, które chcesz mieć w indeksie. I pamiętaj, że noindex nie zadziała, jeśli ten sam URL jest zablokowany w robots.txt. Googlebot nie pobierze strony, więc nie zobaczy znacznika.

Punkty kontrolne: po 2–4 tygodniach wróć do GSC. Sprawdź, czy liczba URL-i ze statusem "Duplicate" maleje i czy canonical się zgadza.

Krok 4 - Kontrola i pomiar efektu

Uporządkowanie to nie koniec. Trzeba sprawdzić, czy działa.

  • GSC Page Indexing. Porównaj liczbę zaindeksowanych URL-i przed i po.

  • URL Inspection. Sprawdź pojedyncze adresy, które budziły wątpliwości.

  • Crawl Stats i logi serwera. Zobacz, czy Googlebot nie traci czasu na archiwa, które nic nie wnoszą.

  • Widoczność w AI. Tu wchodzi Semly. Platforma monitoruje, czy modele takie jak ChatGPT, Gemini czy Claude cytują właściwe URL-e. Metryki Mention Rate i Citation Rate pokazują, jak często marka się pojawia i jak często jest cytowana. To uzupełnienie SEO, nie zamiennik.

Hipoteza: uporządkowana architektura ułatwia modelom wybór kanonicznego źródła. Nie mamy na to twardych danych, ale logika jest prosta. Im mniej podobnych adresów, tym łatwiej wskazać ten właściwy. Badania Yext pokazują, że zweryfikowane, ustrukturyzowane dane odpowiadają za 54,53% odrębnych źródeł cytowań w AI. To nie dowód, ale mocna wskazówka, że porządek się opłaca.

Po jakim czasie widać efekt? Zwykle po kilku tygodniach. Zmiany w indeksie nie są natychmiastowe.

Najczęstsze błędy i jak je naprawić

Błąd

Objaw

Naprawa

Noindex wszystkiego "na wszelki wypadek"

Znikają wartościowe kategorie

Wróć do drzewka decyzyjnego

Canonicalizacja paginacji do strony 1

Google gubi kolejne strony

Ustaw self-canonical

robots.txt zamiast canonical

Google wybiera URL sam

Użyj rel=canonical lub 301

Noindex plus blokada w robots.txt

Noindex nie działa

Usuń blokadę

Scalanie tagów bez 301

Zostają martwe URL-e

Dodaj przekierowania

Niespójne sygnały

Google wybiera sam

Ujednolić canonical, linki, sitemap

Dwa pytania wracają najczęściej. "Dlaczego moje noindex nie działa?" Prawie zawsze dlatego, że URL jest zablokowany w robots.txt. "Dlaczego Google wybrał inny canonical?" Bo sygnały były sprzeczne. Przekierowanie, canonical, linki wewnętrzne i sitemap wskazywały różne adresy.

Co dalej — kolejne kroki i warianty

Porządek w archiwach to fundament. Co można zrobić dalej?

  1. Rozbuduj wartościowe kategorie w landing pages. Dodaj opis, linkowanie wewnętrzne i breadcrumbs. Kategoria z treścią może pracować lepiej niż pojedynczy wpis.

  2. Dodaj llms.txt i JSON-LD. Dzięki temu AI ma jasne, ustrukturyzowane źródło. Semly pomaga przygotować taką bazę wiedzy i tłumaczy ofertę na format zrozumiały dla modeli. Więcej o tym, jak przygotować WordPressa do widoczności w AI, znajdziesz w poradniku GEO dla WordPressa.

  3. Masz tysiące tagów? Rozważ masowe scalanie i noindex. Grupuj po temacie, nie zostawiaj setek cienkich archiwów.

  4. Duplikaty z parametrów? Popraw konfigurację. UTM i filtry nie powinny tworzyć osobnych, indeksowanych URL-i.

  5. Problem systemowy? Wtedy warto spojrzeć szerzej. Semly integruje się z WooCommerce i WordPressem, więc porządek w treściach łączy się z monitoringiem widoczności w AI.

Chcesz sprawdzić, jak Twoja marka wypada w odpowiedziach AI? Zamów darmowy raport widoczności w AI w Semly. Zobaczysz, które URL-e są cytowane i gdzie masz luki. Bez obietnic pozycji, po prostu konkretne dane. Więcej poradników o SEO i widoczności w AI znajdziesz na blogu Semly.

FAQ

Czy duplikaty to kara? Nie. Google traktuje część duplikatów jako normalne zjawisko. Problem to rozmyte sygnały i marnowany crawl budget, nie kara.

Czy noindexować tagi? Tylko te bez ruchu i bez unikalnego opisu. Tag z realnym zapotrzebowaniem i treścią może zostać indeksowany.

Czy paginacja to duplikat? Nie w takim sensie, żeby ją canonicalizować do strony 1. Każda strona paginacji ma własny canonical. Google wycofało rel=next/prev, ale to nie znaczy, że kolejne strony mają wskazywać na pierwszą.

Czy noindex marnuje crawl budget? Tak, Googlebot pobiera stronę, a potem ją odrzuca. Dla małych blogów to nieistotne. Przy dużych serwisach warto rozważyć inne rozwiązania, np. 404 dla usuniętych treści.

Źródła

Sprawdź, czy Cię widzi

Wpisz adres Twojej strony, żeby otrzymać bezpłatny raport widoczności w AI