IndexNow expliqué : notifier les moteurs de recherche lors de la publication

Mettre à jour les URL de recherche après le déploiement.

Sommaire

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.

Surveillance Web et infrastructure

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 exemple www.example.com)
  • key - votre chaîne secrète pré-générée
  • keyLocation (facultatif) - URL complète du fichier de vérification s’il n’est pas à l’emplacement par défaut
  • urlList - 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

  1. Choisir une clé - une longue chaîne aléatoire (traitez-la comme un secret).
  2. Publier https://votre-domaine/<cle>.txt avec seulement la clé comme corps (une ligne).
  3. Utiliser la même clé dans votre CLI ou automatisation lors de votre POST.
  4. 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 curl avec du JSON.
  • Plugins - certains CMS et panneaux d’hébergement incluent des bascules IndexNow.
  • Votre script de déploiement - après hugo et 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
  • --sitemap pour récupérer un sitemap.xml et soumettre chaque <loc> (avec un --limit optionnel)
  • Plusieurs moteurs en parallèle via --engines (par exemple indexnow pour l’agrégateur global, ou des points de terminaison par fournisseur)
  • Drapeaux ou variables d’environnement tels que INDEXNOW_KEY, INDEXNOW_WEBSITE_URL et INDEXNOW_ENGINES
  • Sortie verbose avec -v pour 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 indexnow lorsque 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