← Blog
Web Design28 Maggio 2026·8 min di lettura

Perché disegno itinerari Next.js multilingua nativi (IT/EN/ES) di base su qualunque commissione.

Tracciare percorsi SEO internazionali in Next.js/Astro previene lag di rendering ed elimina i difetti riscontrati usando traduttori automatici lenti. Questa è esattamente l'architettura che gestisce questo sito, in questo momento, in 9 lingue.

Ti sta piacendo? C'è un ❤️ che ti aspetta in fondo.

Perché il multilingua conta più di quanto sembri

Un'attività locale pensa in una lingua. Un'attività che vuole clienti internazionali — turismo, ospitalità, servizi professionali, e-commerce — ha bisogno che il suo sito esista, nativamente, nelle lingue in cui i suoi clienti reali cercano. Non come ripensamento aggiunto dopo. Ogni cliente per cui costruisco che vuole reach oltre il proprio paese riceve routing multilingua dal primo giorno, perché aggiungerlo dopo a un sito monolingua significa rifare metadata, struttura degli URL e spesso la strategia dei contenuti da zero.

Perché le due scorciatoie ovvie falliscono entrambe

Ci sono due scorciatoie a cui tutti ricorrono per prime, ed entrambe falliscono per la vera SEO. La prima è un widget di traduzione flottante (Google Translate embed o simile): gira lato client, dopo che la pagina è già stata caricata nella lingua originale, quindi i motori di ricerca indicizzano il testo originale — i tuoi visitatori spagnoli che cercano in spagnolo non trovano mai una pagina che a Google appaia spagnola. La seconda è un singolo URL con un query parameter, tipo ?lang=es. I motori di ricerca non trattano in modo affidabile le varianti con query-param come pagine separate e classificabili indipendentemente — spesso vengono trattate come contenuto duplicato dello stesso URL, il che significa che il tuo contenuto spagnolo compete con quello inglese invece di posizionarsi indipendentemente per le ricerche in spagnolo.

La soluzione: rotte reali, una per lingua

Ogni lingua ottiene il proprio percorso crawlabile — /it/, /en/, /es/ — ciascuno renderizzato lato server con contenuto completamente tradotto, il proprio attributo <html lang>, e i propri metadata. In Next.js questo è ciò che next-intl con localePrefix impostato su "always" ti dà pronto all'uso: invece di una pagina che scambia testo con JavaScript, ottieni pagine genuinamente separate che i motori di ricerca possono scansionare, indicizzare e posizionare indipendentemente — ognuna una pagina reale e completa in quella lingua, non una pelle tradotta sopra lo stesso contenuto.

Come è realmente collegato su questo sito

1Definisci le lingue supportate e imposta localePrefix: "always" nella configurazione di routing di next-intl, così ogni URL — inclusa la lingua predefinita — porta un prefisso esplicito /it/, /en/, /es/ senza rotta root ambigua
2Salva le stringhe tradotte in un file JSON per lingua (messages/en.json, messages/it.json, ecc.) così ogni stringa UI e ogni testo di pagina ha una casa per locale, non sparsa tra i componenti
3In generateMetadata(), imposta alternates.canonical sull'URL della lingua corrente e alternates.languages su una mappa completa dell'URL equivalente di ogni lingua — questo è ciò che emette effettivamente i tag hreflang che i motori di ricerca usano per collegare le varianti linguistiche della stessa pagina
4Imposta openGraph.locale e un og:image corretto per pagina così i link condivisi mostrano l'anteprima giusta indipendentemente da quale variante linguistica viene condivisa
5Non tradurre mai a runtime con un traduttore automatico. Traduci una volta, salvalo, servilo staticamente per locale — questo mantiene veloce il Time to First Byte e significa che non c'è nessuna API di traduzione nel percorso critico di rendering

Cosa ottieni realmente

Ogni variante linguistica si posiziona con i propri termini — una ricerca in italiano porta alla pagina italiana, una ricerca in spagnolo porta alla pagina spagnola, e nessuna delle due compete con o diluisce l'altra agli occhi di Google. Altrettanto importante per la conversione: i visitatori atterrano su una pagina che appare genuinamente scritta nella loro lingua, non una con un widget di traduzione visibile nell'angolo. Per un ristorante, hotel o servizio professionale che cerca di apparire credibile a un pubblico internazionale, quella differenza è spesso il divario tra un abbandono e un cliente.

Vuoi questa architettura sul tuo sito?

Parliamone →

About

Patrick Chen — sviluppatore indipendente e web designer di Sublimearts.io. Questo esatto setup di routing — next-intl, localePrefix always, metadata per lingua — è ciò che sta renderizzando la pagina che stai leggendo in questo momento, in qualunque delle 9 lingue tu la stia vedendo.

Did you find this helpful?