Naprawa adresów URL ze statusem «Discovered / Crawled – Currently Not Indexed» za pomocą agenta Hermes

Proces, który przekazuje pracę nad indeksacją w Search Console agentowi Hermes: pobierz listę nieindeksowanych URL, sprawdź każdą stronę, ustal prawdziwą przyczynę, zatwierdź kolejkę poprawek i wyślij tylko naprawione strony przez Google Indexing API.

«Discovered – currently not indexed» i «Crawled – currently not indexed» to dwa najczęstsze wiersze raportu „Strony w indeksie" w Search Console — i dwa najbardziej źle rozumiane. Wyglądają jak awaria techniczna, ale w rzeczywistości to decyzja Google o priorytecie i jakości Twoich stron. Wysyłanie w kółko niczego nie zmienia. Naprawa przyczyny — tak.

Ten przewodnik to pełny cykl, który możesz w całości przekazać agentowi Hermes: pobierz listę URL, sprawdź każdą stronę, ustal prawdziwą przyczynę, zatwierdź kolejkę poprawek i wyślij przez Google Indexing API tylko te strony, które zasługują na indeksację. Efekt: powtarzalny cotygodniowy pipeline zamiast jednorazowej sesji klikania.

Co otrzymujesz

  • Skategoryzowany spis: URL utknięte w „discovered", przeszukane, ale nieindeksowane, oraz takie, których w ogóle nie warto było wysyłać
  • Zatwierdzona lista dla Indexing API i lista pominiętych z powodami
  • Etap weryfikacji pokazujący, czy Twoje wysyłki zadziałały

Co będzie potrzebne: zainstalowany i działający agent Hermes (hermes chat otwiera sesję. Aktualne kroki instalacji: oficjalna dokumentacja na hermes-agent.nousresearch.com/docs), właściwość Search Console, której jesteś właścicielem, oraz dwa zestawy danych uwierzytelniających Google (jeden do odczytu GSC, drugi do Indexing API). Pierwsza konfiguracja to ok. 60–90 minut, potem ok. 15 minut tygodniowo. „Gotowe" oznacza: Twoje wysłane URL pokazują realną zmianę statusu w API sprawdzania w ciągu dwóch tygodni — albo masz przekonujące dowody, dlaczego nie.

Jak poprawnie czytać dwa statusy

Google nie utknął na Twojej stronie. Podjął decyzję — a status mówi Ci, jaką.

Status

Co naprawdę oznacza

Częste przyczyny

Kiedy wysyłać

Discovered – currently not indexed

Google zna URL (z sitemap lub linków), ale jeszcze go nie przeskanował

Niski priorytet crawl'ingu, słabe lub nieistniejące linki wewnętrzne, presja na budżet crawl'ingu na dużych stronach, nowa strona, wolny lub ciężki rendering JS, często zmieniające się sitemap

Raz, po poprawie sygnałów priorytetu (przede wszystkim linków wewnętrznych)

Crawled – currently not indexed

Google pobrał URL, ale zdecydował go nie indeksować

Zduplikowana lub prawie zduplikowana treść, słaba treść, canonical wskazujący na inny URL, noindex w momencie crawl'u, soft 404, ocena jako niskiej wartości

Tylko jeśli naprawdę coś zmieniłeś: treść, canonical lub noindex

Indexed

W indeksie

Nie wysyłać

Excluded

Przeskanowany i celowo wykluczony (noindex, canonical, wybór duplikatu, blokada)

Nie wysyłać; sprawdź, czy wykluczenie jest zamierzone

Jednym zdaniem: wysyłaj tylko URL, które naprawdę zmieniłeś lub które zasługują na drugie spojrzenie. Indexing API to kanał powiadomień, a nie anulowanie oceny. Wysłanie słabej strony dziesięć razy zwróci dziesięć razy ten sam werdykt.

Dlaczego ma to robić agent

Przycisk „Poproś o zindeksowanie" w GSC nie ma publicznego API — nie istnieje oficjalny sposób kliknięcia go skryptem. Najbliższa automatyzacja to Google Indexing API, które przyjmuje powiadomienia o URL bezpośrednio. Agent dodaje wartość z trzech powodów:

  1. Cykl jest mechaniczny i długi: spis → sprawdzenie → klasyfikacja → naprawa → wysyłka → weryfikacja. Co tydzień.
  2. Potrzebny jest ślad audytowy: potrzebujesz pliku pokazującego, które URL zostały wysłane, kiedy i dlaczego.
  3. Potrzebna jest brama zatwierdzenia: część, która pisze do Google, musi być sprawdzana przez człowieka. Hermes jest zbudowany wokół tego podziału — skille, foldery projektu i reguły zatwierdzania.

Co jest potrzebne przed rozpoczęciem

  1. Agent Hermes zainstalowany. Sprawdź hermes chat, zanim przejdziesz dalej.
  2. Właściwość GSC, której jesteś właścicielem. W formacie sc-domain:example.com (nie pełny URL).
  3. Dostęp do odczytu: klient OAuth Google Cloud (client ID + secret) dla Search Console API. Skrypty skilla GSC używają go do sitemap, Search Analytics i sprawdzania URL.
  4. Dostęp do zapisu: projekt Google Cloud z włączonym Indexing API i klucz JSON konta usługi. Dodaj e-mail konta usługi jako właściciela w GSC → Ustawienia → Użytkownicy i uprawnienia. Jeśli wysyłka zwraca 403 — to ten pominięty krok.
  5. Python 3 i pip install google-auth google-api-python-client.
  6. Folder projektu. Np. /hermes-seo-project z context/, data/, qa/ i approval-rules.md wymagającym, aby etap wysyłki zawsze wymagał podpisu człowieka.

Krok 1: zebranie spisu URL

Skopiuj dwa skille GSC do katalogu skilli Hermes (~/.hermes/skills): skill odczytu (sitemap, Search Analytics, sprawdzanie URL) i skill indeksacji (skrypt wysyłki). Jeśli harness kataloguje skille, można je też załadować przez skill_view.

Następnie poproś Hermesa w sesji czatu, z folderu projektu:

Wypisz wszystkie sitemap dla sc-domain:example.com, pobierz każdy URL z lastmod i zapisz je do data/url-inventory.csv. Oznacz każdą sitemap, której pobieranie się nie powiodło.

Hermes wykonuje polecenia sitemap przez narzędzie terminala i zapisuje CSV. Dobry wynik: zdeduplikowany CSV z URL, lastmod i źródłową sitemap. Kontrola jakości: sprawdź pięć losowych wierszy i porównaj sumę z raportem sitemap w GSC. Jeśli lista jest pusta lub uwierzytelnianie zawodzi, powtórz przepływ uwierzytelniania GSC; skrypt odczytu potrzebuje świeżego tokena OAuth.

Krok 2: sprawdzenie i klasyfikacja

Następnie agent sprawdza spis partiami przez URL Inspection API i pobiera aktualny status pokrycia każdej strony. Poproś o kolejny etap:

Sprawdź każdy URL z data/url-inventory.csv. Podziel je na trzy pliki: data/to-submit.txt (nieindeksowane i warte wysyłki), data/skip.txt (z powodem dla każdego URL) i data/needs-fix.txt (nieindeksowane i utknięte na czymś, co możemy naprawić).

API sprawdzania ma limity częstotliwości na właściwość (aktualny limit zobaczysz w Google Cloud Console; kilka tysięcy dziennie, ale nie nieskończoność). Na dużych stronach ogranicz ten przebieg do URL z najświeższym lastmod — tych, które naprawdę zmieniałeś w tym kwartale. Kontrola jakości: przejrzyj wyrywkowo listę pominiętych. Powinny w niej dominować noindex, canonical na inne URL i duplikaty, a nie strony, na których Ci zależy. Jeśli strona z tysiącami URL daje pusty needs-fix, etap spisu prawdopodobnie zgubił strony. Rozszerz zakres wejściowy.

Krok 3: triaż przed wysyłką

Krok, który wszyscy pomijają. Dopasuj utknięte URL do przyczyny i naprawy w tej kolejności:

Przyczyna

Naprawa

Wysyłać po naprawie?

Strona nie ma żadnego linku wewnętrznego

Dodać kontekstowe linki ze zindeksowanych stron

Tak

Całkiem nowa strona lub witryna

Nie ma czego naprawiać; wysłać raz i czekać 1–2 tygodnie

Tak, raz

Blokada w robots.txt

Usunąć blokadę tej ścieżki

Tak

Przeskanowana, ale zduplikowana lub słaba

Przepisać, połączyć lub usunąć

Tylko po realnej zmianie treści

canonical wskazuje na inny URL

Poprawić canonical, jeśli błędny; jeśli celowy — przestać wysyłać ten URL

Tylko po naprawie

noindex w momencie crawl'u

Usunąć noindex i dać Google ponownie przeszukać

Tak, po usunięciu

Soft 404, bezużyteczna paginacja/archiwa

Naprawić stronę lub ją usunąć

Nie — stałe pominięcie

Poproś Hermesa o przygotowanie kolejki poprawek w formie tabeli: URL, prawdopodobna przyczyna, dowód (wynik sprawdzenia lub przegląd treści), proponowane działanie, poziom ryzyka. Zatwierdzaj każdy wiersz w czacie. Twój approval-rules.md powinien tego wymagać: agent przygotowuje, Ty zatwierdzasz, a nic powyżej niskiego ryzyka nie jest wysyłane bez podpisu.

Schemat pipeline'u indeksacji składającego się z pięciu etapów z bramą ludzkiego zatwierdzenia przed wysyłką

Brama zatwierdzenia oddziela przygotowanie przez agenta od etapu zapisu.

Same poprawki to zwykła praca SEO: przepisanie treści, wyczyszczenie canonical, linki wewnętrzne. Ten pipeline pokrywa połowę — wysyłkę. Drugą połowę pokrywają artykuły o audycie i aktualizacji z serii Hermes.

Macierz decyzyjna dzieląca nieindeksowane URL na «wyślij po naprawie» i «nigdy nie wysyłaj»

Lista wysyłki to przecięcie «do naprawienia» i «wartych indeksacji».

Krok 4: wysyłka przez Indexing API

Gdy kolejka jest zatwierdzona, umieść URL w data/approved-urls.txt i pozwól Hermesowi uruchomić skill indeksacji:

bash
python3 ~/.hermes/skills/gsc-indexing/scripts/index_submit.py check-auth
python3 ~/.hermes/skills/gsc-indexing/scripts/index_submit.py submit --urls-file data/approved-urls.txt

Typ powiadomienia domyślnie to URL_UPDATED, przeznaczony dla nowych lub zmienionych stron. Trzy liczby, które warto zapamiętać: domyślny limit to 200 URL dziennie, 600 zapytań na minutę — a 403 oznacza, że konto usługi nie jest właścicielem właściwości. Jeśli zatwierdzona lista przekracza 200, rozbij na kilka dni; Hermes może rozplanować pozostałe partie.

Nigdy nie wysyłaj stron już zindeksowanych ani listy pominiętych. Zmarnowane powiadomienia tylko spalają limit i tworzą szum.

Krok 5: weryfikacja i cierpliwość

status tuż po wysyłce mówi tylko o tym, czy Google ma metadane powiadomienia, a nie o tym, czy strona jest zindeksowana. Prawdziwe potwierdzenie przychodzi po kilku dniach.

Po 3–7 dniach od partii poproś Hermesa:

Sprawdź ponownie URL z data/approved-urls.txt i poinformuj o zmianach statusu względem ostatniego uruchomienia.

Zdrowa progresja to discovered → crawled → indexed. Tak to wygląda na przestrzeni tygodni: lista nieindeksowanych się kurczy, a Twoje realne poprawki (nowe linki wewnętrzne, przepisane teksty) pojawiają się w indeksie. Pamiętaj: dane GSC przychodzą z kilkudniowym opóźnieniem, a Google ponownie przeszukuje według własnego harmonogramu. URL pozostający w „Crawled – currently not indexed" przez 10–14 dni po realnych poprawkach to sygnał jakości, a nie problem z wysyłką; przenieś go do pracy nad treścią.

Utrzymywanie cyklu

Zamień pipeline w cotygodniową rutynę: nowe lub zmienione URL z poprzedniego uruchomienia → sprawdzenie → klasyfikacja → triaż → zatwierdzenie → wysyłka → dziennik. Hermes może wykonywać część tylko do odczytu (spis, sprawdzenie, klasyfikacja) bez nadzoru, zgodnie z harmonogramem, i przynosić Ci kolejkę w każdy poniedziałek. Etap wysyłki pozostaje za bramą zatwierdzenia, z ciągłym dziennikiem w qa/indexing-log.md: data wysyłki, URL, typ powiadomienia, wynik. Pół roku dziennika to jedyna uczciwa miara tego, czy pipeline działa.

Uczciwe ograniczenia

  • Google dokumentuje Indexing API dla stron z danymi strukturalnymi JobPosting lub BroadcastEvent. Używanie go na zwykłych stronach to powszechna praktyka SEO, ale Google nie gwarantuje indeksacji ani wsparcia dla żadnego typu stron.
  • Przycisk „Poproś o zindeksowanie" nie ma publicznego API. Indexing API to najbliższa automatyzacja, ale nie ten sam przycisk.
  • Wysyłka nie tworzy priorytetu. Jeśli strona nadal nie jest indeksowana po naprawie, wysyłce i oczekiwaniu, następną odpowiedzią jest jakość treści, a nie kolejne powiadomienie.

Często zadawane pytania

Czy Indexing API działa ze zwykłymi stronami? Przyjmuje każdy URL, który wyślesz. Oficjalna dokumentacja Google celuje w strony JobPosting i BroadcastEvent, więc traktuj wysyłkę zwykłych stron jako best-effort: pomocne, powszechne, ale nigdy gwarantowane.

Dlaczego po wysyłce nadal widzę «Discovered – currently not indexed»? Ten status zwykle oznacza priorytet crawl'ingu, a nie porażkę. Sprawdź linki wewnętrzne do strony, czy robots.txt nie blokuje ścieżki i czy strona nie jest mocno zależna od JavaScriptu. Potem czekaj: na nowych stronach od wykrycia do przeszukania może minąć 1–2 tygodnie.

Czy 200 URL dziennie wystarczy? Dla większości stron tak — w każdym razie wysyłać warto tylko naprawdę zmienione URL. Jeśli regularnie jest ich więcej, priorytetyzuj według wartości biznesowej i poproś o zwiększenie limitu w Google Cloud Console.

Czy Indexing API przyspiesza ranking? Nie. Tylko informuje Google, że URL się zmienił. Ranking to osobna decyzja systemów Google, niezależna od liczby wysłanych powiadomień.

Czym to różni się od kliknięcia «Poproś o zindeksowanie» w Search Console? Ten sam cel, inny mechanizm. Przycisk to czysty UI bez publicznego API; Indexing API to skryptowalny kanał. Żadne z nich nie uchyla decyzji Google o tym, czy strona powinna być w indeksie.

Autor: Julian Mercer, praktyk technicznego SEO w Auspia z 14-letnim doświadczeniem. Pisze o crawl'ingu, indeksacji, schematach i technicznych podstawach, które czynią stronę czytelną zarówno dla Google, jak i systemów AI.

Poznaj ten temat

Kontynuuj tę samą ścieżkę wzrostu