vendredi 25 septembre 2026

À propos

Contact

SEO & GEO

Automatiser Search Console avec son API pour suivre l’indexation WordPress

Interroger l'API Search Console depuis WordPress permet de suivre l'indexation de centaines d'URL sans ouvrir l'interface web une par une.

Par Clément Hadrot • 10 janvier 2023 • 4 min de lecture • Aucun commentaire
Automatiser Search Console avec son API pour suivre l'indexation WordPress

Une agence suivait l’indexation de son catalogue de 600 fiches produits en ouvrant Search Console à la main, une URL à la fois, pour vérifier lesquelles étaient réellement indexées après une refonte de catégorisation. Le processus prenait une demi-journée par contrôle mensuel. L’API Search Console, disponible depuis des années mais peu documentée pour un usage WordPress concret, a permis de ramener ce contrôle à un script exécuté en quelques minutes.

Cet article couvre la mise en place technique de l’automatisation. L’interprétation manuelle fine des rapports de couverture, avec ses catégories d’erreurs et d’avertissements, est traitée dans un article séparé.

Étape 1 : créer un compte de service Google Cloud

L’API Search Console s’authentifie via un compte de service, pas via le compte Google personnel utilisé dans l’interface. Depuis la console Google Cloud, il faut activer l’API « Search Console API », créer un compte de service, générer une clé JSON, puis ajouter l’adresse e-mail de ce compte de service comme utilisateur (lecture seule suffit pour l’inspection) dans les paramètres de la propriété Search Console concernée.

Étape 2 : installer le client PHP officiel

Le client officiel Google pour PHP s’installe via Composer dans le thème ou une extension maison :

composer require google/apiclient:^2.15

Étape 3 : authentifier la requête depuis WordPress

L'essentiel à retenir : Un compte de service Google Cloud remplace l'authentification interactive ; L'endpoint urlInspection.index.inspect renvoie le statut réel d'indexation ; La limite de 2 000 requêtes par jour impose de prioriser les URL critiques
use Google\Client;
use Google\Service\SearchConsole;

$client = new Client();
$client->setAuthConfig( WP_CONTENT_DIR . '/service-account.json' );
$client->addScope( SearchConsole::WEBMASTERS_READONLY );

$service = new SearchConsole( $client );

Le fichier de clé JSON ne doit jamais être placé dans un répertoire accessible publiquement : sur ce projet, il a été stocké hors de la racine web, avec le chemin renseigné en constante dans wp-config.php.

Étape 4 : interroger le statut d’indexation d’une URL

L’endpoint d’inspection d’URL (urlInspection.index.inspect) renvoie l’état réel tel que Google le connaît, bien plus précis qu’une simple vérification de présence dans le sitemap :

$request = new Google\Service\SearchConsole\InspectUrlIndexRequest([
    'inspectionUrl' => 'https://exemple.fr/produit/bougie-parfumee-cedre/',
    'siteUrl'       => 'sc-domain:exemple.fr',
]);

$result = $service->urlInspection_index->inspect( $request );
echo $result->getInspectionResult()->getIndexStatusResult()->getVerdict();
// INDEXING_ALLOWED, PASS, NEUTRAL, FAIL...

Étape 5 : boucler sur le catalogue avec gestion du quota

Le quota standard de l’API d’inspection d’URL est de 2 000 requêtes par jour et par propriété. Sur un catalogue de 600 produits, un contrôle complet tient largement dans cette limite, mais un site plus volumineux doit prioriser. Le script maison utilisé ici s’appuie sur une tâche planifiée WP-Cron, en lot de cinquante URL par exécution :

add_action( 'verifier_indexation_lot', function() {
    $produits = get_posts( array(
        'post_type'      => 'product',
        'posts_per_page' => 50,
        'meta_key'       => '_verifie_indexation',
        'meta_compare'   => 'NOT EXISTS',
    ) );

    foreach ( $produits as $produit ) {
        // appel API, puis :
        update_post_meta( $produit->ID, '_statut_indexation', $verdict );
        update_post_meta( $produit->ID, '_verifie_indexation', current_time( 'mysql' ) );
    }
} );

Vérifiable avec WP-CLI pour déclencher un test manuel sans attendre la planification :

wp cron event run verifier_indexation_lot

Ce que ça a révélé concrètement

Sur ce catalogue, 34 fiches produits remontaient un verdict NEUTRAL (explorée, mais non indexée) alors qu’elles apparaissaient normalement dans le sitemap et n’avaient reçu aucune erreur de crawl. Sans cette automatisation, ces 34 URL seraient restées invisibles jusqu’au prochain contrôle manuel, plusieurs mois plus tard.

En résumé

Automatiser l’appel à l’API Search Console depuis WordPress transforme un contrôle d’indexation fastidieux en tâche planifiée silencieuse, et surtout révèle des statuts (comme NEUTRAL) invisibles depuis un simple contrôle du sitemap. Le quota de 2 000 requêtes quotidiennes reste largement suffisant pour la majorité des catalogues de taille moyenne.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi