Skip to Content

Kanibalizacja: frazy (getKeywords)

POST/api/visibility_analysis/reports/cannibalization/getKeywords

Zwraca frazy dotknięte kanibalizacją — czyli takie, na które rankuje więcej niż jeden adres domeny lub dla których adres rankujący zmienia się między pomiarami. Każdy wiersz zawiera frazę wraz ze statystykami (pozycja, widoczność, CPC, liczba wyszukiwań, trudność, trendy, snippety SERP) oraz parę adresów url.current / url.previous — jeśli adresy się różnią, mamy do czynienia z kanibalizacją.

Podgląd · 6 z 24 kolumn
FrazaID frazyKIDDomenaLiczba słówMarka
korektor maybelline4663000fd51efa78d65196f81fd56938c4adzalando.pl2
trzewiki adidas528300120febf81775e90ad212e342df6450zalando.pl2

zalando.pl (limit: 2) — frazy z kanibalizacją (różne url.current i url.previous). Wszystkie adresowalne pola wiersza (pominięto mapę historii pozycji statistics.position.history — ma zmienne klucze-daty; jest w JSON-ie i sekcji „Struktura odpowiedzi”).


Żądanie

POST /api/visibility_analysis/reports/cannibalization/getKeywords

Nagłówki: Authorization: Bearer <token>, Content-Type: application/json.

Struktura żądania

żądanie-podstawowe.jsonc
{ "domain": "zalando.pl", "fetch_mode": "topLevelDomain", "country_id": 1 }

Parametry

NameTypeDefault
domainstring

Wymagane. Domena, subdomena, katalog lub URL do analizy — interpretowane zgodnie z fetch_mode.

fetch_mode"topLevelDomain" | "subdomain" | "catalog" | "url"

Wymagane. Sposób interpretacji domain.

  • topLevelDomain — cała domena (najczęstszy przypadek)
  • subdomain — pojedyncza subdomena
  • catalog — ścieżka/katalog
  • url — dokładny URL
country_idnumber

Wymagane. Id kraju (bazy danych). Polska = 1. Nieznana wartość → 418 z komunikatem Unknown country_id.

limitnumber

Liczba wierszy na stronę.

10
pagenumber

Numer strony.

1
days_compare_mode"week_ago_monday" | "last_monday" | "yesterday"

Okres odniesienia do porównania (baza wykrywania zmian kanibalizacji). Dozwolone: week_ago_monday (domyślny), last_monday, yesterday.

filteringunknown[]

Grupy filtrów. Dozwolone pola m.in.: keyword, statistics.searches.current, statistics.cpc.current, statistics.difficulty.current, statistics.url.current (nowy URL), statistics.url.previous (stary URL). Pusta tablica = brak filtrowania.

order{ prop: string; dir: "asc" | "desc"; }

Sortowanie — pojedynczy obiekt { prop, dir }. Dozwolone prop: keyword, statistics.position.current|previous|diff, statistics.visibility.current|previous|diff, statistics.searches.current, statistics.cpc.current, statistics.difficulty.current, statistics.url.is_change, words_count. Nieznany klucz → sort domyślny (keyword_id rosnąco).

Trzy parametry są wymagane: domain, fetch_mode oraz country_id. Nieznane country_id zwraca 418 z komunikatem Unknown country_id. Parametry page i limit są opcjonalne (domyślnie 1 / 10). Endpoint obsługuje order (obiekt { prop, dir }) oraz filteringzweryfikowane na prod (order po statistics.searches.current realnie zmienia kolejność asc/desc). To odróżnia ten raport od raportów sekcji (sections/*), które order/filtering ignorują.

Odpowiedź

W przypadku powodzenia otrzymujesz data (tablicę wierszy z frazami dotkniętymi kanibalizacją) oraz pagination. Kluczowa jest para statistics.url.current / statistics.url.previousróżne adresy oznaczają kanibalizację.

przykładowa-odpowiedź (skrócona)
{ "success": true, "data": [ { "keyword": "korektor maybelline", "keyword_id": 4663, "statistics": { "position": { "current": 27, "previous": 10 }, "url": { "current": "zalando.pl/maybelline-new-york-instant-concealer-korektor-mj331e00a-s16.html", "previous": "zalando.pl/maybelline-new-york-instant-anti-age-eraser-color-corrector-concealer-korektor-lila-mj331e06e-i11.html" } /* … */ } } ], "pagination": { "page_count": 1429, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 2857, "limit": 2 } }

Struktura odpowiedzi

NameTypeDefault
successboolean

true przy powodzeniu; przy błędzie false i koperta z error

dataCannibalizationKeywordRow[]

Zwrócone wiersze z frazami dotkniętymi kanibalizacją

pagination{ page_count: number; current_page: number; has_next_page: boolean; has_prev_page: boolean; count: number; limit: number; }

Metadane paginacji

Błędy

NameTypeDefault
successfalse
data{ error: { type: string; message: string; params?: Record<string, Record<string, string>>; }; }

418 zwracany jest także dla błędów walidacji. Nieznane country_id → komunikat Unknown country_id. Pominięcie któregokolwiek wymaganego pola (domain, fetch_mode, country_id) skutkuje błędem walidacji.

Powiązane akcje

  • getKeywords — frazy dotknięte kanibalizacją wraz ze statystykami (ta strona)
  • getSections — liczba skanibalizowanych fraz w podziale na sekcje URL
Ostatnia aktualizacja: