seojuice

Come costruire un workflow SEO basato su agenti (senza che finisca per pubblicare spazzatura)

Vadim Kravcenko
Vadim Kravcenko
· Updated · 12 min read

La maggior parte degli articoli che ho letto sull’“agentic SEO” negli ultimi sei mesi non sono altro che pitch commerciali mascherati da tutorial. Si aprono con una definizione che confonde uno script schedulato con un vero agente, citano due o tre tool che l’autore vende, promettono un motore di contenuti auto-aggiornante che non richiede supervisione e si chiudono con il pulsante “prenota demo”. Arrivato alla fine, di solito so meno di quanto sapessi all’inizio.

Un workflow SEO agentico esiste davvero ed è degno di essere costruito, ma non nei termini descritti dai venditori. È un loop che rileva, decide, pianifica, esegue e verifica. Il grosso del valore sta nella fase di decisione; il grosso del rischio sta nella fase di esecuzione. La differenza tra un agente utile e un disastro di brand è esattamente un gate di approvazione umana prima della pubblicazione.

Nel nostro portfolio su SEOJuice questo loop gira da oltre un anno e ho aiutato diversi team in-house a implementarlo. L’architettura è identica; gli strumenti a ogni layer sono intercambiabili; la parte interessante è la fase di decisione. In questo articolo percorriamo il loop in cinque fasi, gli strumenti di ciascuna, i failure mode che lo interrompono, l’albero decisionale per capire quando un agente è eccessivo e una stima onesta dei costi.

TL;DR:

  • Un workflow SEO agentico è un loop, non uno script. Cinque fasi: Sense (legge GSC e SERP), Decide (ordina cosa aggiornare), Plan (fa l’outline del cambiamento), Execute (scrive la patch), Verify (confronta prima e dopo). L’architettura è identica che si usi Claude Agent SDK più n8n o Make più OpenAI.
  • La fase Decide è dove l’agente si guadagna il suo costo. Chiunque può collegare un writer; il problema difficile è scegliere la pagina giusta da toccare questa settimana. Una buona fase Decide combina delta GSC week-over-week, logica per fasce di posizione, età del contenuto e monitoraggio competitor.
  • Non lasciarlo pubblicare da solo. Il pitch “set and forget” completamente autonomo è un disastro di brand in attesa di accadere. Ogni loop ha bisogno di un gate di approvazione umana prima che la patch arrivi al CMS. L’agente è l’analista; l’umano è l’editor.
Ciclo SEO agentico in cinque fasi con frecce da Sense (GSC + scraping SERP) attraverso Decide, Plan, Execute e Verify, che torna a Sense la settimana successiva
Il loop in cinque fasi. Sense e Verify sono in sola lettura. Decide è dove l’agente dimostra il suo valore. Execute è dove vive il rischio. La freccia da Verify a Sense è ciò che lo rende agentico anziché uno script schedulato.

Cosa significa davvero “agentic” (e le cinque fasi del loop)

La parola “agentic” ha fatto moltissimo lavoro di marketing nel 2026 e la distinzione è importante perché i failure mode si dividono qui. Un cron job esegue lo stesso comando su un calendario. Uno script schedulato esegue una sequenza di passi e può fare branch su condizioni. Un workflow in stile n8n o Make è uno script schedulato con un editor visuale. Nessuno di questi è un agente. Un agente decide cosa fare dopo in base a ciò che ha appena imparato. Ha memoria dell’esecuzione precedente, un obiettivo e un set di tool che può chiamare. Il segno distintivo è il loop: gli output di questa settimana diventano gli input della prossima.

Il test è semplice: se il comportamento del tuo tool alla quarta settimana non può differire da quello della prima in base a quanto avvenuto nel mezzo, non è un agente. La maggior parte dei tool AI-SEO che ho testato nell’ultimo trimestre, inclusi alcuni trattati nel nostro roundup 2026 degli AI SEO tool, ricade dal lato degli script schedulati. Va benissimo. Basta non pagare prezzi da agente per comportamento da cron job.

L’architettura è identica che si usi Claude Agent SDK, Assistants API di OpenAI o n8n. Le fasi sono il contratto.

Sense. Legge i dati. API GSC per gli ultimi sette giorni e gli ultimi 28. Fetch SERP per le keyword tracciate (Brave Search API, Bing o uno scraper come Octoparse). Analytics interni (Plausible, GA4). L’output è uno snapshot di stato JSON, circa 30 KB per run su un portfolio di 100 pagine.

Decide. Ordina le azioni candidate. Questo è il passo da agente, non da script. L’agente riceve lo snapshot di stato, l’inventario delle pagine con le date di ultimo refresh e l’obiettivo (offensivo “striking distance”, difensivo “decay refresh” o ibrido). Restituisce una lista ordinata di 1-5 pagine candidate con un’azione suggerita per ciascuna.

Plan. Per la candidata top, recupera l’HTML corrente, i primi tre risultati SERP per la keyword target, individua il gap. L’output è un outline strutturato: quali sezioni mantenere, espandere, aggiungere o rimuovere.

Execute. Scrive la patch. Può essere un full rewrite, un’aggiunta di sezione, un update del meta-title, un’inserzione di internal link o un’aggiunta di schema markup. L’output è HTML pronto da applicare, ma non ancora applicato. Qui vive il gate di approvazione umana.

Verify. Nel Sense della settimana successiva si richiama GSC e si confronta il delta di posizione della pagina verificata con il baseline catturato al momento dell’esecuzione. Se la posizione migliora, l’azione è un win; se regredisce, si mostra il diff all’operatore. Il loop di verifica chiude il ciclo. Gli output della scorsa settimana diventano gli input di questa alla fase Decide. È questo che lo rende agentico. Una pipeline che esegue gli stessi cinque passi ogni settimana senza memoria di ciò che ha funzionato è uno script.

Mappa dei tool su quattro layer: data layer (API GSC, export BigQuery), orchestrator (Claude Agent SDK), writer (gpt-5.5 con output strutturati), publisher (API REST del CMS)
I layer di strumenti e le opzioni nominate in ciascuno. La maggior parte dei team paga già writer e rank tracker. Le novità di solito sono l’orchestrator e i prompt della fase Decide.

Gli strumenti adatti a ogni fase

Quasi tutte le opzioni citate sono intercambiabili all’interno della loro fase. L’eccezione è l’orchestrator. Il Claude Agent SDK di Anthropic è oggi il più “low-friction” in produzione; l’Assistants API di OpenAI funziona ma ha meno pattern di tool-call integrati. Il nodo agent di n8n ora supporta Claude tramite l’integrazione chat di Anthropic ed è la via più economica se preferisci un workflow visuale.

FaseNecessitàOpzione prontaOpzione fai-da-te
SenseFetch dati + snapshot statoAPI GSC più export BigQuery; Ahrefs Site Audit per la salute del sitoPython che legge l’API GSC e scrive JSON
DecideLogica di ranking con memoriaClaude Agent SDK; OpenAI Assistants APIPrompt custom con JSON strutturato più memory store
PlanGap analysis competitivaSurfer SEO, Frase outline, Clearscope briefHeadless browser + gpt-5.5 con prompt di gap analysis
ExecuteGenerazione patchgpt-5.5 con template e calibrazione di voce; SEOJuice per interlinking e decayStessa call gpt-5.5 con step di hand-edit
VerifyTracking delta di posizioneAccuRanker, Wincher, Ahrefs Rank TrackerAPI GSC diretta + tabella Postgres per la history

Molti team pagano già un writer e un rank tracker; le parti nuove sono l’orchestrator e i prompt del Decide. Il pezzo tools-for-automating-SEO copre le parti non-AI dello stack.

La fase Decide è dove l’agente ripaga il costo

Quasi tutti gli articoli sull’“agentic SEO” che ho letto nel 2026 dedicano la maggior parte delle parole alla fase writer. Quella è risolta. Il problema di design è la fase Decide: lì dovresti concentrare il budget di iterazione.

Una buona fase Decide pone quattro domande, più o meno in quest’ordine:

1. Quali pagine hanno perso più terreno week-over-week? Bucket difensivo. Una pagina che passa da posizione 7 a 12 con un drop di impression del 35 % sta sanguinando. Ferma l’emorragia prima di inseguire la crescita.

2. Quali pagine sono in striking distance (posizione 4-20) con impression significative? Bucket offensivo. Una pagina in posizione 14 con 6.000 impression mensili ha più upside di una in posizione 2 con 30.000 impression. Passare da 14 a 8 triplica circa il CTR; da 2 a 1 lo alza di pochi punti. Vedi la guida al content decay per la logica delle fasce di posizione.

3. Quali pagine stanno invecchiando più velocemente? Mesi dall’ultimo refresh come proxy. Una pagina ferma da 14 mesi decade più facilmente di una aggiornata lo scorso trimestre. Lo store di memoria dell’agente registra le date di refresh; la fase Decide pesa di più le pagine stantie.

4. Quali pagine competitor sono salite in SERP questa settimana sulle nostre keyword tracciate? Se un competitor arriva in posizione 6 per una keyword dove noi siamo al 5, l’agente la segnala come priorità difensiva per la prossima settimana. Questo segnale richiede scraping SERP; la sola GSC non lo mostra.

Una fase Decide che combina tutti e quattro i segnali sceglierà una pagina diversa rispetto a una che usa solo i delta week-over-week. In pratica la versione a quattro segnali produce decisioni su cui un operatore esperto concorda nel 70 % dei casi. Il disaccordo è dove il giudizio editoriale umano corregge il prompt. È il rapporto giusto.

Albero decisionale che divide freelancer, in-house e agenzie per numero di pagine e clienti, con tre raccomandazioni finali: revisione manuale, script schedulati o agent loop completo
Quando un agente vale il costo e quando invece basta uno script o una dashboard Looker Studio. La maggior parte dei piccoli portfolio non ha bisogno di un agente.

Quando un agente è troppo

La sezione controcorrente. La maggior parte degli articoli di questo tipo non la scrive perché il vendor non guadagna se il lettore conclude di non averne bisogno.

Sito singolo sotto le 300 pagine. Agente eccessivo. Una review settimanale di 30 minuti in Looker Studio e una coda di refresh manuale sono più veloci ed economiche. Il valore del Decide scala con il numero di candidate; sotto le 300 pagine un operatore può scansionarle in 20 minuti. Uno script Python schedulato che invia la top 10 su Slack basta e avanza.

Oltre 300 pagine su un solo sito. L’agente ripaga. Il Decide ha lavoro reale da fare e la Verify compone: dopo sei mesi l’agente ricorda che tipo di rewrite funziona per quali silo, meglio di uno script che ricomincia da zero ogni settimana.

Agenzia con cinque o più clienti. Stessa conclusione. Il costo di context switching tra clienti è esattamente ciò che la fase Decide elimina. L’agente legge GSC per tutti i clienti insieme e mostra i tre top globali, così l’operatore smette di saltare fra cinque dashboard.

Non costruire un agente perché è interessante; costruiscilo perché, senza, la fase Decide ti divora il lunedì mattina. L’articolo su scalare i servizi SEO e quello su automazione per freelancer coprono la decisione cron-vs-agente dal lato dei piccoli portfolio.

Timeline dei tipici failure mode di un SEO agentico: blowout di costo alla prima settimana, fatti allucinati alla quarta, bypass silente dei guardrail al terzo mese
I tre failure mode che incontrerai, più o meno in quest’ordine. Il drift di voce al terzo mese è quello che coglie impreparati più operatori.

Tre cose che si rompono, e quando

Prima settimana: blowout di costo. Il primo run settimanale costa 4 $. Il secondo 48 $ perché l’agente entra in un loop di tool-call. Pattern tipico: l’agente chiama il tool “fetch competitor SERP”, il tool va in timeout, l’agente ritenta, il retry scatena un’altra chiamata, il loop dura un’ora ai prezzi di Claude Opus. Fix: cap di token duro per run, budget di passi esplicito nel prompt (“massimo 20 chiamate tool-call prima di restituire”) e circuit breaker che abortisce se il costo supera 20 $.

Quarta settimana: fatti allucinati. Il writer inventa una citazione o un dato statistico. L’operatore non se ne accorge in approvazione perché il paragrafo scorre bene. La pagina va live con un numero Ahrefs inventato che nessuno trova su Ahrefs. Un lettore scrive. O peggio, un competitor fa lo screenshot e lo posta su X. Fix: step di fact-checking prima del gate umano che fa grep su ogni valore numerico confrontandolo con fonti note, più regola ferrea che il writer possa citare solo statistiche presenti nelle note di input.

«Il rischio dell’automazione non sono gli output sbagliati. È smettere di controllarli del tutto.» — parafrasato da Marie Haynes, 2025

Terzo mese: bypass silente dei guardrail. Questo è subdolo. L’operatore si abitua al loop, smette di leggere il diff con cura e approva una pagina con drift di voce introdotto gradualmente dall’agente. Dopo tre mesi, mezza corpus suona come scritta da AI. Fix: ruotare l’approvatore tra i membri del team così nessuno si abitua; audit a campione di almeno il 20 % dei diff approvati con un secondo revisore; controllo di coerenza di voce sui 90 giorni rolling di cambi pubblicati. Il lato rilevamento-AI è trattato in humanising AI content.

Costo e tempi di build

Numeri mensili onesti per un portfolio piccolo-medio:

LayerToolPiccolo (~50 pagine)Medio (~300 pagine)
OrchestratorClaude Agent SDK + API Anthropic$20-80$200-500
Writergpt-5.5 (OpenAI)$30-80$80-200
Rank trackerAccuRanker o Wincher$30-50$80-150
Runner workflown8n self-hosted su VPS da $5$5$5-15
Data layerAPI GSC + export BigQuery$0$0-20
Totale~$85-215~$365-885

Tempo di build: un operatore competente mette in piedi un loop funzionante in 30-50 ore. L’orchestrazione è la parte facile; la parte difficile sono i prompt della fase Decide, che richiedono 5-10 iterazioni per stabilizzarsi. L’instrumentazione della Verify spesso salta nella v1 perché non mostra valore fino alla quinta settimana. Costruiscila comunque: senza Verify la fase Decide non diventa mai più intelligente e l’agente si riduce a uno script dopo un mese.

Un loop di partenza da copiare

La forma v1 per un portfolio da 100 pagine, in n8n. Sostituisci pure l’orchestrator nel nodo agente. Un nodo cron parte ogni lunedì alle 6 UTC. Nodi HTTP chiamano l’API GSC (finestre 7 e 28 giorni) e una SERP API (Brave Search o Octoparse) per le keyword tracciate; entrambi scrivono in una tabella Postgres dei delta. Un nodo Claude Agent SDK riceve i due blob JSON più l’inventario degli slug e restituisce una lista di candidate con una singola azione suggerita ciascuna.

Un nodo switch dirama sul tipo di azione: i full rewrite passano da una coda Slack di approvazione umana; meta-update e internal link che toccano meno di cinque righe possono procedere senza approvazione. Un nodo HTTP chiama le API REST del CMS per applicare la patch (un sito agent-friendly espone bene questi endpoint). Un ultimo nodo HTTP registra azione, baseline GSC e reviewer di approvazione in Postgres per la Verify della settimana successiva. Una dozzina di nodi, un weekend di configurazione.

Considerazioni finali

Quello che il loop ti salva è il lunedì mattina. Quello che non ti salva è il passaggio editoriale, la narrativa strategica, la call con il cliente o il giudizio su quali segnali pesare. Quelli restano manuali. L’agente è l’analista; l’umano è l’editor. Salta l’editor e il loop pubblica sciocchezze. Il costo è 85-215 $ al mese per un piccolo portfolio e 30-50 ore di build. Più basso dei pitch “scala il tuo content 10×”; più alto di quelli “imposti in 10 minuti”.

Costruisci il loop perché altrimenti la fase Decide ti divora il lunedì. Non farlo perché “agentic” suonava interessante a una conferenza. Se sei convinto di averne bisogno, parti da decay detection e refresh strategy, dato che diventano input per la fase Decide; il design del publish layer è trattato in how to build an agent-friendly website.

FAQ

<summary>Mi serve davvero il Claude Agent SDK o posso farlo con il solo OpenAI?</summary>

Puoi farlo con il solo OpenAI. L’Assistants API più output strutturati copre il pattern di tool-calling dell’agente e il costo è simile. Il vantaggio di Claude Agent SDK sono le primitive di memoria integrate e i controlli di budget del loop di tool, che contano di più oltre le 100 pagine. Per una v1 su un portfolio da 50 pagine, OpenAI basta. Passa a Claude se lo strato di memoria diventa un collo di bottiglia.

<summary>Qual è la dimensione minima di portfolio che giustifica la build?</summary>

Circa 300 pagine su un singolo sito, o qualunque portfolio multi-sito in stile agenzia con 5+ clienti. Sotto, una dashboard Looker Studio più uno script Python schedulato è la scelta giusta. Il valore della fase Decide scala con le candidate: su un sito da 50 pagine un operatore le scansiona in 10 minuti. Sotto le 300 pagine stai pagando prezzi da agente per comportamento da cron job.

<summary>Come evito che l’agente pubblichi contenuti rilevabili come AI?</summary>

Gate di approvazione umana prima della pubblicazione, più controllo di coerenza di voce sulla finestra rolling di 90 giorni. Il primo è obbligatorio per qualunque cosa più lunga di un meta-title. Il secondo intercetta il drift lento che si accumula. Audit a campione di almeno il 20 % dei diff approvati con un secondo reviewer per assicurarsi che il primo continui a leggere con attenzione.

<summary>Qual è il failure mode che devo temere di più?</summary>

Il bypass silente dei guardrail al terzo mese. Il blowout di costo alla prima settimana è ovvio e si risolve in un’ora. I fatti allucinati alla quarta settimana si eliminano con il fact-checking. Il drift di voce al terzo mese passa inosservato perché l’operatore smette di leggere il diff dopo settimane di “sì, tutto ok”.

<summary>L’agente può gestire contenuti non in inglese?</summary>

Sì, con alcune cautele. gpt-5.5 e Claude scrivono un discreto spagnolo, tedesco, francese, italiano, olandese e polacco, ma il prompt di calibrazione della voce va scritto per ciascuna lingua; tradurre le regole di voce non funziona. Lo scraping SERP e il fetch GSC devono usare i codici lingua e paese corretti. Per il lato AI-search una volta che i contenuti vengono letti da LLM, vedi il pezzo GEO.