Liczba zaindeksowanych podstron
ważność średniamierzonysposób indexed_pages
Nagły spadek liczby podstron w indeksie to kara od Google, noindex po migracji albo infekcja SEO niewidoczna jeszcze na stronie głównej.
Wdrożony 02.10 dla stron z dostępem w Search Console (dziś cleanhub.pl, door-drzwi.pl, growtime.eu): pomiar URL Inspection co 7 dni; pozostałe strony — nie dotyczy.
WIKI
artykuł z 16.09.2026 · źródeł 9Liczba zaindeksowanych podstron to parametr monitoringu stron internetowych, który śledzi w czasie, ile adresów witryny wyszukiwarka ma w indeksie, i zgłasza nagłą zmianę tej liczby. Pomiar kończy się jednym z trzech wyników: liczba stabilna, spadek lub skok ponad przyjęty próg albo brak odczytu, gdy źródło danych jest niedostępne. Dla wyszukiwarki Google podstawowym źródłem jest raport indeksowania stron w Search Console, który pokazuje, ile adresów witryny zostało zindeksowanych, ile nie i z jakich powodów [1].
Jak działa
Raport działa w obrębie jednej właściwości Search Console i podaje przykładową listę do 1000 zindeksowanych adresów; lista nie musi obejmować wszystkich adresów w danym stanie [1]. Nie należy oczekiwać, że w indeksie znajdą się wszystkie adresy, tylko strony kanoniczne; duplikaty i wersje alternatywne zostają poza nim [1]. Wartość bezwzględna mówi więc mało, a sygnałem jest zmiana między odczytami.
Operator site: nie jest wiarygodnym licznikiem. Google zaznacza, że nie musi on zwracać wszystkich zaindeksowanych adresów pod danym prefiksem, i przestrzega przed używaniem go do ustalania, ile adresów jest w indeksie [2].
Automatyczny odczyt wymaga API Search Console. Metoda inspekcji adresu zwraca stan jednego adresu, obecnie wyłącznie wersji w indeksie Google. Adres musi należeć do właściwości wskazanej w siteUrl, a zapytanie wymaga zakresu OAuth webmasters albo webmasters.readonly [3]. Limit wynosi 2000 zapytań dziennie i 600 na minutę na witrynę [5]. W zasobie map witryn pole contents[].indexed jest oznaczone jako przestarzałe, a contents[].submitted podaje tylko liczbę adresów w mapie [4]. Liczby z raportu nie da się więc pobrać jednym zapytaniem: pomiar przez API to próbka adresów, na przykład z mapy witryny, sprawdzana adres po adresie w dziennym limicie.
Potrzebne dane to dostęp do właściwości każdej monitorowanej witryny, lista adresów do sprawdzenia i historia odczytów. Nowych użytkowników właściwości może dodawać wyłącznie jej właściciel [6].
Standardy i specyfikacje
Parametr nie ma własnej normy; opisuje go dokumentacja wyszukiwarki. Raport indeksowania wymienia powody pominięcia adresu, między innymi znacznik noindex, blokadę w robots.txt, błąd 404, błędy serwera 5xx i błędy przekierowań [1]. Spadek liczby zindeksowanych stron bez odpowiadających mu błędów wskazuje, że dostęp zablokowano przez robots.txt, noindex albo wymóg logowania [1]. Znaczniki blokujące indeksowanie omawia artykuł Indeksowalność.
Search Console rozróżnia poziomy dostępu. Właściciel ma pełną kontrolę nad właściwością i może dodawać oraz usuwać użytkowników; użytkownik pełny widzi wszystkie dane, a ograniczony większość danych z mniejszym zakresem działań [6].
Zagrożenia i skutki
Blokada po migracji. Przewodnik Google o przenoszeniu witryny przypomina o usunięciu znaczników noindex i blokad w robots.txt, potrzebnych tylko na czas migracji [8]. Po istotnej zmianie pozycje mogą się wahać, a w średniej wielkości serwisie ponowne zindeksowanie trwa kilka tygodni lub dłużej [8], więc wczesny spadek nie zawsze oznacza błąd.
Działanie ręczne. Nakłada je pracownik Google, który uznał, że strony witryny naruszają zasady dotyczące spamu. Skutkiem jest niższa pozycja stron albo ich pominięcie w wynikach [7]. Wśród rodzajów naruszeń są spam tworzony przez użytkowników, maskowanie i podstępne przekierowania oraz ukryty tekst [7].
Włamanie SEO. Atak nazywany japanese keyword hack tworzy w witrynie nowe strony z automatycznie generowanym tekstem w losowo nazwanych katalogach [9]. Stosuje maskowanie, przez co przy bezpośrednim wejściu strony wyglądają na nieistniejące [9]. Atakujący często dodają się jako właściciele w Search Console, żeby zmieniać ustawienia takie jak mapy witryn [9]. W liczbie zaindeksowanych adresów taki atak może dać przyrost zamiast spadku. Objawy infekcji opisuje artykuł Infekcja.
Przykłady
| Obraz w danych | Możliwa przyczyna | Gdzie potwierdzić |
|---|---|---|
| Spadek z powodem „noindex” [1] | znacznik pozostawiony po migracji [8] | raport indeksowania stron [1] |
| Spadek bez błędów w raporcie [1] | robots.txt, noindex albo logowanie [1] | plik robots.txt, nagłówki odpowiedzi |
| Strony znikają z wyników | działanie ręczne [7] | raport działań ręcznych [7] |
| Nowe adresy w losowych katalogach [9] | włamanie SEO | lista właścicieli w Search Console [9] |
Różne liczby z site: [2] | operator nie zwraca wszystkich adresów [2] | raport indeksowania stron [1] |
| Wahania po zmianie adresów [8] | ponowne indeksowanie | porównanie po kilku tygodniach [8] |
- [1] Page indexing report · Google Search Console Help
- [2] Google Search Operator: site: · Google Search Central
- [3] Search Console API — urlInspection.index.inspect · Google for Developers
- [4] Search Console API — Sitemaps resource · Google for Developers
- [5] Search Console API — Usage limits · Google for Developers
- [6] Manage users, owners, and permissions · Google Search Console Help
- [7] Manual actions report · Google Search Console Help
- [8] Site moves with URL changes · Google Search Central
- [9] Fix the Japanese keyword hack · web.dev (Google)
STATS
wyniki z systemu · tylko liczby zbiorczeTen parametr nie zapisuje odczytu per strona — przebieg zostawia tylko ustalenia, więc liczby sprawdzonych stron i wyników „ok” system nie ma. Pojawią się po wdrożeniu zapisu przebiegów per strona per parametr.
Ten parametr nie otworzył jeszcze żadnego ustalenia w bazie LAB247. Pusto nie znaczy „czysto” — znaczy, że nic nie przekroczyło reguły.
Harmonogram nie zapisał jeszcze przebiegu ze sposobem „indexed_pages”. Zapis przebiegów z n8n działa od 2026-09-14.
CARD
karta z kodu CREATO_PING, odczyt 02.10.2026Jak ten parametr trafia do ClickUpa: wynik sondy to linia w subtasku 2. Pomiar, a usterka, którą otwiera — linia w subtasku 1. Podsumowanie (z identyfikatorem CWE i kategorią OWASP), skąd liczy się wskaźnik zagrożenia i status strony. Projekcja z bazy skanera odświeża oba subtaski co godzinę. Do 22.09 każde ustalenie dostawało własny subtask i status ze starego słownika (PODATNA, WARNING…) — te słowa zostały jeszcze w części opisów pomiaru niżej jako język wewnętrzny sond.
| Obszar i ważność | SEO · średnia (S07) |
|---|---|
| Workflow i częstotliwość | skaner_badanie działa na LAB247Skaner 2.0, badanie kohorty: premium co 12 h, reszta co 24–48 h · Od 2026-10-01 zestawy kohort (premium_pelny, tani_ciezki, tani_lekki) mają tury higiena, serwer, sklep, kasa i strony (wyciek ścieżek B41, CMS po EOL B44, kluczowe podstrony S08, odnośniki kontaktowe D10); nocny pomiar wydajności (trend, waga, od 01.10 też metryki pasma W01–W04 i W07) tylko premium — u reszty prośba o pomiar zagłodziłaby nocny plan. Sklep: strona bez WooCommerce = „nie dotyczy”. |
| Sonda i helper | sposób indexed_pages · CREATO_PING/helpers/indexed_pages.py |
| Testy |
|
| Typ wyniku | ok z liczbą zaindeksowanych i sprawdzonych adresów oraz poprzednim pomiarem; 0 albo 1 ustalenie indexed_pages_drop; nie_dalo_sie_sprawdzic (`brak_dostepu` = nie dotyczy, `brak_pomiaru`, `brak_danych_w_odpowiedzi`) |
| Jednostka | liczba adresów z mapy strony, które Google ma w indeksie (URL Inspection, werdykt PASS) |
| Próg i reguła | Reguła: zaindeksowanych mniej niż w poprzednim pomiarze o ≥ 20 % i ≥ 5 adresów = indexed_pages_drop (normalna, niepewna, do weryfikacji). Pomiar starszy niż 16 dni = nie dało się sprawdzić. |
| Gdzie leżą pokrętła | CREATO_PING/helpers/indexed_pages.py → MAX_URLS, SPADEK_PROC, SPADEK_MIN, KADENCJA_DNI, MAX_AGE_DAYSCREATO_PING/deploy/lab247/systemd/creato-gsc.timerCREATO_PING/config/incident_policy.toml → [finding] indexed_pages_drop |
| Retencja odczytów | Surowy pomiar jako NIEZMIENNY wiersz tabeli `odczyty` w bazie skanera (wejście, wyjście, dowody, sha karty sondy i helpera, commit kodu) — trigger odrzuca każdą zmianę. Okno retencji z kohorty: 90 dni premium, 30 dni reszta; poza oknem zostają odczyty z werdyktem problemu, akcją albo etykietą, bo replay reguł ich potrzebuje (`skaner/retencja.py`). Poza odczytem zostaje werdykt w tabeli `werdykty`. Panel klienta LAB247 czyta najnowszy odczyt na żądanie (`GET /latest-readings`). |
| Znane rozbieżności |
|
| Karta przepisana z | CREATO_PING/helpers/indexed_pages.py · CREATO_PING/tools/gsc_indeks.py · CREATO_PING/helpers/security_testy.py · CREATO_PING/config/incident_policy.toml · odczyt 02.10.2026 |
indexed_pages_drop: bramka polityki otwarta (gate=true) → sprawa w skanerze → Spadek liczby zaindeksowanych podstron w Google — waga 2 → ocena 3–4 (niebieski), status strony „niski”, dopóki sprawa jest otwarta. Ten test chodzi wyłącznie w badaniu kohort, a sprawy zakłada worker tylko dla zleceń z harmonogramu (`skaner/worker.py` → ZRODLA_PRODUKCJI): w badaniu droga kończy się na werdykcie i usterce przebiegu, która podnosi wskaźnik tego badania.
| Kod | Finding | Severity | Pewność | Skutek | Finding / alarm | Waga → ocena | Co zrobić |
|---|---|---|---|---|---|---|---|
| S07.01 | Spadek liczby zaindeksowanych podstron w Googleindexed_pages_drop | Średnia | — | do weryfikacji | tak / — | waga 2 → ocena 3–4 (niebieski) | — |
| Kod i klucz | S07.01 · indexed_pages_drop · w tabeli typów |
|---|---|
| Co znaczy | opis do opracowania |
| Kiedy powstaje | Test indexed_pages (badanie kohort, tura strony, od 02.10) czyta pomiar tools/gsc_indeks.py: adresy z map strony zgłoszonych w Search Console (do 500) przez URL Inspection API, zaindeksowany = verdict PASS. Finding, gdy zaindeksowanych mniej niż w poprzednim pomiarze o co najmniej 20 % i co najmniej 5 adresów. Strona bez dostępu w Search Console = nie dotyczy; pomiar starszy niż 16 dni = nie_dalo_sie. |
| Severity · pewność | Średnia |
| Skutek dla strony | do weryfikacji · zakłada Finding |
| Waga → ocena | waga 2 → ocena 3–4 (niebieski) |
| Klasyfikacja | OCSF 1.9.0: poza klasami Findingu |
| Rekord OCSF | finding_info.analytic.uid = "S07.01" · analytic.name = "indexed_pages_drop" · finding_info.types = ["S07 Liczba zaindeksowanych podstron"] |
| Co zrobić | — |
| Wersje typu |
|
LOOP
bez pętliTrafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.
Ten parametr nie przeszedł jeszcze żadnej pętli. Kolejność po pierwszych pięciu grupach ustali miara trafności.