Il modello classico della ricerca è basato sull'attesa: il motore torna periodicamente sul sito, scopre le novità e le elabora. Per un sito che pubblica poco va benissimo. Per un sito che cambia spesso, con prezzi, disponibilità, notizie o annunci che scadono, il ritardo tra modifica e aggiornamento dell'indice può essere un problema. IndexNow è un protocollo aperto nato per ridurre questo ritardo: invece di aspettare il crawler, è il sito ad avvisare i motori che un URL è cambiato.
Come funziona
Il principio è semplice:
- il sito genera una chiave, una stringa casuale;
- pubblica un file di testo con quella chiave sul proprio dominio, per dimostrare di controllarlo;
- ogni volta che un URL viene creato, modificato o eliminato, invia una richiesta a un motore che supporta il protocollo, indicando l'URL e la chiave;
- il motore verifica la chiave e mette l'URL in coda per una nuova scansione.
I motori aderenti condividono tra loro le notifiche ricevute, quindi basta inviarle a uno solo. Il protocollo è stato introdotto da Bing e Yandex ed è adottato da altri motori; Google, al momento in cui scrivo, non lo utilizza e continua a basarsi su scansione, sitemap e strumenti propri.
La configurazione
La chiave
La chiave è una stringa di caratteri esadecimali e trattini, di lunghezza compresa tra 8 e 128 caratteri. La si pubblica in un file di testo che contiene solo la chiave stessa, di solito alla radice del sito, con il nome uguale alla chiave:
/3f8a2c9e7b1d4f60a5e2c7b9d1f3a8e4.txt
Il file può anche trovarsi in un altro percorso, ma in quel caso la chiave vale solo per gli URL sotto quel percorso e va indicata la sua posizione nelle richieste.
La notifica di un singolo URL
Per un URL basta una richiesta GET all'endpoint del motore, con i parametri url e key.
La notifica di più URL
Per gruppi di URL si usa una richiesta POST con un corpo JSON:
{
"host": "example.com",
"key": "3f8a2c9e7b1d4f60a5e2c7b9d1f3a8e4",
"keyLocation": "https://example.com/3f8a2c9e7b1d4f60a5e2c7b9d1f3a8e4.txt",
"urlList": [
"https://example.com/prodotti/scarpe-rosse",
"https://example.com/prodotti/scarpe-blu"
]
}
Il protocollo consente fino a 10.000 URL per richiesta, tutti dello stesso host.
Le risposte
Un codice 200 o 202 indica che la richiesta è stata accettata; 403 segnala una chiave non valida o non trovata; 422 indica URL che non appartengono all'host o una chiave che non corrisponde; 429 chiede di rallentare. Accettata non significa indicizzata: il motore decide comunque se e quando scansionare.
Quando conviene
IndexNow è utile quando:
- il sito pubblica o modifica molti contenuti ogni giorno;
- le informazioni hanno una scadenza, come eventi, offerte o annunci;
- si eliminano pagine e si vuole che spariscano presto dai risultati;
- il pubblico usa in misura rilevante motori che supportano il protocollo.
Molti CMS e alcune CDN offrono già plugin o impostazioni che inviano le notifiche in automatico a ogni pubblicazione. In un sistema su misura basta agganciare la chiamata all'evento di salvataggio o al termine della build.
Gli errori da evitare
- Notificare URL non cambiati: inviare l'intero sito a ogni build non accelera nulla e può portare il motore a dare meno peso alle notifiche. Vanno inviati solo gli URL effettivamente creati, modificati o rimossi.
- Notificare URL non canonici: varianti con parametri, URL che redirigono o pagine con noindex.
- Esporre la chiave sbagliata: la chiave non è un segreto in senso stretto, dato che è pubblica nel file, ma va generata casualmente e non riutilizzata tra siti diversi.
- Dimenticare il file della chiave dopo una migrazione o un cambio di hosting: tutte le notifiche successive verrebbero rifiutate.
Nel mio lavoro registro ogni invio con data, URL e codice di risposta: quando qualcosa non viene aggiornato, il registro mostra subito se la notifica è partita e com'è stata accolta.
Cosa non sostituisce
IndexNow accelera la scoperta delle modifiche, ma non cambia le regole di fondo:
- una pagina debole non viene indicizzata solo perché è stata notificata;
- la sitemap resta necessaria, anche per i motori che non usano il protocollo;
- i link interni restano il modo principale con cui i motori capiscono l'importanza delle pagine;
- canonical, noindex e robots.txt continuano a valere esattamente come prima.
In sintesi
- IndexNow permette al sito di segnalare subito URL nuovi, modificati o eliminati.
- Si configura con una chiave casuale pubblicata in un file di testo sul dominio.
- Una notifica a un motore aderente viene condivisa con gli altri; Google non lo usa.
- Invia solo URL canonici e realmente cambiati, e registra le risposte.
- Non sostituisce sitemap, link interni e qualità dei contenuti.