IndexNow : comment indexer instantanement ses pages (script gratuit inclus)

Publier un article ne garantit plus son indexation rapide. Entre les budgets de crawl, les nouveaux sites et la saturation du web, certaines pages peuvent rester invisibles pendant plusieurs jours, parfois plusieurs semaines. Pour resoudre ce probleme, Microsoft a lance IndexNow : un protocole push qui permet de notifier instantanement les moteurs de recherche lorsqu'une page est publiee ou modifiee. Dans cet article, je vous montre comment il fonctionne, comment l'implementer en 5 minutes, et je vous offre un script gratuit multi-langages pret a copier/coller.

01 Pourquoi Google indexe lentement (et pourquoi ca ne va pas s'ameliorer)

Googlebot doit explorer des milliards de pages chaque jour. Pour gerer cette charge, Google alloue a chaque site un budget de crawl : un nombre limite de pages que le robot visitera lors de chaque passage. Ce budget depend de l'autorite du domaine, de la taille du site et de la vitesse de reponse du serveur.

Pour un site neuf ou a faible autorite, ce budget est minuscule. Une page fraichement publiee peut rester invisible pendant plusieurs jours le temps que Googlebot la decouvre, la crawle, la rende, puis l'ajoute a son index. Chaque etape prend du temps, et aucune n'est garantie : Google peut tres bien crawler votre page et decider de ne pas l'indexer.

LE PROBLEME EN CHIFFRES Un site lance recemment peut attendre 3 a 10 jours pour voir sa premiere page indexee. Sur une requete concurrentielle, ce delai represente des centaines de clics perdus. IndexNow reduit ce delai a quelques minutes pour les moteurs qui le supportent.

Pourquoi le crawl classique montre ses limites en 2026

Avec l'explosion du contenu genere par IA, la quantite de nouvelles pages publiees chaque jour atteint des niveaux jamais vus. Le modele traditionnel ou Google "decouvre" passivement vos pages via des liens entrants ou un sitemap devient de moins en moins efficace pour les petits sites. Le protocole push est la reponse naturelle a cette saturation : plutot que d'attendre d'etre decouvert, vous annoncez directement votre nouveau contenu aux moteurs.

02 Qu'est-ce que IndexNow ?

IndexNow est un protocole push developpe par Microsoft Bing et Yandex. Son principe est radicalement different du crawl classique : au lieu d'attendre que les robots passent sur votre site, vous leur envoyez directement la liste des URLs a indexer via une simple requete HTTP.

Microsoft Bing
Le co-createur du protocole. Support natif complet depuis octobre 2021.
Supporte
Yandex
Co-createur. Indexation en quelques minutes apres notification.
Supporte
Seznam (Republique Tcheque)
Moteur de recherche tcheque, supporte IndexNow depuis 2022.
Supporte
Naver (Coree du Sud)
Principal moteur coreen. Supporte IndexNow depuis 2023.
Supporte
Google
N'a pas adopte IndexNow officiellement. Utiliser GSC et le sitemap XML.
Non supporte
🔍
GOOGLE ET INDEXNOW : LE POINT EN 2026 Google n'a pas integre IndexNow officiellement, mais experimente certaines integrations indirectes. Des signaux issus d'IndexNow (notamment via Bing) peuvent influencer le comportement de crawl de Googlebot. Pour maximiser la couverture, combinez toujours IndexNow avec la soumission manuelle dans Google Search Console.

Qui devrait utiliser IndexNow ?

  • Blogs et sites de contenu qui publient regulierement de nouveaux articles
  • Sites e-commerce avec des fiches produit frequemment modifiees ou ajoutees
  • Sites d'actualite ou la rapidite d'indexation est cruciale
  • Sites generes par IA avec un volume eleve de nouvelles pages quotidiennes
  • Tout site neuf qui veut accelerer son premier passage dans l'index

03 Comment fonctionne le protocole IndexNow

Le protocole est remarquablement simple. Il repose sur trois composants : une cle qui prouve votre propriete du domaine, un fichier de validation heberge sur votre serveur, et une API HTTP a laquelle vous envoyez vos URLs.

🔑
Etape 1
Generez une cle aleatoire
📄
Etape 2
Hebergez le fichier cle.txt
📤
Etape 3
Envoyez les URLs via l'API
Etape 4
Les moteurs crawleront

Quand vous soumettez une URL via l'API IndexNow, les moteurs partenaires recuperent la liste, verifient votre cle, puis declenchent un crawl prioritaire sur les URLs soumises. Le delai entre la soumission et l'indexation effective est generalement de quelques minutes a quelques heures, contre plusieurs jours en moyenne avec le crawl passif.

04 Generer sa cle IndexNow

La cle IndexNow est une chaine de caracteres unique qui lie votre domaine a vos soumissions. Voici les regles a respecter :

  • Longueur entre 8 et 128 caracteres
  • Uniquement des lettres minuscules (a-z), chiffres (0-9) et tirets (-)
  • Aucun autre caractere special (pas de slash, underscore, point)
  • Different d'un mot de passe classique (elle sera visible publiquement)

Voici un exemple de cle valide (generee aleatoirement) :

Cle IndexNow
7a72973ae25c47c99692bba5568f174a

Vous pouvez generer la votre en utilisant un generateur de UUID, un openssl rand -hex 16 dans votre terminal, ou simplement en ecrivant une chaine aleatoire de 32 caracteres. L'important est qu'elle soit unique par domaine et que vous la conserviez.

05 Heberger le fichier de validation

Une fois votre cle generee, vous devez la rendre accessible publiquement sur votre domaine pour prouver que vous en etes le proprietaire. Creez un fichier texte dont le nom est exactement votre cle, placez-le a la racine de votre site.

Structure du fichier
// Fichier : /public/7a72973ae25c47c99692bba5568f174a.txt
// Contenu du fichier : la cle, et uniquement la cle
7a72973ae25c47c99692bba5568f174a

// URL de verification :
// https://monsite.com/7a72973ae25c47c99692bba5568f174a.txt

Le fichier doit retourner un code HTTP 200 et contenir uniquement la cle, sans espaces ni sauts de ligne superflus. Pour verifier que tout fonctionne, ouvrez simplement l'URL du fichier dans votre navigateur : vous devez voir la cle s'afficher.

⚠️
ATTENTION AU REDIRECT Si votre site redirige HTTP vers HTTPS (ce qui est recommande), assurez-vous que le fichier est accessible en HTTPS directement. Une redirection 301 peut empecher la validation.

06 Script Node.js pret a l'emploi

Voici le script principal. Copiez-le, remplacez les trois variables en haut (KEY, HOST, urls), et lancez-le.

Node.js - indexnow.js
const axios = require("axios");

const KEY  = "7a72973ae25c47c99692bba5568f174a";
const HOST = "monsite.com";

const urls = [
  "https://monsite.com/article-1",
  "https://monsite.com/article-2",
  "https://monsite.com/article-3"
];

async function submitIndexNow() {
  try {
    const response = await axios.post(
      "https://api.indexnow.org/indexnow",
      {
        host: "monsite.com",
        key: "7a72973ae25c47c99692bba5568f174a",
        urlList: urls
      },
      {
        headers: {
          "Content-Type": "application/json"
        }
      }
    );
    console.log("Statut :", response.status);
    console.log("URLs envoyees avec succes");
  } catch (error) {
    console.error(
      error.response?.data || error.message
    );
  }
}

submitIndexNow();

Installation et premier lancement

  • Installer Node.js depuis nodejs.org
  • Creer un dossier et initialiser le projet : mkdir indexnow && cd indexnow && npm init -y
  • Installer Axios : npm install axios
  • Remplacer KEY par votre cle reelle
  • Remplacer HOST par votre nom de domaine (sans https://)
  • Remplacer urls par la liste de vos URLs a indexer
  • Lancer : node indexnow.js
  • 07 Script Python pret a l'emploi

    Python - indexnow.py
    import requests
    
    KEY  = "7a72973ae25c47c99692bba5568f174a"
    HOST = "monsite.com"
    
    urls = [
        "https://monsite.com/article-1",
        "https://monsite.com/article-2",
        "https://monsite.com/article-3"
    ]
    
    def submit_indexnow():
        payload = {
            "host": HOST,
            "key": KEY,
            "urlList": urls
        }
    
        try:
            r = requests.post(
                "https://api.indexnow.org/indexnow",
                json=payload,
                headers={"Content-Type": "application/json"}
            )
            print(f"Statut : {r.status_code}")
            print(r.text)
        except Exception as e:
            print(f"Erreur : {e}")
    
    submit_indexnow()
  • Installer requests : pip install requests
  • Lancer : python indexnow.py
  • 08 Script PHP et WordPress

    Pour un site PHP classique ou WordPress, voici deux approches.

    Script PHP autonome

    PHP - indexnow.php
    <?php
    
    $key  = "7a72973ae25c47c99692bba5568f174a";
    $host = "monsite.com";
    
    $urls = [
        "https://monsite.com/article-1",
        "https://monsite.com/article-2"
    ];
    
    $payload = json_encode([
        "host"    => $host,
        "key"     => $key,
        "urlList" => $urls
    ]);
    
    $ch = curl_init("https://api.indexnow.org/indexnow");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        "Content-Type: application/json"
    ]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
    $response = curl_exec($ch);
    $httpCode  = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    echo "Statut : $httpCode\n";
    echo "Reponse : $response\n";

    Integration WordPress (functions.php)

    PHP - WordPress functions.php
    // A ajouter dans le functions.php de votre theme
    add_action("publish_post", function($post_id, $post) {
        $key  = "VOTRE_CLE_INDEXNOW";
        $host = parse_url(home_url(), PHP_URL_HOST);
        $url  = get_permalink($post_id);
    
        $payload = json_encode([
            "host"    => $host,
            "key"     => $key,
            "urlList" => [$url]
        ]);
    
        wp_remote_post("https://api.indexnow.org/indexnow", [
            "body"    => $payload,
            "headers" => ["Content-Type" => "application/json"]
        ]);
    }, 10, 2);
    💡
    WordPress : le hook publish_post Avec ce code, chaque fois que vous publiez un nouvel article, son URL est automatiquement envoyee a IndexNow. Aucune action manuelle requise. Vous pouvez aussi ajouter le hook post_updated pour notifier lors des mises a jour d'articles existants.

    09 Automatiser l'indexation avec un cron job

    L'interet principal d'IndexNow est l'automatisation. Une fois le script en place, vous le branchez sur un cron job qui s'execute a intervalle regulier, ou sur un webhook declenche a chaque publication.

    Cron job Linux (toutes les heures)

    Bash - crontab
    # Executer le script toutes les heures
    0 * * * * /usr/bin/node /home/user/indexnow/indexnow.js
    
    # Version Python
    0 * * * * /usr/bin/python3 /home/user/indexnow/indexnow.py

    Webhook Next.js / Vercel

    TypeScript - Next.js API Route
    // pages/api/indexnow.ts ou app/api/indexnow/route.ts
    export async function POST(request: Request) {
      const { urls } = await request.json();
    
      const res = await fetch("https://api.indexnow.org/indexnow", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({
          host: "monsite.com",
          key: "VOTRE_CLE",
          urlList: urls
        })
      });
    
      return Response.json({
        status: res.status,
        indexed: urls.length
      });
    }
    💡
    Combiner cron + sitemap dynamique La strategie la plus efficace : un script qui parse votre sitemap XML, extrait les URLs publiees dans les dernieres 24h, et les soumet via IndexNow. Vous pouvez le faire tourner en cron toutes les heures. Resultat : toute nouvelle page est notifiee aux moteurs en moins de 60 minutes.

    10 Les erreurs frequentes et comment les corriger

    403
    Forbidden. Cle absente, invalide, ou fichier de validation inaccessible.
    Verifier que le fichier .txt est accessible en HTTPS et contient la bonne cle
    422
    Unprocessable Entity. L'URL soumise ne correspond pas au domaine declare.
    Verifier que chaque URL commence bien par https://monsite.com
    429
    Too Many Requests. Vous envoyez trop de requetes en trop peu de temps.
    Limiter a 100 URLs par appel, espacer les appels d'au moins 1 seconde
    200
    OK. Requete recue, mais l'indexation n'est pas garantie immediatement.
    Verifier dans Bing Webmaster Tools 24h plus tard que l'URL est bien indexee

    Autres points de vigilance

    • Le fichier .txt ne doit contenir que la cle, sans HTML ni espaces superflus
    • La cle et le host doivent correspondre exactement a ceux du fichier de validation
    • Ne pas depasser 10 000 URLs par jour (limite recommandee par Bing)

    11 Le mythe de la "fausse cle" : pourquoi un code 200 ne suffit pas

    Vous avez peut-etre vu circuler l'information selon laquelle IndexNow fonctionne meme avec une cle invalide. Cette observation est partiellement vraie, mais trompeuse. Voici ce qui se passe reellement :

    L'API IndexNow repond parfois 200 OK meme si la cle est incorrecte ou absente. Le serveur accuse reception de votre requete, mais la validation de la cle est differee. Le traitement asynchrone signifie que l'API accepte d'abord le payload (code 200), puis verifie la cle dans un second temps. Si la cle est invalide, les URLs seront silencieusement ignorees par les moteurs.

    🚨
    LE PIEGE DU FAUX SUCCES Ne vous fiez jamais au code HTTP seul. La seule verification fiable est de chercher votre URL dans Bing quelques heures apres la soumission. Si elle n'apparait pas, votre cle est probablement invalide ou le fichier de validation est mal configure.

    Comment verifier que tout fonctionne

    1. Verifiez que votre fichier VOTRE_CLE.txt est accessible en HTTPS et retourne bien la cle.
    2. Soumettez une URL de test via le script.
    3. Attendez 5 a 10 minutes, puis cherchez url:VOTRE_URL dans Bing.
    4. Si l'URL apparait dans les resultats Bing dans l'heure, votre configuration est correcte.

    12 Bonus SEO : combiner IndexNow avec les autres leviers d'indexation

    IndexNow est un accelerateur puissant, mais il ne remplace pas les fondamentaux. Pour maximiser la vitesse d'indexation de vos pages, combinez-le systematiquement avec :

    • Sitemap XML a jour et soumis dans Google Search Console et Bing Webmaster Tools
    • Google Search Console : soumettez manuellement l'URL via l'outil d'inspection pour les pages critiques
    • Bing Webmaster Tools : verifiez l'etat d'indexation de vos URLs soumises via IndexNow
    • Maillage interne : chaque nouvelle page doit avoir au moins un lien interne depuis une page deja indexee
    • Robots.txt : verifiez que votre fichier robots.txt n'interdit pas l'acces aux pages que vous voulez indexer
    • Ne comptez pas uniquement sur IndexNow : le crawl classique et les backlinks restent les signaux les plus forts

    Passez a l'indexation instantanee

    Copiez le script correspondant a votre stack technique, remplacez les variables, et lancez votre premiere soumission en moins de 5 minutes. Automatisez avec un cron job pour ne plus jamais vous soucier de l'indexation de vos nouvelles pages.

    ⚡ Auditer votre site avec SEO Titan