IndexNow expliqué : notifier les moteurs de recherche lors de la publication
Mettre à jour les URL de recherche après le déploiement.
Les sites statiques et les blogs changent à chaque déploiement. Les moteurs de recherche prenant en charge IndexNow peuvent prendre connaissance de ces changements sans attendre le prochain cycle de crawl aveugle.
Cette page explique pourquoi c’est important, ce que fait le protocole et comment l’intégrer dans un flux de travail réel, y compris des modèles que vous pouvez réutiliser dans votre propre automatisation ou un petit CLI Go.

Pourquoi utiliser IndexNow sur un site statique ou Hugo
Si vous déployez Hugo sur S3 ou similaire, vous livrez déjà du HTML et un sitemap.xml. Les robots finiront par lire le sitemap, mais le timing ne dépend pas de vous. Après une migration ou un lot de nouveaux articles, vous tenez davantage à une indexation fraîche qu’à “quelque part la semaine prochaine”.
IndexNow est un canal push (poussé). Vous envoyez une liste d’URLs canoniques qui vous intéressent. Les moteurs participants (y compris Microsoft Bing et d’autres répertoriés sur indexnow.org) peuvent prioriser la récupération de ces URLs. Cela ne remplace pas de bonnes redirections d’URL ni un maillage interne, mais cela boucle la boucle entre git push et la prise de conscience du moteur de recherche.
Ce que fait IndexNow
De manière générale, chaque soumission est un POST HTTPS avec un JSON conceptuellement comme ceci :
host- votre nom d’hôte de site (par exemplewww.example.com)key- votre chaîne secrète pré-généréekeyLocation(facultatif) - URL complète du fichier de vérification s’il n’est pas à l’emplacement par défauturlList- une ou plusieurs URLs absolues sur cet hôte que vous souhaitez signaler
Les moteurs rejettent les clés invalides, les hôtes incorrects ou les charges malformées. Le succès est généralement HTTP 200 ou 202 selon le point de terminaison.
Vous pouvez lire toutes les règles et la liste des partenaires sur le site officiel. Le modèle mental important est la preuve de propriété de domaine via un fichier texte plus une liste explicite d’URLs, et non des mots-clés ou le contenu de la page.
Comment préparer votre site
Fichier clé et nom d’hôte
- Choisir une clé - une longue chaîne aléatoire (traitez-la comme un secret).
- Publier
https://votre-domaine/<cle>.txtavec seulement la clé comme corps (une ligne). - Utiliser la même clé dans votre CLI ou automatisation lors de votre POST.
- Soumettre uniquement les URLs sur cet hôte que vous souhaitez faire recrawler (nouveaux articles, pages mises à jour ou cibles de redirection).
Après avoir déplacé de nombreuses URLs d’un coup, vous pouvez vouloir notifier des chemins par lot. IndexNow accepte plusieurs URLs dans une seule requête, sous réserve des limites de chaque moteur.
Méthodes de soumission des URLs
- POST manuel - bien pour le débogage, utilisez
curlavec du JSON. - Plugins - certains CMS et panneaux d’hébergement incluent des bascules IndexNow.
- Votre script de déploiement - après
hugoet le téléchargement, appelez un petit binaire avec la liste des URLs modifiées ou votre URL de sitemap.
Pour un flux de travail Hugo, les déclencheurs naturels sont “après la construction” ou “après la synchronisation vers le bucket”. Transmettez des URLs HTTPS complètes qui correspondent à votre site en ligne, y compris www vs apex si c’est ce que vous servez.
Un petit CLI Go (optionnel)
Fonctionnalités que vous pourriez implémenter
Un outil en ligne de commande minimal en Go convient bien à IndexNow car la charge est un petit POST JSON et vous pouvez le brancher dans des scripts de déploiement. Une conception typique comprend :
- URL unique ou multiples comme arguments positionnels
--sitemappour récupérer unsitemap.xmlet soumettre chaque<loc>(avec un--limitoptionnel)- Plusieurs moteurs en parallèle via
--engines(par exempleindexnowpour l’agrégateur global, ou des points de terminaison par fournisseur) - Drapeaux ou variables d’environnement tels que
INDEXNOW_KEY,INDEXNOW_WEBSITE_URLetINDEXNOW_ENGINES - Sortie verbose avec
-vpour déboguer les réponses 403 ou 422
Compilez avec go build ou go install, installez le binaire sur votre PATH, puis appelez-le après publication :
indexnow --key VOTRE_CLE --website https://www.example.com https://www.example.com/nouvel-article/
Pour un rafraîchissement complet du site après déploiement, vous pouvez passer --sitemap avec votre URL de sitemap publique. Documentez les codes de réponse et les listes de moteurs dans votre propre README, et conservez un extrait de shell publish-then-index à côté de ce qui déclenche votre déploiement statique.
L’article Meilleurs LLMs pour OpenCode - testés localement a utilisé “implémenter un notificateur IndexNow en Go” comme benchmark de codage - utile si vous voulez voir comment différents modèles gèrent la même spécification et des tâches structurées.
Conseils pratiques
- Préférez la cible moteur
indexnowlorsque vous voulez qu’une seule soumission se propage via l’infrastructure partagée (voir searchengines.json et miroitez cette liste dans votre propre client si vous supportez plusieurs points de terminaison). - 429 signifie ralentir. 403 signifie généralement un désaccord de clé ou d’hôte. Corrigez d’abord l’emplacement du fichier clé ou le nom d’hôte.
- IndexNow ne remplace pas les redirections 301 lorsque vous renommez des chemins. Notifiez après que les redirections soient en ligne.
Voir aussi
- Infrastructure Web - le cluster complet pour le déploiement et l’indexation de sites statiques
- Meilleurs LLMs pour OpenCode - testés localement - inclut un benchmark de codage réel autour de ce protocole
- Déployer un site Hugo sur AWS S3 - flux de déploiement où les hooks post-publication s’intègrent
- Protocole officiel - indexnow.org