--- title: "`fetch_mode` — zakres dopasowania domeny" source: https://docs.senuto.com/types/fetch-mode --- --- title: fetch\_mode sidebarTitle: fetch\_mode ------------------------- # `fetch_mode` — zakres dopasowania domeny Raporty Analizy widoczności (i część narzędzi) przyjmują parę **`domain` + `fetch_mode`**. `fetch_mode` mówi, **co dokładnie uznajemy za „tę domenę"**: sam host, całą domenę z subdomenami, katalog czy pojedynczy adres. Zły tryb to najczęstsza przyczyna odpowiedzi `200` z zerami — patrz [Błędy → puste dane](/types/errors#odpowiedź-200-ale-dane-są-puste-lub-zerowe). ```ts type FetchMode = { /** * Zakres dopasowania dla pola `domain`: * - `topLevelDomain` — dokładnie ten host, bez subdomen * - `subdomain` — cała domena wraz ze wszystkimi subdomenami * - `catalog` — wskazany katalog i wszystko poniżej niego * - `url` — dokładnie jeden adres */ fetch_mode: "topLevelDomain" | "subdomain" | "catalog" | "url"; } export default FetchMode ``` > **Błąd:** > Wartość **`domain` nie istnieje** — mimo że tak podpowiada intuicja. Podanie jej kończy się `418` > (`invalid_data`, `fetch_mode`). Odpowiednikiem „całej domeny" jest `subdomain`, a „samej domeny > głównej" — `topLevelDomain`. ## Czym różnią się tryby — na liczbach Ten sam raport (`dashboard/getDomainStatistics`, liczba fraz w TOP10, `country_id` domyślne), odpytany dla trzech wariantów tej samej domeny: | `domain` | `topLevelDomain` | `subdomain` | | ------------------ | ---------------- | ----------- | | `pl.wikipedia.org` | 2 592 633 | 4 907 326 | | `en.wikipedia.org` | 1 997 920 | 4 907 326 | | `wikipedia.org` | 418 | 4 907 326 | Czyta się to tak: - **`topLevelDomain` dopasowuje dokładnie ten host.** `pl.wikipedia.org` i `en.wikipedia.org` to dla tego trybu dwa różne byty, a `wikipedia.org` (bez subdomeny) prawie nic nie rankuje samodzielnie — stąd 418 fraz. - **`subdomain` agreguje całą domenę** wraz ze wszystkimi subdomenami — dlatego wszystkie trzy warianty zwracają tę samą wartość. **Nie zawęża wyniku do wskazanej subdomeny**: `blog.example.com` w tym trybie zwróci dane całego `example.com`. > **Ostrzeżenie:** > **Projekt na subdomenie.** Jeśli interesuje Cię wyłącznie `blog.example.com`, żaden z tych dwóch trybów > nie zrobi tego wprost: `topLevelDomain` policzy tylko frazy, na których rankuje sam host `blog.example.com`, > a `subdomain` policzy cały `example.com`. Dla „katalogu w obrębie domeny" użyj `catalog`. ## `catalog` i `url` | `domain` | `fetch_mode` | Frazy w TOP10 | | ------------------------------------ | ------------ | ------------- | | `senuto.com/pl/blog` | `catalog` | 244 | | `https://www.senuto.com/pl/blog/` | `catalog` | 244 | | `senuto.com/pl/blog/slowa-kluczowe/` | `url` | 13 | - **`catalog`** obejmuje wskazaną ścieżkę **i wszystko poniżej niej**. - **`url`** to dokładnie jeden adres — bez podstron. - Zapis jest tolerancyjny: schemat (`https://`), prefiks `www.` i końcowy ukośnik nie zmieniają wyniku. ## Prefiks `www` `www.example.com` i `example.com` to **ta sama domena** — prefiks jest normalizowany w każdym trybie. Sprawdzone na `zalando.pl`: identyczne wartości dla `zalando.pl` i `www.zalando.pl` zarówno w `topLevelDomain`, jak i `subdomain`. ## To samo w aplikacji — pole „Dopasowanie" W aplikacji Senuto ten sam wybór robisz listą **Dopasowanie** nad raportem. Mapowanie (sprawdzone w aplikacji 2026-08-12; panel wysyła te wartości w adresie, np. `…?domain=zalando.pl&fetch_mode=subdomain&country_id=200`): | Aplikacja — „Dopasowanie" | Opis w aplikacji | `fetch_mode` w API | | ------------------------------ | ------------------------------------------------ | ------------------ | | `*.domena.pl/*` **(domyślne)** | „Wprowadzona domena i wszystkie jej subdomeny" | `subdomain` | | `domena.pl/*` | „Tylko wprowadzona domena (bez subdomen)" | `topLevelDomain` | | `domena.pl/katalog/*` | „Tylko katalog domeny i należące do niego URL-e" | `catalog` | | `Adres URL` | „Tylko wprowadzony adres URL" | `url` | > **Ostrzeżenie:** > **Dlaczego API pokazuje inne liczby niż aplikacja.** To zwykle nie błąd, a różnica domyślnych ustawień: > aplikacja startuje z `*.domena.pl/*` (czyli `subdomain`) **i bazą Polska 2.0** (`country_id: 200`), a API > nie ma domyślnego `fetch_mode` (musisz go podać) i bez `country_id` liczy na bazie Polska 1.0. > Chcąc odtworzyć liczbę z aplikacji, wyślij `fetch_mode: "subdomain"` **i** `country_id: 200`. ## Wybór trybu — ściąga | Chcesz zobaczyć | `domain` | `fetch_mode` | | ------------------------------------------------------- | ----------------------- | ---------------- | | Widoczność serwisu razem z subdomenami | `example.com` | `subdomain` | | Widoczność samego `example.com`, bez subdomen | `example.com` | `topLevelDomain` | | Widoczność konkretnego hosta (np. sklepu na subdomenie) | `sklep.example.com` | `topLevelDomain` | | Widoczność sekcji serwisu (blog, kategoria) | `example.com/blog` | `catalog` | | Widoczność jednego artykułu | `example.com/blog/wpis` | `url` | > **Informacja:** > Definicja trybów żyje w `DataFetchMode` po stronie API — te same cztery wartości obowiązują we > wszystkich raportach, które przyjmują `fetch_mode`. Jeśli endpoint go wymaga, jest to zaznaczone > na jego stronie; pominięcie pola zwraca `418` z `params.fetch_mode._required`.