IndexNow spiegato: notifica i motori di ricerca quando pubblichi.
Aggiorna i URL di spinta ai motori di ricerca dopo il deploy.
I siti statici e i blog cambiano ogni volta che si effettua un deployment. I motori di ricerca che supportano IndexNow possono apprendere questi cambiamenti senza attendere il prossimo crawl automatico.
Questa pagina spiega perché ciò è importante, cosa fa il protocollo e come integrarlo in un flusso di lavoro reale, inclusi schemi che puoi riutilizzare nella tua automazione o in un piccolo CLI in Go.

Perché usare IndexNow su un sito statico o Hugo
Se deployi Hugo su S3 o simili stai già distribuendo HTML e un sitemap.xml. I crawler alla fine leggeranno lo sitemap, ma il tempismo non è sotto il tuo controllo. Dopo una migrazione o un lotto di nuovi post, ti interessa più l’indicizzazione immediata rispetto a “qualche volta la prossima settimana”.
IndexNow è un canale push. Effetti un POST con un elenco di URL canonici che ti interessano. I motori partecipanti (incluso Microsoft Bing e altri elencati su indexnow.org) possono dare priorità al recupero di quegli URL. Non sostituisce buoni reindirizzamenti URL o il linking interno, ma chiude il cerchio tra git push e consapevolezza del motore di ricerca.
Cosa fa IndexNow
A un livello elevato, ogni invio è un POST HTTPS con JSON concettualmente simile a questo:
host- l’host del tuo sito (ad esempiowww.example.com)key- la tua stringa segreta pregeneratakeyLocation(opzionale) - URL completo del file di verifica se non si trova nel percorso predefinitourlList- uno o più URL assoluti su quell’host di cui vuoi segnalare l’aggiornamento
I motori rifiutano chiavi errate, host sbagliati o payload malformati. Il successo è solitamente HTTP 200 o 202 a seconda dell’endpoint.
Puoi leggere le regole complete e l’elenco dei partner sul sito ufficiale. Il modello mentale importante è la prova di proprietà del dominio tramite un file di testo più un elenco esplicito di URL, non parole chiave o contenuto della pagina.
Come preparare il tuo sito
File chiave e hostname
- Scegli una chiave - una stringa casuale lunga (trattala come un segreto).
- Pubblica
https://your-domain/<key>.txtcon solo la chiave come corpo (una riga). - Usa la stessa chiave nel tuo CLI o automazione quando effettui il POST.
- Invia solo URL su quell’host che desideri vengano ricontrollati (nuovi post, pagine aggiornate o destinazioni di reindirizzamento).
Dopo aver spostato molti URL contemporaneamente, potresti voler notificare percorsi in lotto. IndexNow accetta più URL in una singola richiesta, soggetto ai limiti di ogni motore.
Modi per inviare URL
- POST manuale - va bene per il debugging, usa
curlcon JSON. - Plugin - alcuni CMS e pannelli di hosting includono toggle per IndexNow.
- Il tuo script di deploy - dopo
hugoe il caricamento, chiama un piccolo binario con l’elenco degli URL cambiati o l’URL del tuo sitemap.
Per un flusso di lavoro Hugo, i trigger naturali sono “dopo la build” o “dopo la sincronizzazione sul bucket”. Passa URL HTTPS completi che corrispondano al tuo sito live, inclusi www vs apex se è quello che servi.
Un piccolo CLI in Go (opzionale)
Caratteristiche che potresti implementare
Un comando da riga di comando Go minimale si adatta bene a IndexNow perché il payload è un piccolo POST JSON e puoi collegarlo agli script di deploy. Un design tipico include:
- URL singoli o multipli come argomenti posizionali
--sitemapper recuperare unsitemap.xmle inviare ogni<loc>(con--limitopzionale)- Più motori in parallelo tramite
--engines(ad esempioindexnowper l’aggregatore globale, o endpoint per provider) - Flag o variabili d’ambiente come
INDEXNOW_KEY,INDEXNOW_WEBSITE_URLeINDEXNOW_ENGINES - Output verboso con
-vper il debugging delle risposte 403 o 422
Compila con go build o go install, installa il binario nel tuo PATH, poi chiamalo dopo la pubblicazione:
indexnow --key YOUR_KEY --website https://www.example.com https://www.example.com/new-post/
Per un aggiornamento completo del sito dopo il deploy, puoi passare --sitemap con l’URL del tuo sitemap pubblico. Documenta i codici di risposta e l’elenco dei motori nel tuo README e mantieni uno snippet shell publish-then-index accanto a ciò che attiva il tuo deploy statico.
Il post Best LLMs for OpenCode - tested locally ha usato “implementare un notifica IndexNow in Go” come benchmark di codifica - utile se vuoi vedere come diversi modelli gestiscono la stessa specifica e compiti strutturati.
Suggerimenti pratici
- Preferisci il target del motore
indexnowquando vuoi che una singola invio si propaghi attraverso l’infrastruttura condivisa (vedi searchengines.json e specchia quell’elenco nel tuo client se supporti più endpoint). - 429 significa rallenta. 403 di solito significa chiave o hostname non corrispondente. Correggi prima la posizione del file chiave o l’hostname.
- IndexNow non sostituisce i reindirizzamenti 301 quando rinomini i percorsi. Notifica dopo che i reindirizzamenti sono attivi.
Vedi anche
- Infrastruttura Web - il cluster completo per il deployment di siti statici e indicizzazione
- Best LLMs for OpenCode - tested locally - include un benchmark di codifica reale su questo protocollo
- Deploy sito Hugo su AWS S3 - flusso di deploy dove gli hook post-pubblicazione si inseriscono
- Protocollo ufficiale - indexnow.org