---
title: 'SEO multilingua in Next.js: hreflang, sitemap e fallback della lingua'
description: >-
  Una configurazione pratica per gli attributi hreflang alternates, x-default,
  le sitemap localizzate, gli slug tradotti e le catene di fallback per la
  lingua in un sito Next.js multilingua.
publishedAt: '2026-07-08'
updatedAt: '2026-07-08'
noindex: false
canonicalPath: /it/blog/multilingual-seo-hreflang-sitemaps-fallbacks
---
Tradurre i contenuti è solo la prima metà della SEO multilingua. La seconda metà consiste nello spiegare ai motori di ricerca come sei intervenuto: quale URL serve una specifica lingua, qual è quella predefinita e cosa mostrare quando una lingua non ha ancora una traduzione. Sbagliare significa vedere Google indicizzare le pagine in francese per query in inglese, oppure considerare dieci traduzioni diverse come contenuti duplicati. ↵↵Ecco la checklist che utilizziamo e come Scribe ne genera la maggior parte partendo dai contenuti che già conosce.↵↵## Gli attributi hreflang alternates in ogni pagina↵↵Ogni pagina localizzata deve dichiarare tutte le versioni correlate, inclusa se stessa, oltre a un attributo `x-default` che punta alla versione destinata alle lingue senza corrispondenza. In Next.js, questo corrisponde al campo `alternates.languages` nei metadati della pagina.↵↵La parte più complessa riguarda gli slug tradotti. Se `/docs/getting-started` diventa `/fr/docs/premiers-pas` in francese, i link alternativi devono utilizzare lo slug localizzato e non quello inglese preceduto dal prefisso della lingua. Scribe memorizza lo slug tradotto insieme a ogni traduzione. L'helper `alternates()` in fase di esecuzione restituisce la mappa completa per ogni documento, trasformando il codice dei metadati in un semplice ciclo invece di una tabella di ricerca da aggiornare manualmente.↵↵Due regole fondamentali per evitare gli errori più comuni:↵↵- L'attributo hreflang deve essere reciproco. Se la pagina in francese rimanda a quella in tedesco, la pagina in tedesco deve fare lo stesso con quella in francese. Generare entrambe le versioni dallo stesso archivio garantisce questa reciprocità.↵- Gli URL canonici devono fare riferimento a se stessi per ogni lingua. L'URL canonico della pagina francese è l'URL in francese. Puntare i link canonici di tutte le lingue verso l'inglese comunica a Google di escludere le traduzioni dall'indice.↵↵## Una sitemap ottimizzata per le lingue↵↵Ogni URL inserito nella sitemap dovrebbe includere gli stessi link alternativi, oltre a `x-default`. La funzione `sitemapEntries()` di Scribe restituisce una voce per ciascun documento con tutti gli URL localizzati e un campo `lastmod` calcolato in base ai campi integrati `publishedAt` e `updatedAt`. In questo modo la sitemap rimane aggiornata senza dover inserire le date a mano.↵↵I documenti rimossi non dovrebbero semplicemente sparire nel nulla. Scribe mantiene i reindirizzamenti in un file `_redirects.json` specifico per tipologia. Gli URL obsoleti reindirizzano tramite 301 verso il loro sostituto in ogni lingua, preservando così l'autorevolezza dei link acquisita.↵↵## Fallback della lingua invece di errori 404↵↵Quali contenuti dovrebbe mostrare `/fr-CA/guide` se la pagina è stata tradotta in francese, ma non nel francese del Canada? Un errore 404 rende inutile la traduzione esistente. Servire direttamente la versione inglese senza avvisare disorienta i lettori.↵↵Scribe gestisce automaticamente il problema attraverso una catena di fallback. Una variante regionale rimanda alla sua lingua base prima di passare all'inglese. Ad esempio, `fr-CA` prova prima con `fr`, per poi passare a `en`. Allo stesso modo, `zh-Hant-TW` cerca `zh-Hant`, poi `zh` e infine `en`. In fase di esecuzione, il sistema indica quale lingua è stata effettivamente servita tramite `actualLocale`. Il layout può così informare correttamente l'utente e i parametri prerenderizzati includono gli URL di fallback, garantendo l'esistenza delle pagine in fase di compilazione.↵↵## Anche i metadati sono contenuti↵↵I titoli e le meta description influiscono sul posizionamento e meritano la stessa attenzione dedicata al corpo del testo. In Scribe, questi sono normali campi del frontmatter traducibili, dotati di hash e convalidati come ogni altro elemento. Il prompt di traduzione è pensato per la transcreazione piuttosto che per una resa letterale. Un dettaglio cruciale, specialmente quando si devono ottimizzare i 60 caratteri di un tag title.↵↵## Il punto della situazione↵↵Non stiamo parlando di nulla di esotico. Si tratta solo di organizzazione. Link alternativi, canonici, sitemap, redirect e fallback derivano tutti da un'unica domanda. Tale domanda è: "quale documento esiste, in quale lingua e a quale URL". Un CMS che gestisce le traduzioni come dati primari può fornire questa risposta da un'unica posizione centrale. Collegare manualmente questi elementi tra un CMS in hosting, una piattaforma di traduzione e un router è proprio il punto in cui la SEO multilingua solitamente fallisce.↵↵Scopri come combinare tutti gli elementi nella [guida alle API in fase di esecuzione](/docs/runtime-api), oppure parti dalla [guida introduttiva](/docs/getting-started).
