Sklep z wyposażeniem wnętrz po majowej aktualizacji rdzenia stracił jedną trzecią ruchu organicznego. Właściciel podejrzewał karę za jakość treści. Dane pokazały co innego: sklep od dwóch lat konkurował sam ze sobą, a majowy Core Update tylko obnażył problem, który narastał od dawna. Poniżej diagnoza, plan konsolidacji i liczby po 30, 90 i 180 dniach.
Punkt wyjścia: skala spadku i pierwsze hipotezy
Sklep miał 1 840 zaindeksowanych adresów, w tym 610 wpisów blogowych i poradników. Przed aktualizacją generował 41 200 kliknięć miesięcznie, w ciągu dwunastu dni rolloutu zjechał do 27 900, czyli o 32,3 procent. Spadek nie był równomierny: karty produktowe straciły 8 procent, kategorie 11 procent, a poradniki aż 58 procent.
Na starcie mieliśmy cztery hipotezy:
- obniżenie oceny jakości treści w segmencie poradnikowym,
- regresja techniczna po wdrożeniu nowego motywu w kwietniu,
- wejście dużego agregatora na te same frazy,
- kanibalizacja, czyli wiele podstron walczących o to samo zapytanie.
Dwie pierwsze odpadły szybko: logi serwera i test renderowania nie pokazały żadnej zmiany, a rozkład crawlu był stabilny. Konkurencja w SERP-ach zmieniła się tylko dla 14 procent monitorowanych fraz, co nie tłumaczyło skali. Zostało to, czego klient chciał uniknąć: własna struktura treści.
Diagnoza kanibalizacji na danych z Search Console
Kanibalizacji nie diagnozuje się po tytułach. Potrzebne są dane na przecięciu zapytanie plus strona, bez próbkowania. Interfejs Search Console pokazuje maksymalnie 1 000 wierszy, więc dla sklepu z ponad tysiącem adresów to za mało. Pobraliśmy komplet przez API z podziałem na dni, żeby ominąć limit wierszy (metodę opisaliśmy w tekście o tym, jak pobrać pełne dane z Search Console API).
Definicja robocza dla tego projektu: kanibalizacja występuje, gdy w oknie 90 dni to samo zapytanie generuje wyświetlenia dla co najmniej dwóch adresów, żaden nie ma więcej niż 70 procent udziału, a najlepsza pozycja zmienia właściciela w co najmniej 20 procentach dni.
Ostatnie kryterium jest kluczowe. Dwie podstrony na jedno hasło to nie problem. Problemem jest rotacja: oznacza, że algorytm nie wie, którą stronę uznać za właściwą odpowiedź, i za każdym razem liczy od nowa.
| Metryka | Wartość przed konsolidacją |
|---|---|
| Zapytania spełniające definicję | 487 |
| Adresy zaangażowane w konflikty | 163 |
| Średnia liczba adresów na skonfliktowane zapytanie | 3,1 |
| Udział skonfliktowanych zapytań w wyświetleniach | 44 procent |
| Średnia pozycja w grupie skonfliktowanej | 18,4 |
| Średnia pozycja poza grupą | 9,7 |
Różnica 8,7 pozycji między treścią skonfliktowaną a czystą potwierdziła trop. Przed aktualizacją wynosiła 3,2 pozycji. Core Update nie stworzył kanibalizacji, tylko przestał ją tolerować.
Które strony konkurowały ze sobą i dlaczego
Konflikty rozpadły się na trzy wzorce, obecne w niemal każdym sklepie o podobnej historii.
Wzorzec pierwszy: poradnik kontra kategoria
61 procent konfliktów. Redakcja pisała poradniki typu „jak wybrać dywan do salonu”, a kategoria „dywany do salonu” miała rozbudowany opis z tymi samymi nagłówkami. Google dostawał dwie odpowiedzi na jedno zapytanie i wybierał zwykle gorzej dopasowaną.
Wzorzec drugi: seria wpisów pisanych rok po roku
28 procent konfliktów. Co roku powstawały „trendy w oświetleniu 2024”, „2025” i kolejne, bez żadnej decyzji o starych wpisach. Cztery adresy dzieliły wyświetlenia na hasło bez roku, a wygrywał zwykle najstarszy, bo miał najwięcej linków wewnętrznych.
Wzorzec trzeci: filtry i parametry w indeksie
11 procent konfliktów, za to najbardziej techniczny. Adresy z parametrami sortowania trafiły do indeksu, bo tag kanoniczny wskazywał na siebie zamiast na kategorię nadrzędną. Dla części zapytań wyświetlała się pusta strona z filtrem zamiast kategorii.
Kanibalizacja rzadko wynika z jednej decyzji. To osad z wielu małych kroków, których nikt nie zebrał w całość. Terminologię porządkuje nasz słownik pojęć SEO.
Plan konsolidacji: scalanie, przekierowania, przepisanie
Dla każdej grupy trzeba było wskazać jeden adres docelowy. Zasada: wygrywa ten, który najlepiej odpowiada intencji zapytania, a nie ten z największą liczbą linków. To rozróżnienie generowało najwięcej sporów, bo oznaczało czasem porzucenie wpisu, w który włożono dużo pracy.
Każdą grupę przypisaliśmy do jednego z czterech działań:
- Scalenie i przekierowanie 301. 74 grupy, tam gdzie oba teksty odpowiadały na to samo pytanie.
- Rozdzielenie intencji. 38 grup. Poradnik o wyborze dywanu stał się tekstem o pielęgnacji, a kategoria przejęła zapytania zakupowe.
- Deindeksacja bez przekierowania. 29 grup, głównie parametry i puste filtry: poprawiony tag kanoniczny plus wykluczenie wzorców w pliku robots.
- Aktualizacja rocznika w miejscu. 22 grupy. Jeden adres bez roku w URL jako stały dom dla treści odświeżanej co sezon, poprzednie roczniki przekierowane na niego.
Łącznie 163 adresy weszły do procesu: 121 zniknęło z indeksu, 42 zostały przepisane i utrzymane. Sklep świadomie stracił 6,6 procent zaindeksowanych adresów w segmencie treściowym.
Każde przekierowanie mapowaliśmy pojedynczo na najbliższy tematycznie cel. Żadnych hurtowych 301 na stronę główną, bo Google traktuje takie mapowanie jak miękki błąd 404 i nie przekazuje sygnałów, co opisuje wprost dokumentacja Google Search Central.
Zmiany w linkowaniu wewnętrznym
Konsolidacja bez przebudowy linkowania to praca w połowie wykonana. Po scaleniu zostało 1 190 linków wewnętrznych do adresów, które właśnie przestały istnieć. Działały przez przekierowanie, więc nic się nie psuło, ale sygnał był rozmyty.
W tej kolejności:
- przepisanie wszystkich linków wprost na nowe adresy, żeby wyeliminować skoki przez 301,
- ujednolicenie anchorów: jedno główne zapytanie na cel, warianty tylko tam, gdzie brzmiały naturalnie,
- 210 nowych linków z poradników do kategorii, których dotyczyły, bo blog i sklep żyły osobno.
Efekt uboczny okazał się cenniejszy, niż zakładaliśmy: średnia głębokość kliknięcia dla kategorii spadła z 3,4 do 2,1, a 34 kategorie bez żadnego linku z treści dostały pierwsze wejścia z bloga. Ten sam mechanizm porządkowania struktury opisujemy w tekście o strategii contentowej pod AIO.
Harmonogram wdrożenia i kolejność zmian
Kolejność to najważniejszy wniosek operacyjny z tego projektu. Przekierowania przed poprawą linkowania dałyby robotom kilka tygodni obrazu pełnego skoków. Przepisywanie treści przed wyborem celów oznaczałoby pracę na adresach, które i tak miały zniknąć.
| Tydzień | Działanie | Zakres |
|---|---|---|
| 1 | Pobranie danych, budowa mapy konfliktów | 487 zapytań, 163 adresy |
| 2 | Wybór celów kanonicznych, akceptacja klienta | 163 decyzje |
| 3–4 | Przepisanie treści utrzymywanych | 42 teksty |
| 5 | Poprawa tagów kanonicznych i reguł dla parametrów | 29 grup |
| 6 | Wdrożenie przekierowań 301 partiami po 25 | 121 adresów |
| 7 | Przebudowa linkowania wewnętrznego | 1 190 linków, 210 nowych |
| 8 | Aktualizacja mapy witryny, zgłoszenie do ponownego przetworzenia | cała witryna |
Partie po 25 adresów co dwa dni to zabezpieczenie, nie wymóg techniczny. Jedna partia rzeczywiście była błędna: dwanaście adresów trafiło na kategorię nadrzędną zamiast na konkretny poradnik, co wychwyciliśmy w 48 godzin.
Efekty po 30, 90 i 180 dniach
Mierzyliśmy na trzech poziomach: cały ruch organiczny, segment poradnikowy i grupę 487 zapytań objętych konsolidacją. Punktem odniesienia jest 28 dni przed aktualizacją, nie miesiąc po niej, bo odbicie od dna zawyża każdy wynik.
| Okres | Kliknięcia (cała witryna) | Segment poradnikowy | Średnia pozycja, grupa 487 |
|---|---|---|---|
| Przed aktualizacją | 41 200 | 14 800 | 15,2 |
| Dno po aktualizacji | 27 900 | 6 200 | 18,4 |
| 30 dni po wdrożeniu | 29 600 | 7 100 | 16,9 |
| 90 dni po wdrożeniu | 36 400 | 11 900 | 11,3 |
| 180 dni po wdrożeniu | 39 800 | 13 600 | 9,8 |
Po 30 dniach efekt mieścił się w granicach szumu i klient był rozczarowany. To normalne: konsolidacja sygnałów dla witryny tej wielkości zajmuje od czterech do ośmiu tygodni. Realny ruch ruszył w szóstym tygodniu.
Po 180 dniach witryna odzyskała 96,6 procent ruchu sprzed aktualizacji, ale z inną strukturą. Liczba adresów z co najmniej jednym kliknięciem miesięcznie spadła z 720 do 540, a średnia kliknięć na taki adres wzrosła z 57 do 74. Mniej stron, mocniejsze strony. Rotacja pozycji spadła z 20 procent dni do 4 procent.
Problem narastał dwa lata, bo nikt nie patrzył na przecięcie zapytanie plus strona. Klient wdrożył potem cotygodniowy monitoring rotacji, w duchu naszego case study o alertach o spadkach pozycji. Kolejny konflikt rozwiązano w tydzień, nie w dwa lata.
Czego nie udało się odzyskać
Uczciwy case musi zawierać kolumnę strat. Po 180 dniach zostały trzy nieodrobione obszary.
Frazy z rocznikiem w zapytaniu. Scalając serie „trendy 2024, 2025, 2026” do jednego adresu bez roku, straciliśmy widoczność na zapytania z konkretnym rokiem: około 1 100 kliknięć miesięcznie, których prawdopodobnie nie odzyskamy. Alternatywą było utrzymywanie czterech konkurujących adresów.
Dwanaście adresów z błędnej partii. Mimo poprawki po 48 godzinach nie wróciły do wcześniejszych pozycji, a cztery z nich do dziś stoją o 6 do 11 miejsc niżej niż porównywalne adresy z poprawnych partii. Dowodu przyczynowego nie mamy, ale to najlepszy argument za wdrażaniem partiami.
Długi ogon ze scalonych poradników. Około 600 kliknięć miesięcznie rozproszonych na 400 bardzo szczegółowych zapytań, których nie dało się sensownie zmieścić w tekście docelowym. Da się to odzyskać, ale wymaga kilkunastu nowych, wąskich tekstów, czyli osobnego projektu.
Wniosek jest mniej efektowny, niż sugeruje tytuł. Core Update nie ukarał tego sklepu za jakość, tylko podniósł poprzeczkę dla klarowności: jedna strona, jedna intencja, jedna odpowiedź. Witryny, które tej zasady nie trzymały, zapłaciły najwięcej tam, gdzie tworzyły najwięcej treści.
FAQ
Po czym poznać kanibalizację, a nie zwykły spadek pozycji?
Kluczowy sygnał to rotacja: dla jednego zapytania najlepszą pozycję zajmuje raz jeden adres, raz drugi, i zmienia się to w co najmniej 20 procentach dni. Przy zwykłym spadku adres jest stały, po prostu leci w dół. Potrzebne są dane zapytanie plus strona z 90 dni, pobrane z API.
Czy zawsze trzeba scalać i przekierowywać?
Nie. Scalanie jest właściwe tylko wtedy, gdy oba teksty odpowiadają na tę samą intencję. Jeśli da się je rozdzielić, na przykład jeden na zapytania zakupowe, drugi na pielęgnację, przepisanie zachowuje zasięg. Tu objęło 38 ze 163 grup.
Ile czasu zajmuje odbudowa ruchu po konsolidacji?
Przy około 1 800 adresach pierwsze wyraźne zmiany przyszły w szóstym tygodniu, główny wzrost między 60 a 120 dniem, stabilizacja około 180 dnia. Wcześniejsza ocena jest myląca, bo przekierowania nie są jeszcze w pełni przetworzone, więc nie warto wycofywać zmian przed 60 dniem.
Czy usunięcie 121 adresów nie zaszkodziło widoczności?
Liczba zaindeksowanych adresów nie jest metryką sukcesu. Adresów z kliknięciami ubyło (720 do 540), ale średnia kliknięć na adres wzrosła z 57 do 74, a suma ruchu wróciła niemal do poziomu sprzed aktualizacji. Liczy się to, ile adresów realnie pracuje.
Dlaczego przekierowania wdrażano partiami po 25?
Żeby ograniczyć koszt błędu. Pomyłka w mapowaniu ujawnia się w raporcie indeksowania w 48 godzin i dotyczy kilkunastu adresów, a nie stu dwudziestu. Jedna partia rzeczywiście była zmapowana źle i mimo szybkiej poprawki te adresy nie wróciły do dawnych pozycji.
Czy da się zapobiec kanibalizacji, zamiast ją leczyć?
Tak i jest to znacznie tańsze. Przed publikacją nowego tekstu sprawdź, czy witryna ma już adres wyświetlający się na docelowe zapytanie, i prowadź cykliczny monitoring rotacji. Klient z tego case wdrożył cotygodniowy przegląd i kolejny konflikt rozwiązał w tydzień.
