Scrivere una buona landing page richiede ore. Scriverne diecimila è impossibile… a mano. La SEO programmatica esiste esattamente per questo: quando la domanda di ricerca è distribuita su migliaia di query specifiche — “box a Chamberí”, “box economici nell’Eixample” — e hai i dati per rispondere a ciascuna, la soluzione non è un copywriter: è il codice.
È una delle leve di growth più redditizie che conosciamo, e anche una delle più facili da fare male. In questa guida spieghiamo cos’è, quando funziona, quando è spam vero e proprio, come si costruisce tecnicamente e come l’abbiamo applicata in un caso reale.
Cos’è la SEO programmatica
La SEO programmatica consiste nel generare landing page automaticamente a partire da dati. La formula è semplice:
Template × Dataset = migliaia di pagine uniche
Invece di scrivere ogni pagina, progetti un template (struttura, componenti, testi dinamici) e lo incroci con un dataset strutturato. I pattern classici:
- Città × categoria: “box a Madrid”, “box a Barcellona”, “coworking a Valencia”
- Prodotto × attributo: “scarpe running per pronatori”, “CRM per agenzie immobiliari”
- Entità × comparazione: “X vs Y” per ogni coppia rilevante del tuo settore
- Località × operatore: la pagina di ogni provider in ogni zona in cui opera
I grandi marketplace lo fanno da sempre: Idealista ha una pagina per quartiere, Tripadvisor per ristorante, Zillow per codice postale. Quelle pagine non le scrivono: le generano dal loro database.
Quando funziona (e quando è spam)
Qui sta la linea che separa una strategia vincente da una penalizzazione. La SEO programmatica funziona quando si verificano due condizioni insieme:
- Esiste domanda long-tail con intento. Migliaia di ricerche specifiche, ognuna con poco volume individuale ma con intento chiaro (comparare, comprare, prenotare). Se nessuno cerca “box a Pontevedra”, quella pagina è superflua.
- Hai un dataset proprio con valore reale. Prezzi aggiornati, disponibilità, recensioni, posizioni, caratteristiche. Dati che l’utente non trova aggregati altrove.
Se manca anche una sola delle due, quello che stai generando ha un altro nome: spam.
Cosa dice Google
Le linee guida di Google sono esplicite contro due pattern:
| Pattern | Cos’è | Esempio |
|---|---|---|
| Thin content | Pagine senza contenuto sostanziale né valore aggiunto | 500 pagine di città identiche dove cambia solo il nome della città |
| Doorway pages | Pagine create solo per posizionarsi e reindirizzare, senza utilità propria | Landing quasi duplicate che portano tutte allo stesso form generico |
Dagli aggiornamenti sui contenuti utili, Google valuta se una pagina esiste per l’utente o per il motore di ricerca. La generazione automatica non è il problema — Google lo dice letteralmente: ciò che conta è il valore, non il metodo di produzione.
Come restare dal lato giusto
- Contenuto unico per pagina: dati reali che cambiano davvero tra le pagine (numero di centri, prezzi a partire da, recensioni, mappa della zona), non un testo template con la città sostituita.
- Soglia minima di dati: se per una combinazione non hai contenuto sufficiente (zero risultati, un solo dato), non generare la pagina — o marcala
noindexfinché non ce l’hai. - Valore vero: la prova del nove è chiedersi se la pagina sarebbe utile anche se Google non esistesse. Un comparatore con 300 centri reali a Madrid, sì. Una landing con due paragrafi generici, no.
Architettura tecnica
Qui è dove la SEO programmatica diventa un problema di ingegneria, non di marketing. I componenti:
1. Framework con SSG/ISR
Migliaia di pagine hanno bisogno di HTML renderizzato sul server — il CSR di una SPA è veleno per la SEO su scala. Le due opzioni che usiamo:
- Next.js con ISR (Incremental Static Regeneration): le pagine si generano statiche e si rigenerano on demand quando cambiano i dati, senza rebuild completo. Ideale quando il dataset si aggiorna ogni giorno.
- Astro con SSG: generazione statica pura, perfetta quando i dati cambiano con minore frequenza e dai priorità alla massima velocità di caricamento.
2. URL semantiche
La URL è un segnale di rilevanza e di architettura: /trasteros-madrid/ e /trasteros-barcelona-eixample/ dicono esattamente cosa c’è dentro. Niente /landing?city=28&cat=3. La gerarchia delle URL deve riflettere la gerarchia del dataset (città → quartiere → operatore).
3. Sitemap dinamica
Con migliaia di pagine che appaiono e scompaiono in base al dataset, la sitemap non può essere un file statico: si genera automaticamente dal database, con lastmod reale, in modo che Google scopra e indicizzi ogni nuova pagina senza aspettare il crawl.
4. Schema.org per pagina
Ogni pagina porta il suo JSON-LD con dati strutturati del tipo appropriato: LocalBusiness, Product, AggregateRating, FAQPage. È ciò che trasforma una landing in un rich snippet con stelle e prezzi nei risultati — e, come vedremo, alimenta anche i motori di ricerca IA.
5. Interlinking programmatico
Anche i link interni si generano: ogni pagina di città linka ai suoi quartieri, ogni quartiere ai suoi operatori, ogni operatore alle zone vicine. Questo distribuisce autorità, crea percorsi di crawl per Google e — non da meno — è navigazione utile per l’utente.
Caso reale: TrasterOne
Così l’abbiamo applicata in TrasterOne, il comparatore di box e self-storage n°1 in Spagna. La sfida: posizionare una piattaforma nuova in un mercato frammentato dove i singoli operatori avevano già presenza SEO.
La soluzione è stata un’architettura Next.js con SSR e ISR che genera automaticamente migliaia di landing page per città, quartiere e operatore — Madrid con 333 centri, Barcellona con 327 — senza intervento manuale. Ogni pagina porta il suo Schema.org (LocalBusiness, Product, AggregateRating), la sitemap si rigenera man mano che si aggiungono centri, e le URL sono semantiche e locali (/trasteros-madrid/, /trasteros-barcelona-eixample/).
Il punto chiave: ogni pagina ha valore reale. Dietro c’è un dataset di +2.000 centri di stoccaggio in Spagna e Andorra con prezzi, recensioni di Google Reviews, filtri e prenotazione in 3 passi. Non sono doorway page: sono il prodotto. Il risultato è la piattaforma di riferimento del settore in 7 città principali, riconosciuta con il Premio Innovazione AESS 2025 dell’Associazione Spagnola di Self-Storage.
SEO programmatica e motori di ricerca IA (GEO)
C’è un effetto collaterale sempre più prezioso: le stesse pagine strutturate che si posizionano su Google alimentano le risposte di ChatGPT, Perplexity e gli AI Overview. Quando qualcuno chiede a un assistente “dove affitto un box economico a Madrid?”, il modello cerca fonti con dati concreti, strutturati e aggiornati — esattamente ciò che produce una buona strategia programmatica.
Lo Schema.org per pagina, le entità ben definite e i dati fattuali (prezzi, posizioni, recensioni) sono oro per la GEO (Generative Engine Optimization). L’investimento è lo stesso; la superficie di acquisizione, sempre più ampia.
Checklist di implementazione
Prima di generare la tua prima pagina, verifica:
- Domanda validata: keyword research delle combinazioni long-tail (volume aggregato + intento)
- Dataset con valore: dati propri, aggiornati e sufficienti per pagina
- Soglia minima definita: quali combinazioni NON si generano (o vanno in
noindex) - Template con contenuto dinamico reale, non testo generico con variabili sostituite
- SSG/ISR configurato (Next.js o Astro) con HTML completo sul server
- URL semantiche che riflettono la gerarchia del dataset
- Sitemap dinamica collegata al database
- Schema.org JSON-LD per pagina in base al tipo di contenuto
- Interlinking automatico tra livelli (città → quartiere → dettaglio)
- Monitoraggio dell’indicizzazione in Search Console: pagine scoperte vs. indicizzate
Conclusione
La SEO programmatica non è un trucco per gonfiare pagine: è il modo corretto di servire la domanda long-tail quando hai i dati per rispondervi. La differenza tra una strategia che compone traffico per anni e una penalizzazione per thin content sta in due domande: la ricerca esiste? E la mia pagina risponde meglio di chiunque altro?
Se entrambe le risposte sono sì, il resto è ingegneria — e quella parte la sappiamo fare.
Hai un dataset con potenziale e vuoi trasformarlo in traffico organico? Scopri il nostro servizio di growth marketing → o guarda come l’abbiamo fatto nel caso TrasterOne →