Home Documentazione Crawler SEO on-page
Documentazione del crawler

GSCWizard-Bot | il controllo SEO on-page di GSC Wizard

GSCWizard-Bot/1,0 (On-Page SEO Checker) è lo user agent che GSC Wizard usa per alimentare il report SEO on-page. Scarica una sola pagina HTML alla volta per verificare se le query con il miglior posizionamento di una pagina in Google Search Console compaiono nei tag <title>, <meta name="description"> e <h1> della pagina. Può anche richiedere file di supporto come il tuo robots.txt e il tuo sitemap.xml.

Stringa dello user agent
GSCWizard-Bot/1.0 (On-Page SEO Checker)
Scopo
Controlli SEO on-page
Attivazione
Solo su richiesta dell'utente
Rispetta il robots.txt
Sì
Cache
Fino a 7 giorni per URL

Cos'è GSCWizard-Bot?

GSCWizard-Bot è il crawler che alimenta il report SEO on-page all'interno di GSC Wizard. Si attiva solo quando un utente autenticato apre il report per una proprietà di Google Search Console che gli appartiene: non scansiona il web aperto, non segue i link e non costruisce alcun tipo di indice.

Se vedi questo user agent nei tuoi log di accesso, significa che un proprietario verificato del tuo sito (o qualcuno con accesso alla tua proprietà di Search Console) ha aperto il controllo SEO on-page in GSC Wizard e gli ha chiesto di analizzare le tue pagine.

Lo stesso user agent viene usato quando un proprietario autenticato chiede a GSC Wizard (o al server MCP di GSC Wizard) di leggere una delle tue sitemap XML, ad esempio nel report Rendimento delle sitemap, che incrocia gli URL di una sitemap con i relativi clic e impression di Search Console. Si tratta di una singola richiesta per il file della sitemap (più le sitemap figlie nel caso di un indice di sitemap), mai di una scansione degli URL elencati.

Per questo potresti vedere GSCWizard-Bot richiedere anche file come robots.txt e sitemap.xml. Il bot legge il robots.txt per scoprire le direttive Sitemap: che contiene (ripiegando su /sitemap.xml se non ce ne sono) e poter così verificare quali delle tue pagine sono incluse nella sitemap XML.

Cosa controlla il crawler

Per ogni pagina che scarica, GSCWizard-Bot estrae tre elementi HTML e li confronta con la query con più impression per cui quella pagina è già posizionata in Google Search Console negli ultimi 28 giorni.

1 Title della pagina: <title>

Legge il contenuto del tag <title> e verifica se ogni parola significativa (3+ caratteri) della query principale di GSC compare al suo interno. Mostra il title attuale parola per parola insieme a un indicatore di esito positivo o negativo.

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

Legge l'attributo content della meta description e verifica la stessa copertura delle keyword. Registra anche la lunghezza attuale in caratteri.

3 Intestazioni H1: <h1>

Estrae ogni <h1> della pagina e verifica se qualcuno contiene le keyword target.

Tutto qui. GSCWizard-Bot non esegue JavaScript, non effettua il rendering delle pagine, non scarica fogli di stile o script, non segue i link all'interno delle tue pagine e non raccoglie nessun altro dato. Per i controlli sulle pagine legge solo la risposta HTML grezza. L'unica eccezione è l'audit del feed: quando un merchant collega il proprio account Google Merchant Center, il bot scarica le immagini dei prodotti indicate nel feed di quel merchant per misurarne le dimensioni in pixel. Ogni richiesta di immagine chiede solo i primi 64 KB (una richiesta a intervallo), il bot conserva larghezza e altezza e scarta i byte. Legge prima il robots.txt dell'host dell'immagine, come fa per le pagine, e salta le immagini che quel robots.txt non consente. Non scarica mai le immagini che trova all'interno di una pagina.

Comportamento di scansione

Una richiesta per URL per esecuzione, timeout di 10 secondi

All'interno di una singola esecuzione ogni URL viene scaricato una sola volta, con un timeout rigido di 10 secondi. I redirect vengono seguiti (fino a cinque salti, ciascuno ricontrollato). Lo stesso URL può essere scaricato di nuovo da un'esecuzione successiva, ad esempio quando si ripete un audit programmato o il titolare del sito rilancia un report, quindi nel tempo puoi vedere richieste ripetute per lo stesso URL.

Risultati in cache fino a 7 giorni

Gli URL scansionati con successo vengono salvati e riutilizzati fino a 7 giorni dalle esecuzioni programmate in background. Quando un utente rilancia il report parte sempre una nuova scansione, quindi le modifiche a un title, a una meta description o a un H1 compaiono subito: per questo puoi vedere richieste ripetute per lo stesso URL quando il titolare del sito ci sta lavorando attivamente.

Numero di pagine limitato

Una scansione delle pagine (controlli on-page e scansione dei link interni) copre al massimo 1.000 pagine per esecuzione, sempre pagine della proprietà stessa, selezionate tra gli URL che Search Console riporta per essa. Un audit del feed copre ogni URL di prodotto distinto nel feed Merchant Center del merchant e le immagini a cui quelle voci rimandano; non ha un limite fisso di pagine ed è limitato invece da regole di cortesia: un numero ridotto di richieste parallele per host, un rallentamento ogni volta che il tuo server risponde 429 o 503 e le regole del robots.txt descritte di seguito.

Il robots.txt viene controllato prima di ogni richiesta

Prima di ogni richiesta di una pagina live o di un'immagine del feed, il crawler scarica il tuo robots.txt (una volta per sito per esecuzione) e valuta le regole Allow / Disallow per GSCWizard-Bot (ripiegando su *), inclusi i caratteri jolly * e gli ancoraggi $. Gli URL non consentiti non vengono mai scaricati; vengono invece segnalati all'utente nel report. Un robots.txt mancante o irraggiungibile viene trattato come “consenti tutto”.

Può richiedere il robots.txt e le sitemap XML

Per i controlli sulla copertura delle sitemap il crawler richiede /robots.txt per trovare le direttive Sitemap:, ripiega su /sitemap.xml e segue un indice di sitemap per un solo livello di profondità (al massimo 50 file sitemap / 50.000 URL). Gli URL delle sitemap vengono usati solo per il confronto: non vengono mai messi in coda per la scansione.

Solo HTML, nessun rendering JS

Invia Accept: text/html e analizza direttamente il corpo della risposta. Nessun browser headless, nessuna esecuzione di script, nessun download di risorse.

Protetto da SSRF

Gli URL che puntano a intervalli di IP privati, interni o di loopback vengono bloccati prima che venga fatta qualsiasi richiesta di rete.

Come consentire GSCWizard-Bot

La maggior parte dei siti non richiede alcuna modifica. Se usi un WAF, un livello di gestione dei bot o un firewall restrittivo e il report SEO on-page torna vuoto (o con errori HTTP 403 / 429), inserisci lo user agent nella whitelist.

robots.txt (consenso esplicito)

User-agent: GSCWizard-Bot
Allow: /

Cloudflare WAF e Bot Fight Mode

Per le tue regole personalizzate (blocchi per paese, regole ASN e simili), aggiungi una regola in Security → WAF → Custom rules e posizionala sopra le regole che bloccano:

(http.user_agent contains "GSCWizard-Bot")

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

Questo non funziona per Bot Fight Mode, la protezione dai bot del piano Free di Cloudflare. Cloudflare la esegue al di fuori del WAF, quindi le azioni Skip e Allow e le Page Rules non hanno alcun effetto su di essa. A meno di disattivarla, l'unica eccezione che rispetta è una IP Access Rule che corrisponda per prima alla richiesta; scrivici per ottenere il nostro indirizzo server attuale. GSCWizard-Bot è ora un bot verificato da Cloudflare (vedi Verifica dello user agent), che le impostazioni bot predefinite di Cloudflare lasciano passare, quindi prova prima senza la regola. Una IP Access Rule fa passare quell'indirizzo anche oltre gli altri tuoi controlli di sicurezza, quindi aggiungine una solo se le richieste vengono ancora sfidate.

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>

Come bloccare GSCWizard-Bot

GSCWizard-Bot controlla il tuo robots.txt prima di ogni richiesta di pagina e ne rispetta le regole. Aggiungi la regola seguente per impedire a GSCWizard-Bot di scaricare qualsiasi pagina del tuo sito: gli URL bloccati vengono saltati e segnalati nel report come “Bloccato da robots.txt” invece di essere scansionati:

User-agent: GSCWizard-Bot
Disallow: /

Se preferisci un blocco netto a livello di edge, va bene qualsiasi regola che rifiuti le richieste in cui l'header User-Agent corrisponde a GSCWizard-Bot: basta invertire le regole di consenso viste sopra.

Verifica dello user agent

Il nostro crawler invia una di tre stringhe user agent. Il controllo SEO on-page (verifiche su title / meta description / H1 e letture delle sitemap) usa la prima; l'audit tecnico esteso (che effettua anche le richieste al robots.txt e di scoperta delle sitemap) usa la seconda; l'audit del feed di Merchant Center usa la terza quando misura le dimensioni delle immagini dei prodotti indicate nel feed del merchant:

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

Tutte e tre condividono il prefisso GSCWizard-Bot, quindi basta una sola regola sulla sottostringa per coprirle. Le richieste di pagina portano Accept: text/html e provengono dai nostri server applicativi. Una stringa user agent, però, non prova nulla da sola: chiunque può copiarla. Se vuoi la certezza, controlla la firma descritta di seguito.

Verifica crittografica (Web Bot Auth)

Ogni richiesta di GSCWizard-Bot è firmata con una chiave Ed25519 usando le HTTP Message Signatures (RFC 9421), lo stesso schema Web Bot Auth che Cloudflare usa per identificare i bot verificati. Una richiesta firmata contiene tre header aggiuntivi:

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=:...:

La nostra chiave pubblica è pubblicata come JSON Web Key Set su tool.gscwizard.com/.well-known/http-message-signatures-directory. Verifica la firma rispetto a quella chiave e saprai che la richiesta arriva da noi e non è stata riproposta su un host diverso: la firma copre l'host a cui è stata inviata e scade dopo cinque minuti.

GSCWizard-Bot è presente nella directory dei bot verificati di Cloudflare con questa chiave, quindi su un sito Cloudflare la firma viene controllata al posto tuo. Cloudflare esclude i bot verificati dalle sue impostazioni bot predefinite, e puoi riconoscerli nelle regole personalizzate con il campo Known Bots, cf.client.bot.

Se vedi una richiesta che dichiara di essere GSCWizard-Bot senza una firma valida, non siamo noi: trattala di conseguenza e, per favore, segnalacelo.

Domande o segnalazioni di abusi

Se ritieni che GSCWizard-Bot si comporti in modo scorretto, scansioni più di quanto descritto sopra, o se vuoi che smettiamo del tutto di scansionare il tuo sito, contattaci:

Consigli su Search Console nella tua casella di posta

Workflow pratici per GSC e GA4, aggiornamenti del prodotto ed esperimenti SEO. Niente spam, puoi annullare l'iscrizione quando vuoi.