Accueil Docs Crawler SEO on-page
Documentation du crawler

GSCWizard-Bot | le vérificateur SEO on-page de GSC Wizard

GSCWizard-Bot/1,0 (On-Page SEO Checker) est le user agent utilisé par GSC Wizard pour alimenter le rapport SEO on-page. Il récupère une seule page HTML à la fois pour vérifier si les requêtes les mieux positionnées d'une page dans Google Search Console apparaissent dans ses balises <title>, <meta name="description"> et <h1>. Il peut aussi demander des fichiers annexes, comme vos fichiers robots.txt et sitemap.xml.

Chaîne du user agent
GSCWizard-Bot/1.0 (On-Page SEO Checker)
Rôle
Vérifications SEO on-page
Déclenchement
Uniquement à l'initiative de l'utilisateur
Respecte le robots.txt
Oui
Cache
Jusqu'à 7 jours par URL

Qu'est-ce que GSCWizard-Bot ?

GSCWizard-Bot est le crawler qui alimente le rapport SEO on-page de GSC Wizard. Il ne s'exécute que lorsqu'un utilisateur connecté ouvre le rapport d'une propriété Google Search Console qui lui appartient : il n'explore pas le web ouvert, ne suit pas les liens et ne construit aucun index.

Si vous voyez ce user agent dans vos logs d'accès, cela signifie qu'un propriétaire vérifié de votre site (ou une personne ayant accès à votre propriété Search Console) a ouvert le vérificateur SEO on-page dans GSC Wizard et lui a demandé d'analyser vos pages.

Le même user agent est utilisé lorsqu'un propriétaire connecté demande à GSC Wizard (ou au serveur MCP de GSC Wizard) de lire l'un de vos sitemaps XML, par exemple dans le rapport Performances des sitemaps, qui associe les URL d'un sitemap à leurs clics et impressions dans Search Console. Il s'agit d'une seule requête portant sur le fichier sitemap lui-même (plus ses sitemaps enfants dans le cas d'un index de sitemaps), jamais d'une exploration des URL qu'il liste.

Vous pouvez donc aussi voir GSCWizard-Bot demander des fichiers comme robots.txt et sitemap.xml. Le bot lit le robots.txt pour y trouver les directives Sitemap: (en se rabattant sur /sitemap.xml si aucune n'est indiquée) afin de vérifier quelles pages figurent dans votre sitemap XML.

Ce que le crawler vérifie

Pour chaque page récupérée, GSCWizard-Bot extrait trois éléments HTML et les compare à la requête générant le plus d'impressions pour laquelle cette page est déjà positionnée dans Google Search Console sur les 28 derniers jours.

1 Titre de la page : <title>

Lit le contenu de la balise <title> et vérifie que chaque mot significatif (3 caractères ou plus) de la requête principale dans GSC y figure. Affiche le title actuel tel quel, avec un indicateur réussi/échoué.

2 Meta description : <meta name="description">

Lit l'attribut content de la meta description et vérifie la même couverture de mots-clés. Enregistre aussi sa longueur actuelle en caractères.

3 Titres H1 : <h1>

Extrait chaque balise <h1> de la page et vérifie si l'une d'elles contient les mots-clés cibles.

C'est tout. GSCWizard-Bot n'exécute pas de JavaScript, n'effectue pas le rendu des pages, ne télécharge ni feuilles de style ni scripts, ne suit pas les liens présents dans vos pages et ne collecte aucune autre donnée. Pour les vérifications de pages, il lit uniquement la réponse HTML brute. La seule exception est l'audit de flux : lorsqu'un marchand connecte son propre compte Google Merchant Center, le bot récupère les images produit référencées dans le flux de ce marchand pour mesurer leurs dimensions en pixels. Chaque requête d'image ne demande que les 64 premiers Ko (une requête par plage), le bot conserve la largeur et la hauteur, puis supprime les octets. Il lit d'abord le robots.txt de l'hôte de l'image, comme pour les pages, et ignore toute image que ce robots.txt interdit. Il ne récupère jamais les images qu'il trouve à l'intérieur d'une page.

Comportement d'exploration

Une requête par URL et par exécution, délai d'expiration de 10 secondes

Au sein d'une même exécution, chaque URL n'est récupérée qu'une fois, avec un délai d'expiration strict de 10 secondes. Les redirections sont suivies (jusqu'à cinq sauts, chacun étant revérifié). La même URL peut être récupérée de nouveau lors d'une exécution ultérieure, par exemple quand un audit planifié se répète ou quand le propriétaire d'un site relance un rapport : vous pouvez donc voir des requêtes répétées pour une même URL au fil du temps.

Résultats mis en cache jusqu'à 7 jours

Les URL explorées avec succès sont stockées et réutilisées pendant 7 jours maximum par les exécutions planifiées en arrière-plan. Lorsqu'un utilisateur relance le rapport, une nouvelle exploration est toujours déclenchée : les modifications d'un title, d'une meta description ou d'un H1 apparaissent donc immédiatement, ce qui explique que vous puissiez voir des requêtes répétées pour une même URL lorsque le propriétaire du site travaille activement dessus.

Nombre de pages limité

Une exploration de pages (vérifications on-page et exploration des liens internes) couvre au maximum 1 000 pages par exécution, toujours les pages de la propriété elle-même, sélectionnées parmi les URL que Search Console signale pour celle-ci. Un audit de flux couvre chaque URL produit distincte du flux Merchant Center du marchand lui-même, ainsi que les images référencées par ces entrées de flux ; il n'a pas de plafond de pages fixe et reste borné par la courtoisie : un petit nombre de requêtes parallèles par hôte, un retrait dès que votre serveur répond 429 ou 503, et les règles du robots.txt décrites ci-dessous.

Le robots.txt est vérifié avant chaque requête

Avant toute récupération d'une page en direct ou d'une image de flux, le crawler télécharge votre robots.txt (une fois par site et par exécution) et évalue ses règles Allow / Disallow pour GSCWizard-Bot (avec repli sur *), y compris les jokers * et les ancres $. Les URL interdites ne sont jamais récupérées ; elles sont signalées à l'utilisateur dans le rapport. Un robots.txt absent ou inaccessible est traité comme « tout autoriser ».

Peut demander le robots.txt et les sitemaps XML

Pour les vérifications de couverture des sitemaps, le crawler demande /robots.txt afin d'y trouver les directives Sitemap:, se rabat sur /sitemap.xml et suit un index de sitemaps sur un seul niveau de profondeur (au maximum 50 fichiers sitemap / 50 000 URL). Les URL des sitemaps ne servent qu'à la comparaison : elles ne sont jamais placées en file d'attente pour être explorées.

HTML uniquement, sans rendu JS

Envoie Accept: text/html et analyse directement le corps de la réponse. Pas de navigateur headless, pas d'exécution de scripts, pas de récupération de ressources.

Protégé contre les SSRF

Les URL qui se résolvent vers des plages d'adresses IP privées, internes ou de bouclage sont bloquées avant toute requête réseau.

Comment autoriser GSCWizard-Bot

La plupart des sites n'ont rien à modifier. Si vous utilisez un WAF, une couche de gestion des bots ou un pare-feu restrictif et que le rapport SEO on-page revient vide (ou avec des erreurs HTTP 403 / 429), ajoutez le user agent à votre liste blanche.

robots.txt (autorisation explicite)

User-agent: GSCWizard-Bot
Allow: /

Cloudflare WAF et Bot Fight Mode

Pour vos propres règles personnalisées (blocages par pays, règles ASN, etc.), ajoutez une règle dans Security → WAF → Custom rules et placez-la au-dessus des règles qui bloquent :

(http.user_agent contains "GSCWizard-Bot")

Action: Skip → All remaining custom rules
        (Pro plans and above: also All Super Bot Fight Mode rules)

Cela ne fonctionne pas pour le Bot Fight Mode, la protection contre les bots de l'offre gratuite de Cloudflare. Cloudflare l'exécute en dehors du WAF : les actions Skip et Allow ainsi que les Page Rules n'ont donc aucun effet sur lui. À moins de le désactiver, la seule exception qu'il respecte est une IP Access Rule qui correspond en premier à la requête ; écrivez-moi pour obtenir l'adresse actuelle de mon serveur. GSCWizard-Bot est désormais un bot vérifié par Cloudflare (voir Vérifier le user agent), que les paramètres de bots par défaut de Cloudflare laissent tranquille : essayez donc d'abord sans la règle. Une IP Access Rule laisse aussi cette adresse passer outre vos autres contrôles de sécurité ; n'en ajoutez une que si les requêtes sont encore soumises à un challenge.

Nginx

if ($http_user_agent ~* "GSCWizard-Bot") {
    set $allow_bot 1;
}
# use $allow_bot to bypass rate limits / challenges

Apache

SetEnvIfNoCase User-Agent "GSCWizard-Bot" allow_bot
<RequireAll>
    Require all granted
    Require env allow_bot
</RequireAll>

Comment bloquer GSCWizard-Bot

GSCWizard-Bot consulte votre robots.txt avant chaque récupération de page et en respecte les règles. Ajoutez la règle suivante pour empêcher GSCWizard-Bot de récupérer la moindre page de votre site : les URL bloquées sont ignorées et signalées comme « Bloquée par robots.txt » dans le rapport au lieu d'être explorées :

User-agent: GSCWizard-Bot
Disallow: /

Si vous préférez un blocage strict en périphérie, toute règle qui rejette les requêtes dont l'en-tête User-Agent correspond à GSCWizard-Bot fera l'affaire : inversez simplement les règles d'autorisation ci-dessus.

Vérifier le user agent

Mon crawler envoie l'une de ces trois chaînes de user agent. Le vérificateur SEO on-page (vérifications du title, de la meta description et du H1, et lectures de sitemaps) utilise la première ; l'audit technique étendu (qui effectue aussi les requêtes de robots.txt et de découverte de sitemaps) utilise la deuxième ; l'audit de flux Merchant Center utilise la troisième lorsqu'il mesure les dimensions des images produit référencées par le flux du marchand lui-même :

GSCWizard-Bot/1.0 (On-Page SEO Checker)
GSCWizard-Bot/1.0 (Full On-Page Checker)
GSCWizard-Bot/1.0 (Feed Audit image probe)

Les trois partagent le préfixe GSCWizard-Bot : une seule règle sur une sous-chaîne les couvre donc toutes. Les requêtes de pages portent Accept: text/html et proviennent de mes serveurs d'application. Une chaîne de user agent ne prouve toutefois rien à elle seule, car n'importe qui peut la copier. Si vous voulez une certitude, vérifiez la signature décrite ci-dessous.

Vérification cryptographique (Web Bot Auth)

Chaque requête de GSCWizard-Bot est signée avec une clé Ed25519 à l'aide des HTTP Message Signatures (RFC 9421), le même schéma Web Bot Auth que Cloudflare utilise pour identifier les bots vérifiés. Une requête signée comporte trois en-têtes supplémentaires :

Signature-Agent: "https://tool.gscwizard.com/.well-known/http-message-signatures-directory"
Signature-Input: sig1=("@authority" "signature-agent");created=...;keyid="...";alg="ed25519";expires=...;nonce="...";tag="web-bot-auth"
Signature: sig1=:...:

Ma clé publique est publiée sous forme de JSON Web Key Set à l'adresse tool.gscwizard.com/.well-known/http-message-signatures-directory. Vérifiez la signature avec cette clé et vous saurez que la requête vient bien de moi et qu'elle n'a pas été rejouée sur un autre hôte : la signature couvre l'hôte auquel elle a été envoyée et expire au bout de cinq minutes.

GSCWizard-Bot figure dans l'annuaire des bots vérifiés de Cloudflare avec cette clé : sur un site Cloudflare, la signature est donc vérifiée pour vous. Cloudflare exclut les bots vérifiés de ses paramètres de bots par défaut, et vous pouvez les cibler dans des règles personnalisées avec le champ Known Bots, cf.client.bot.

Si vous voyez une requête qui prétend venir de GSCWizard-Bot sans signature valide, elle ne vient pas de moi : traitez-la en conséquence et signalez-la-moi, s'il vous plaît.

Questions ou signalements d'abus

Si vous pensez que GSCWizard-Bot se comporte mal, explore plus que ce qui est décrit ci-dessus, ou si vous souhaitez que j'arrête complètement d'explorer votre site, n'hésitez pas à me contacter :

Des astuces Search Console dans votre boîte mail

Des méthodes concrètes pour GSC et GA4, les nouveautés du produit et des expériences SEO. Pas de spam, désinscription à tout moment.