{
 "generated_at": "2026-11-09T16:55:23.964Z",
 "timezone": "Europe/Warsaw",
 "docs": "https://status.senuto.com/api/public/agents.md",
 "refresh": "1d",
 "latest": {
  "day": "2026-11-09",
  "verdict": "warn",
  "quality": {
   "score": 88,
   "grade": "A",
   "tests": {
    "passed": 6,
    "warn": 0,
    "failed": 1,
    "total": 7,
    "no_data": 0
   }
  },
  "technical": {
   "score": 71,
   "grade": "B",
   "tests": {
    "passed": 3,
    "warn": 0,
    "failed": 1,
    "total": 4,
    "no_data": 0
   }
  },
  "note": null,
  "checks": [
   {
    "id": "stabilnosc",
    "label": "Stabilność pozycji w Monitoringu",
    "group": "jakosc",
    "status": "ok",
    "value": "1,2% fraz ze skokiem o 10+ pozycji",
    "norm": "norma: 1,5–2%",
    "about": "Jaka część fraz w projektach zmieniła pozycję o 10 lub więcej miejsc względem poprzedniego dnia. Prawdziwe zmiany w Google są zwykle stopniowe; nagły wzrost tej liczby oznacza albo dużą zmianę w Google, albo błąd w danych.",
    "examples": [
     "1,2% par fraza × projekt zmieniło pozycję o 10 lub więcej miejsc względem poprzedniego dnia."
    ],
    "points": 12.5,
    "penalty": 0,
    "modules": [
     "monitoring"
    ]
   },
   {
    "id": "wypadniecia",
    "label": "Wypadnięcia z TOP10 poza TOP50",
    "group": "jakosc",
    "status": "ok",
    "value": "0,2% fraz z TOP10",
    "norm": "norma: poniżej 0,5%",
    "about": "Jaka część fraz, które wczoraj były w TOP10, dziś jest poza TOP50. Strona naprawdę rzadko spada z pierwszej strony poza piątą w jeden dzień, więc to główny objaw zatrutych wyników: Google pokazał inny wariant strony 1 i domena „zniknęła”.",
    "examples": [
     "Z fraz, które dzień wcześniej były w TOP10, 0,2% tego dnia jest poza TOP50.",
     "Typowy objaw: domena wczoraj na 4. miejscu, dziś poza TOP50, a następnego dnia znów na 4."
    ],
    "points": 18.8,
    "penalty": 0,
    "modules": [
     "monitoring"
    ]
   },
   {
    "id": "kontrola",
    "label": "Zgodność z pomiarem kontrolnym",
    "group": "jakosc",
    "status": "ok",
    "value": "86,1% pozycji identycznych",
    "norm": "cel: ponad 80%",
    "about": "Te same frazy tych samych projektów mierzymy równolegle drugi raz, niezależnie od głównego pomiaru, i porównujemy pozycje. Wysoka zgodność oznacza, że pozycja nie jest przypadkiem jednego pobrania.",
    "examples": [
     "86,1% pozycji identycznych w obu pomiarach, różnica o 10+ miejsc w 0,4%.",
     "Fraza w TOP10 tylko w jednym z pomiarów: 1,3%."
    ],
    "points": 25,
    "penalty": 0,
    "modules": [
     "monitoring"
    ]
   },
   {
    "id": "strony1",
    "label": "Przetasowane strony 1 w świeżych danych",
    "group": "jakosc",
    "status": "ok",
    "value": "2,0% fraz z TOP10 zmienionym o ponad połowę (bez powrotów po zatruciu)",
    "norm": "norma: 2–5%",
    "about": "Dla fraz pobranych tego dnia porównujemy nowy TOP10 z poprzednim. Liczymy frazy, w których zmieniła się ponad połowa domen. W spokojny dzień to 2–5% (prawdziwe zmiany w Google); wyraźnie więcej oznacza podmienione strony wyników. Frazy, które poprzednio pobraliśmy w dniach zatrucia wyników (26 października – 1 listopada), liczymy osobno: przy ponownym pobraniu ich TOP10 zmienia się mocno, bo wracają na właściwe miejsca. To poprawka danych, a nie nowy problem, więc nie odejmujemy za nie punktów.",
    "examples": [
     "2,0% fraz pobranych tego dnia ma TOP10 zmienione o ponad połowę — nie licząc powrotów po zatruciu wyników.",
     "Powroty po zatruciu wyników (bez odejmowania punktów): 0,0% fraz pobranych tego dnia poprzednio pobraliśmy w dniach zatrucia (26 października – 1 listopada). 0,0% z nich ma TOP10 zmienione o ponad połowę, bo wracają na właściwe miejsca: w badaniu z 3 listopada 94% takich fraz wróciło do TOP10 sprzed zatrucia.",
     "Razem z powrotami: 2,0%."
    ],
    "points": 18.8,
    "penalty": 0,
    "modules": [
     "aw"
    ]
   },
   {
    "id": "klient",
    "label": "Dane w aplikacji (10 000 domen)",
    "group": "jakosc",
    "status": "info",
    "value": "6,5% fraz zmieniło pozycję o 10+ względem wczoraj (bez punktów: porównanie sięga dni zatrucia)",
    "norm": null,
    "about": "To, co widzi klient w Analizie Widoczności, sprawdzone na panelu najczęstszych domen: jaka część fraz zmieniła pozycję o 10 lub więcej i ile wypadło z TOP10 poza TOP50. Norma pochodzi ze spokojnych dni przed falą zatrucia. Pozycję porównujemy z poprzednią pozycją pokazywaną w aplikacji; gdy ta poprzednia pozycja pochodzi jeszcze z dni zatrucia wyników, test pokazujemy bez punktów, a ocenę opieramy na zmianie względem wczoraj.",
    "examples": [
     "Bez odejmowania punktów: poprzednia pozycja pokazywana w aplikacji tylko przy 19,1% fraz to pozycja z wczoraj — u pozostałych pochodzi jeszcze z dni zatrucia wyników, więc skok względem niej to głównie powrót na właściwe miejsce.",
     "Względem wczoraj o 10+ pozycji zmieniło się 6,5% fraz.",
     "Względem poprzedniej pozycji z aplikacji: 20,2% fraz ze skokiem o 10+, 0,9% z TOP10 poza TOP50 (norma 25–29% i 3–5%)."
    ],
    "points": null,
    "penalty": null,
    "modules": [
     "aw"
    ]
   },
   {
    "id": "powroty",
    "label": "Jednodniowe powroty pozycji",
    "group": "jakosc",
    "status": "ok",
    "value": "8,1% wczorajszych skoków wróciło dziś na poprzednie miejsce",
    "norm": "norma: poniżej 20%",
    "about": "Jaka część fraz, które wczoraj skoczyły o 10 lub więcej pozycji, dziś wróciła na poprzednie miejsce (±2). Zwykle taki jednodniowy skok to błąd pomiaru (np. podmieniona strona wyników), a nie zmiana w Google.",
    "examples": [
     "Z 81 971 fraz, które wczoraj skoczyły o 10+, wróciło 6 626."
    ],
    "points": 6.2,
    "penalty": 0,
    "modules": [
     "aw"
    ]
   },
   {
    "id": "adresy",
    "label": "Adresy podstron w wynikach (problem /goto)",
    "group": "jakosc",
    "status": "ok",
    "value": "1,0% wyników straciło adres podstrony (sama domena zamiast podstrony z poprzednich dni)",
    "norm": "norma: ok. 2% (zmiana podstrony na stronę główną zdarza się naturalnie)",
    "about": "Czy przy wynikach zapisuje się adres podstrony, a nie sama domena. Sama domena bywa poprawna (Google pokazuje stronę główną), dlatego liczymy tylko wyniki, które jeszcze w ostatnich 7 dniach miały adres podstrony, a dziś mają samą domenę (np. https://example.com/). W spokojne dni to ok. 2%; wyraźnie więcej oznacza problem z zapisem adresów (sprawa /goto). Adresów zapisanych w dniach incydentu (26 października – 1 listopada) nie bierzemy pod uwagę: część z nich zapisała się błędnie, więc ich zmiana na samą domenę to poprawka.",
    "examples": [
     "Liczymy tylko wyniki, które w ostatnich 7 dniach miały adres podstrony — sama domena jako strona główna nie jest błędem.",
     "Wszystkie wyniki z samą domeną w TOP10 (z prawdziwymi stronami głównymi): 15,0%.",
     "Porównanie z niezależnym pomiarem kontrolnym tych samych fraz: sama domena zamiast podstrony tylko w Monitoringu przy 0,3% wyników."
    ],
    "points": 6.2,
    "penalty": 0,
    "modules": [
     "monitoring"
    ]
   },
   {
    "id": "elementy",
    "label": "Elementy strony wyników",
    "group": "jakosc",
    "status": "bad",
    "value": "3 z 22 typów elementów zapisują się wyraźnie rzadziej niż zwykle",
    "norm": "norma: każdy typ na zwykłym poziomie (co najmniej 60% poziomu z 19–24.10)",
    "about": "Czy elementy strony wyników, które Senuto zapisuje (przegląd od AI, „Podobne pytania”, grafiki, filmy, panel wiedzy, miejsca i inne — 22 typy), nadal trafiają do danych i żaden z nich nie znika. Dla każdego zapisywanego typu porównujemy, przy jakiej części wyników był zapisany tego dnia, z poziomem ze spokojnego tygodnia 19–24.10. Typ, który zapisuje się wyraźnie rzadziej (poniżej 60% zwykłego poziomu), oznacza problem z wykrywaniem albo zapisem tego elementu.",
    "examples": [
     "Panel produktu: 0,0% wyników (zwykle 3,0%)",
     "Panel wiedzy: 1,4% wyników (zwykle 8,1%)",
     "Podobne pytania: 28,2% wyników (zwykle 78,6%)"
    ],
    "points": 0,
    "penalty": 12.5,
    "modules": [
     "monitoring",
     "aw"
    ],
    "types": [
     {
      "id": "related_searches",
      "name": "Podobne wyszukiwania",
      "status": "ok",
      "today_pct": 71.64,
      "usual_pct": 89.65
     },
     {
      "id": "people_also_ask",
      "name": "Podobne pytania",
      "status": "bad",
      "today_pct": 28.21,
      "usual_pct": 78.63
     },
     {
      "id": "ai_overview",
      "name": "Przegląd od AI",
      "status": "ok",
      "today_pct": 63.28,
      "usual_pct": 49.93
     },
     {
      "id": "images",
      "name": "Grafiki",
      "status": "ok",
      "today_pct": 56.35,
      "usual_pct": 34.44
     },
     {
      "id": "video",
      "name": "Filmy",
      "status": "ok",
      "today_pct": 13.47,
      "usual_pct": 13.87
     },
     {
      "id": "knowledge_panel",
      "name": "Panel wiedzy",
      "status": "bad",
      "today_pct": 1.44,
      "usual_pct": 8.1
     },
     {
      "id": "product_knowledge_panel",
      "name": "Panel produktu",
      "status": "bad",
      "today_pct": 0,
      "usual_pct": 3.01
     },
     {
      "id": "spell_check",
      "name": "Poprawka pisowni",
      "status": "ok",
      "today_pct": 2.35,
      "usual_pct": 1.62
     },
     {
      "id": "local_pack",
      "name": "Miejsca (mapa)",
      "status": "ok",
      "today_pct": 0.99,
      "usual_pct": 0.93
     },
     {
      "id": "popular_products",
      "name": "Popularne produkty",
      "status": "ok",
      "today_pct": 0.15,
      "usual_pct": 0.13
     },
     {
      "id": "refine_this_search",
      "name": "Zawęź wyszukiwanie",
      "status": "ok",
      "today_pct": 0.13,
      "usual_pct": 0.13
     },
     {
      "id": "things_to_know",
      "name": "Co warto wiedzieć",
      "status": "ok",
      "today_pct": 0.11,
      "usual_pct": 0.12
     },
     {
      "id": "paid",
      "name": "Reklamy",
      "status": "ok",
      "today_pct": 0.08,
      "usual_pct": 0.07
     },
     {
      "id": "featured_snippet",
      "name": "Polecany fragment",
      "status": "ok",
      "today_pct": 0.04,
      "usual_pct": 0.04
     },
     {
      "id": "answer_box",
      "name": "Bezpośrednia odpowiedź",
      "status": "ok",
      "today_pct": 0,
      "usual_pct": 0
     },
     {
      "id": "carousel_generic",
      "name": "Karuzela",
      "status": "ok",
      "today_pct": null,
      "usual_pct": null
     },
     {
      "id": "people_also_search_for",
      "name": "Inni szukali też",
      "status": "ok",
      "today_pct": null,
      "usual_pct": null
     },
     {
      "id": "top_stories",
      "name": "Najważniejsze artykuły",
      "status": "ok",
      "today_pct": null,
      "usual_pct": null
     },
     {
      "id": "google_tools",
      "name": "Narzędzia Google",
      "status": "ok",
      "today_pct": null,
      "usual_pct": null
     },
     {
      "id": "sitelinks",
      "name": "Linki do podstron",
      "status": "ok",
      "today_pct": null,
      "usual_pct": null
     },
     {
      "id": "price_comparison",
      "name": "Porównanie cen",
      "status": "ok",
      "today_pct": null,
      "usual_pct": null
     },
     {
      "id": "google_reviews",
      "name": "Opinie Google",
      "status": "ok",
      "today_pct": null,
      "usual_pct": null
     }
    ]
   },
   {
    "id": "kompletnosc",
    "label": "Kompletność Monitoringu",
    "group": "techniczna",
    "status": "ok",
    "value": "98,0% projektów ma pomiar z tego dnia, cykl zakończony",
    "norm": "norma: 100% projektów, cały cykl",
    "about": "Czy Monitoring zebrał pozycje dla wszystkich projektów, które zwykle mają pomiar tego dnia. Porównujemy liczbę projektów z pomiarem ze zwykłą liczbą i sprawdzamy, czy dzienny cykl zbierania się domknął. Brakujący projekt to dzień bez danych w jego historii.",
    "examples": [
     "Pomiar ma 98,0% projektów, które zwykle są mierzone tego dnia.",
     "Cykl zbierania zakończony o 17:16."
    ],
    "points": 42.9,
    "penalty": 0,
    "modules": [
     "monitoring"
    ]
   },
   {
    "id": "odswiezanie",
    "label": "Odświeżanie Analizy Widoczności",
    "group": "techniczna",
    "status": "ok",
    "value": "odświeżone 3,8% bazy (dzień w toku)",
    "norm": "norma: ok. 3% bazy dziennie",
    "about": "Jaką część bazy Analizy Widoczności odświeżyliśmy tego dnia. Baza nie jest pobierana w całości codziennie: popularniejsze frazy częściej, rzadsze rzadziej. Przy ok. 3% dziennie cała baza odświeża się w ok. 35 dni.",
    "examples": [
     "3,8% bazy odświeżone tego dnia."
    ],
    "points": 14.3,
    "penalty": 0,
    "modules": [
     "aw"
    ]
   },
   {
    "id": "swiezosc",
    "label": "Świeżość bazy",
    "group": "techniczna",
    "status": "ok",
    "value": "zapis z tego dnia w Analizie Widoczności i Monitoringu",
    "norm": "norma: zapis najpóźniej dzień po pomiarze",
    "about": "Czy baza ma zapis z tego dnia: pozycje Analizy Widoczności i Monitoringu muszą być zapisane najpóźniej dzień po pomiarze. Brak zapisu oznacza, że w aplikacji widać dane z wcześniejszego dnia.",
    "examples": [
     "Analiza Widoczności: ostatni zapis 09.11.",
     "Monitoring: ostatni zapis 09.11."
    ],
    "points": 14.3,
    "penalty": 0,
    "modules": [
     "aw",
     "monitoring"
    ]
   },
   {
    "id": "aio",
    "label": "Przegląd od AI w bazie",
    "group": "techniczna",
    "status": "bad",
    "value": "ostatni zapis przeglądów od AI: 21.09",
    "norm": "norma: zapis codziennie",
    "about": "Czy przegląd od AI (AI Overview) i jego źródła trafiają do bazy codziennie. Sprawdzamy datę ostatniego zapisu przeglądów od AI w bazie Senuto.",
    "examples": [
     "Analiza Widoczności: nie przybywają nowe przeglądy od AI i ich źródła.",
     "Monitoring: przegląd od AI zapisany przy 24,9% fraz.",
     "Opis i status sprawy: status.senuto.com/sprawy/przeglad-od-ai"
    ],
    "points": 0,
    "penalty": 28.6,
    "modules": [
     "aw"
    ]
   }
  ]
 },
 "days": [
  {
   "day": "2026-11-09",
   "verdict": "warn",
   "quality": {
    "score": 88,
    "grade": "A",
    "tests": {
     "passed": 6,
     "warn": 0,
     "failed": 1,
     "total": 7,
     "no_data": 0
    }
   },
   "technical": {
    "score": 71,
    "grade": "B",
    "tests": {
     "passed": 3,
     "warn": 0,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-11-08",
   "verdict": "warn",
   "quality": {
    "score": 89,
    "grade": "A",
    "tests": {
     "passed": 7,
     "warn": 0,
     "failed": 1,
     "total": 8,
     "no_data": 0
    }
   },
   "technical": {
    "score": 71,
    "grade": "B",
    "tests": {
     "passed": 3,
     "warn": 0,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-11-07",
   "verdict": "warn",
   "quality": {
    "score": 88,
    "grade": "A",
    "tests": {
     "passed": 6,
     "warn": 0,
     "failed": 1,
     "total": 7,
     "no_data": 1
    }
   },
   "technical": {
    "score": 49,
    "grade": "D",
    "tests": {
     "passed": 1,
     "warn": 2,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-11-06",
   "verdict": "warn",
   "quality": {
    "score": 88,
    "grade": "A",
    "tests": {
     "passed": 6,
     "warn": 0,
     "failed": 1,
     "total": 7,
     "no_data": 1
    }
   },
   "technical": {
    "score": 71,
    "grade": "B",
    "tests": {
     "passed": 3,
     "warn": 0,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-11-05",
   "verdict": "warn",
   "quality": {
    "score": 88,
    "grade": "A",
    "tests": {
     "passed": 6,
     "warn": 0,
     "failed": 1,
     "total": 7,
     "no_data": 1
    }
   },
   "technical": {
    "score": 71,
    "grade": "B",
    "tests": {
     "passed": 3,
     "warn": 0,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-11-04",
   "verdict": "warn",
   "quality": {
    "score": 88,
    "grade": "A",
    "tests": {
     "passed": 6,
     "warn": 0,
     "failed": 1,
     "total": 7,
     "no_data": 1
    }
   },
   "technical": {
    "score": 71,
    "grade": "B",
    "tests": {
     "passed": 3,
     "warn": 0,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-11-03",
   "verdict": "warn",
   "quality": {
    "score": 88,
    "grade": "A",
    "tests": {
     "passed": 6,
     "warn": 0,
     "failed": 1,
     "total": 7,
     "no_data": 1
    }
   },
   "technical": {
    "score": 71,
    "grade": "B",
    "tests": {
     "passed": 3,
     "warn": 0,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-11-02",
   "verdict": "warn",
   "quality": {
    "score": 88,
    "grade": "A",
    "tests": {
     "passed": 6,
     "warn": 0,
     "failed": 1,
     "total": 7,
     "no_data": 0
    }
   },
   "technical": {
    "score": 71,
    "grade": "B",
    "tests": {
     "passed": 3,
     "warn": 0,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-11-01",
   "verdict": "bad",
   "quality": {
    "score": 28,
    "grade": "E",
    "tests": {
     "passed": 1,
     "warn": 1,
     "failed": 4,
     "total": 6,
     "no_data": 1
    }
   },
   "technical": {
    "score": 54,
    "grade": "D",
    "tests": {
     "passed": 2,
     "warn": 1,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-10-31",
   "verdict": "bad",
   "quality": {
    "score": 36,
    "grade": "E",
    "tests": {
     "passed": 2,
     "warn": 2,
     "failed": 4,
     "total": 8,
     "no_data": 0
    }
   },
   "technical": {
    "score": 54,
    "grade": "D",
    "tests": {
     "passed": 2,
     "warn": 1,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-10-30",
   "verdict": "bad",
   "quality": {
    "score": 8,
    "grade": "E",
    "tests": {
     "passed": 0,
     "warn": 1,
     "failed": 5,
     "total": 6,
     "no_data": 1
    }
   },
   "technical": {
    "score": 54,
    "grade": "D",
    "tests": {
     "passed": 2,
     "warn": 1,
     "failed": 1,
     "total": 4,
     "no_data": 0
    }
   }
  },
  {
   "day": "2026-10-29",
   "verdict": "removed",
   "removed": true,
   "quality": null,
   "technical": null
  },
  {
   "day": "2026-10-28",
   "verdict": "removed",
   "removed": true,
   "quality": null,
   "technical": null
  },
  {
   "day": "2026-10-27",
   "verdict": "bad",
   "quality": {
    "score": 58,
    "grade": "C",
    "tests": {
     "passed": 2,
     "warn": 1,
     "failed": 1,
     "total": 4,
     "no_data": 3
    }
   },
   "technical": {
    "score": 29,
    "grade": "E",
    "tests": {
     "passed": 2,
     "warn": 0,
     "failed": 2,
     "total": 4,
     "no_data": 0
    }
   }
  }
 ]
}