Correggere le URLs «Discovered / Crawled – Currently Not Indexed» con l'agente Hermes

Un flusso che affida il lavoro di indicizzazione di Search Console all'agente Hermes: estrarre l'elenco delle URLs non indicizzate, ispezionare ogni pagina, individuare la causa reale, approvare la coda di correzioni e inviare solo le pagine corrette via Google Indexing API.

«Discovered – currently not indexed» e «Crawled – currently not indexed» sono le due righe più comuni del report «Pagine indicizzate» di Search Console – e le più fraintese. Sembrano un guasto tecnico, ma in realtà sono una decisione di priorità e qualità che Google ha preso sulle tue pagine. Inviare con più forza non cambia nulla. Correggere la causa, sì.

Questa guida è un ciclo completo che puoi affidare interamente all'agente Hermes: estrarre l'elenco delle URLs, ispezionare ogni pagina, individuare la causa reale, approvare la coda di correzioni e inviare via Google Indexing API solo le pagine che meritano di essere indicizzate. Alla fine hai un pipeline settimanale ripetibile – non una sessione di clic una tantum.

Cosa ottieni

  • Un inventario classificato: URLs bloccate in «discovered», URLs crawlate ma non indicizzate e URLs che non avresti mai dovuto inviare
  • Un elenco approvato per Indexing API e un elenco di escluse con il motivo
  • Un passo di verifica che mostra se i tuoi invii hanno funzionato davvero

Cosa ti serve: un agente Hermes installato e funzionante (hermes chat apre una sessione. Passi di installazione aggiornati: documentazione ufficiale su hermes-agent.nousresearch.com/docs), una proprietà di Search Console di cui sei proprietario e due set di credenziali Google (uno per leggere la GSC, uno per Indexing API). Primo setup circa 60–90 minuti, poi circa 15 minuti a settimana. «Fatto» significa: le tue URLs inviate mostrano un cambiamento di stato reale nell'API di ispezione entro due settimane – oppure hai prove solide del perché no.

Leggere bene i due stati

Google non è bloccato sul tuo sito. Ha preso una decisione – e lo stato ti dice quale.

Stato

Cosa significa davvero

Cause frequenti

Quando inviare

Discovered – currently not indexed

Google conosce l'URL (via sitemap o link) ma non l'ha ancora crawlate

Priorità di crawling bassa, link interni deboli o assenti, pressione sul crawl budget nei siti grandi, sito nuovo, rendering JS lento o pesante, sitemap che cambiano spesso

Una volta, dopo aver migliorato i segnali di priorità (soprattutto i link interni)

Crawled – currently not indexed

Google ha recuperato l'URL ma ha deciso di non indicizzarla

Contenuto duplicato o quasi duplicato, contenuto scarso, canonical verso un'altra URL, noindex al momento del crawl, soft 404, giudicata di basso valore

Solo se hai davvero cambiato qualcosa: contenuto, canonical o noindex

Indexed

È nell'indice

Non inviare

Excluded

Crawlata ed esclusa di proposito (noindex, canonical, scelta di duplicato, blocco)

Non inviare; verifica se l'esclusione è intenzionale

In una frase: invia solo URLs che hai davvero modificato o che meritano una seconda occhiata. Indexing API è un canale di notifica, non un annullatore di ranking. Inviare una pagina scadente dieci volte restituisce dieci volte lo stesso verdetto.

Perché farlo fare a un agente

Il pulsante «Richiedi indicizzazione» della GSC non ha un'API pubblica – non esiste un modo ufficiale di premerlo con uno script. L'automazione più vicina è Google Indexing API, che accetta notifiche di URL direttamente. Un agente aggiunge valore per tre ragioni:

  1. Il ciclo è meccanico e lungo: inventario → ispezione → classificazione → correzione → invio → verifica. Ogni settimana.
  2. Richiede una traccia di audit: ti serve un file che mostri quali URLs sono state inviate, quando e perché.
  3. Richiede un cancello di approvazione: la parte che scrive su Google deve essere rivista da un umano. Hermes è costruito esattamente attorno a questa separazione – con skills, cartelle di progetto e regole di approvazione.

Cosa ti serve prima di iniziare

  1. Agente Hermes installato. Verifica con hermes chat prima di continuare.
  2. Una proprietà GSC di cui sei proprietario. Nel formato sc-domain:example.com (non l'URL completa).
  3. Accesso in lettura: un client OAuth di Google Cloud (client ID + segreto) per Search Console API. Gli script della skill GSC lo usano per sitemap, Search Analytics e ispezione delle URLs.
  4. Accesso in scrittura: un progetto Google Cloud con Indexing API attivata e una chiave JSON di service account. Aggiungi l'email del service account come proprietario in GSC → Impostazioni → Utenti e autorizzazioni. Se l'invio restituisce 403, è questo il passo mancante.
  5. Python 3 e pip install google-auth google-api-python-client.
  6. Una cartella di progetto. Ad esempio /hermes-seo-project con context/, data/, qa/ e un approval-rules.md che imponga che il passo di invio richieda sempre la firma umana.

Passo 1: costruire l'inventario delle URLs

Copia le due skill GSC nella directory delle skill di Hermes (~/.hermes/skills): la skill di lettura (sitemap, Search Analytics, ispezione URLs) e la skill di indicizzazione (script di invio). Se l'harness cataloga le skill, puoi anche caricarli con skill_view.

Poi chiedi a Hermes in una sessione di chat, dalla cartella di progetto:

Elenca tutte le sitemap di sc-domain:example.com, estrai ogni URL con il suo lastmod e scrivile in data/url-inventory.csv. Segna qualsiasi sitemap il cui fetch fallisce.

Hermes esegue i comandi sitemap via lo strumento terminale e scrive il CSV. Un buon output: un CSV deduplicato con URL, lastmod e sitemap di origine. Controllo qualità: verifica cinque righe a caso e confronta il totale con il report sitemap della GSC. Se l'elenco è vuoto o l'autenticazione fallisce, ripeti il flusso di autenticazione GSC; lo script di lettura ha bisogno di un token OAuth fresco.

Passo 2: ispezionare e classificare

L'agente ispeziona poi l'inventario a lotti via URL Inspection API e ottiene lo stato di copertura attuale di ogni pagina. Chiedigli la fase successiva:

Ispeziona ogni URL di data/url-inventory.csv. Dividile in tre file: data/to-submit.txt (non indicizzate e meritevoli di invio), data/skip.txt (con un motivo per URL) e data/needs-fix.txt (non indicizzate e bloccate su qualcosa che possiamo cambiare).

L'API di ispezione ha limiti di frequenza per proprietà (controlla la quota attuale in Google Cloud Console; diverse migliaia al giorno, ma non infinite). Sui siti grandi, limita questo giro alle URLs con lastmod più recente – quelle che hai davvero modificato questo trimestre. Controllo qualità: campiona l'elenco delle escluse. Dovrebbe essere dominato da noindex, canonical che puntano altrove e duplicati – non da pagine che contano per te. Se un sito con migliaia di URLs produce un needs-fix vuoto, la fase di inventario probabilmente si è persa delle pagine. Allarga il range di ingresso.

Passo 3: fare triage prima di inviare

Il passo che tutti saltano. Mappa le URLs bloccate su una causa e una correzione, in quest'ordine:

Causa

Correzione

Inviare dopo la correzione?

La pagina non ha alcun link interno

Aggiungere link contestuali da pagine indicizzate

Sito o pagina completamente nuovo

Niente da correggere; inviare una volta e aspettare 1–2 settimane

Sì, una sola volta

Bloccata da robots.txt

Rimuovere il blocco su quel percorso

Crawlata ma duplicata o scarsa

Riscrivere, unire o eliminare

Solo dopo un vero cambiamento di contenuto

canonical punta a un'altra URL

Correggere il canonical se sbagliato; se intenzionale, smettere di inviare questa URL

Solo dopo la correzione

noindex al momento del crawl

Rimuovere il noindex e lasciare che Google ricrawli

Sì, dopo la rimozione

Soft 404, paginazione/archivi senza valore

Correggere la pagina o eliminarla

No — esclusione permanente

Chiedi a Hermes di preparare la coda di correzioni come tabella: URL, causa presunta, evidenza (risultato dell'ispezione o revisione del contenuto), azione suggerita, livello di rischio. Approva ogni riga nella chat. Il tuo approval-rules.md dovrebbe imporlo: l'agente prepara, tu approvi, e nulla sopra il rischio basso viene inviato senza firma.

Diagramma di flusso di un pipeline di indicizzazione a cinque fasi con cancello di approvazione umana prima dell'invio

Il cancello di approvazione separa la preparazione dell'agente dal passo di scrittura.

Le correzioni stesse sono normale lavoro SEO: riscrivere contenuti, ripulire i canonical, link interni. Questo pipeline copre la metà dell'invio. La metà della correzione è coperta dagli articoli di audit e aggiornamento della serie Hermes.

Matrice di decisione che divide le URLs non indicizzate tra «inviare dopo la correzione» e «non inviare mai»

L'elenco di invio è l'intersezione di «correggibile» e «degno di indicizzazione».

Passo 4: inviare via Indexing API

Quando la coda è approvata, metti le URLs in data/approved-urls.txt e lascia che Hermes esegua la skill di indicizzazione:

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

Il tipo di notifica predefinito è URL_UPDATED, pensato per pagine nuove o modificate. Tre numeri da ricordare: la quota predefinita è 200 URLs al giorno, 600 richieste al minuto – e 403 significa che il service account non è proprietario della proprietà. Se l'elenco approvato supera le 200, distribuiscile su più giorni; Hermes può pianificare i lotti rimanenti.

Non inviare mai pagine già indicizzate né l'elenco delle escluse. Le notifiche sprecate bruciano solo quota e creano rumore.

Passo 5: verificare e aspettare

Lo status subito dopo l'invio ti dice solo se Google ha metadati della notifica – non se la pagina è indicizzata. La conferma vera arriva giorni dopo.

3–7 giorni dopo il lotto, chiedi a Hermes:

Re-ispeziona le URLs di data/approved-urls.txt e riporta i cambiamenti di stato rispetto all'ultima esecuzione.

Una progressione sana è discovered → crawled → indexed. Ecco come appare nel corso delle settimane: l'elenco delle non indicizzate si riduce e le tue correzioni reali (nuovi link interni, testi riscritti) compaiono nell'indice. Ricorda: i dati della GSC hanno giorni di ritardo e Google ricrawla secondo il proprio calendario. Un'URL che resta in «Crawled – currently not indexed» 10–14 giorni dopo correzioni reali è un segnale di qualità, non un problema di invio – spostala sul lavoro di contenuto.

Mantenere il ciclo in funzione

Trasforma il pipeline in una routine settimanale: URLs nuove o aggiornate dall'ultima esecuzione → ispezione → classificazione → triage → approvazione → invio → registro. Hermes può eseguire la parte di sola lettura (inventario, ispezione, classificazione) senza supervisione, su un calendario, e presentarti la coda ogni lunedì. Il passo di invio resta dietro il cancello di approvazione, con un registro continuo in qa/indexing-log.md: data di invio, URL, tipo di notifica, risultato. Sei mesi di registro sono l'unica misura onesta di se il pipeline funziona.

Limiti onesti

  • Google documenta Indexing API per pagine con dati strutturati JobPosting o BroadcastEvent. Usarla su pagine normali è pratica SEO diffusa, ma Google non garantisce indicizzazione né supporto per nessun tipo di pagina.
  • Il pulsante «Richiedi indicizzazione» non ha un'API pubblica. Indexing API è l'automazione più vicina, non lo stesso pulsante.
  • Inviare non crea priorità. Se una pagina resta non indicizzata dopo correzione, invio e attesa, la risposta successiva è la qualità del contenuto – non un'altra notifica.

Domande frequenti

Indexing API funziona con pagine normali? Accetta qualsiasi URL che invii. La documentazione ufficiale di Google mira a pagine JobPosting e BroadcastEvent, quindi tratta gli invii di pagine normali come best-effort: utile, comune, ma mai garantito.

Perché resta in «Discovered – currently not indexed» dopo l'invio? Quello stato di solito significa priorità di crawling, non fallimento. Controlla i link interni verso la pagina, se robots.txt blocca il percorso e se la pagina dipende molto da JavaScript. Poi aspetta: sui siti nuovi, dalla scoperta al crawl possono passare 1–2 settimane.

Bastano 200 URLs al giorno? Per la maggior parte dei siti sì – comunque dovresti inviare solo URLs realmente modificate. Se ne hai di più con regolarità, dai priorità per valore di business e richiedi un aumento della quota in Google Cloud Console.

Indexing API accelera il ranking? No. Notifica solo a Google che un'URL è cambiata. Il ranking è un giudizio separato dei sistemi di Google, indipendente da quante notifiche invii.

In cosa differisce dal clic su «Richiedi indicizzazione» in Search Console? Stessa intenzione, meccanismo diverso. Il pulsante è pura UI senza API pubblica; Indexing API è il canale scriptabile. Nessuno dei due annulla il giudizio di Google su se una pagina debba stare nell'indice.

Autore: Julian Mercer, praticante di SEO tecnico in Auspia con 14 anni di esperienza. Scrive di crawlabilità, indicizzazione, schema e delle fondamenta tecniche che rendono un sito leggibile sia da Google che dai sistemi di IA.

Esplora questo argomento

Continua sullo stesso percorso di crescita