Programmatic SEO con Astro: Scalare con Content Collections

In questo articolo
Il Programmatic SEO (pSEO) è la strategia di creare centinaia o migliaia di pagine atterrando su query strutturate (es. "Miglior Dentista a [Città]", "Ricetta con [Ingrediente]"). Far girare un progetto pSEO su WordPress richiede plugin costosi e server potenti. Farlo con Astro (Static Site Generator) costa zero di hosting e garantisce Core Web Vitals perfetti (100/100).
Ecco come architettare un sistema pSEO moderno usando le Content Collections e la Type Safety di TypeScript.
1. Il Dataset (Source of Truth)
Invece di un database SQL, possiamo usare file JSON o YAML. Per un progetto "Servizi Locali":
src/data/cities.json:
[
{ "slug": "milano", "name": "Milano", "population": 1300000, "region": "Lombardia" },
{ "slug": "roma", "name": "Roma", "population": 2800000, "region": "Lazio" }
]
src/data/services.json:
[
{ "slug": "seo-audit", "name": "Audit SEO", "price": "500€" },
{ "slug": "link-building", "name": "Link Building", "price": "Varia" }
]
2. Combinatorial Generation (Dynamic Routes)
Vogliamo creare una pagina per ogni combinazione Servizio + Città ("Audit SEO a Milano", "Link Building a Roma").
In Astro, usiamo un file dinamico [...slug].astro.
// src/pages/servizi/[service]/[city].astro
export async function getStaticPaths() {
const cities = await import('../data/cities.json');
const services = await import('../data/services.json');
// Prodotto Cartesiano
return services.flatMap(service =>
cities.map(city => ({
params: { service: service.slug, city: city.slug },
props: { service, city }
}))
);
}
const { service, city } = Astro.props;
3. Templating Intelligente (Spintax 2.0)
Il rischio del pSEO è il "Thin Content" (contenuto duplicato). Non basta cambiare il nome della città. Dobbiamo usare componenti condizionali.
<h1>{service.name} professionale a {city.name}</h1>
<p>
Se cerchi una consulenza web in {city.region}, il nostro team
{city.population > 500000 ? 'copre tutta la metropoli' : 'opera anche in provincia'}.
</p>
<LocalCompetitors city={city.slug} /> <!-- Componente che mostra dati reali locali -->
4. Build Performance
Con Astro v5, la generazione di 10.000 pagine statiche richiede meno di 60 secondi grazie al parallelismo. Il risultato sono 10.000 file HTML puri, pronti per essere serviti da una CDN (Netlify/Vercel/Cloudflare). Googlebot troverà un sito velocissimo, strutturato e interlinkato perfettamente. Questa è la base per dominare le SERP locali nel 2026.
Potrebbe interessarti

E-E-A-T: L'unica difesa contro il content spam AI
Experience, Expertise, Authoritativeness, Trust. Google ha aggiunto Experience nel 2023. Nel 2025, E-E-A-T separa content autorevole da AI slop. Come

Programmatic SEO: 10.000 pagine in 3 mesi (se sai cosa fai)
Scalare contenuti con template + AI. Minimo 500 parole uniche e 30% differenziazione per evitare thin content penalty. Stack Airtable+Webflow sotto $100/mese.

Zero-Click Searches: Il 65% delle ricerche finisce senza click
Oltre il 65% delle ricerche Google termina sulla SERP. Featured snippets, AI Overviews, Knowledge Panels: come ottimizzare quando il click non arriva.