Multilingual sitemap

How to build a multilingual sitemap that search engines can use

Learn how to include localized static and dynamic URLs, language alternates, last-modified dates, and supplemental translation sitemaps in a multilingual site.

/ La risposta breve

A multilingual sitemap should describe the URLs your site actually serves. For dynamic products, articles, and documentation, generate one entry per language version and keep alternate-language relationships consistent with the page head.

/ 01

Fonte di verità

Inizia con la mappa del sito di proprietà del sito.

La mappa del sito della tua applicazione dovrebbe contenere tutti gli URL pubblici canonici, incluse le pagine dinamiche. Considerala la fonte di riferimento per ciò che è attivo, indicizzabile e degno di essere scoperto.

  • Use the same public origin as the pages.
  • Include updated timestamps from the source record when possible.
  • Do not include preview, authenticated, or redirected URLs.
Site-owned sitemap
export default function sitemap() {
  return publicPages.map((page) => ({
    url: `https://example.com${page.path}`,
    lastModified: page.updatedAt,
  }));
}
/ 02

Versioni linguistiche

Aggiungi URL localizzati e alternativi

Next.js può generare link alternativi per le diverse lingue a partire dalle voci della sitemap. Per ogni pagina sorgente, mappa l'intero set di URL pubblicati nelle varie lingue e mantieni la mappa stabile in ogni versione.

  • Use the same content identity across languages.
  • Exclude a locale until its page is actually published.
  • Keep the canonical URL and sitemap URL consistent.
Localized sitemap entries
export default async function sitemap() {
  const products = await getPublicProducts();
  const locales = ["en", "fr", "de"];

  return products.flatMap((product) => locales.map((locale) => ({
    url: `https://example.com/${locale}/products/${product.slug}`,
    lastModified: product.updatedAt,
    alternates: {
      languages: Object.fromEntries(locales.map((language) => [
        language, `https://example.com/${language}/products/${product.slug}`
      ])),
    },
  })));
}
/ 03

Siti di grandi dimensioni

Suddividere le sitemap senza dividere la proprietà

I siti di grandi dimensioni possono utilizzare indici e shard della sitemap in base alla lingua, al tipo di contenuto o all'intervallo di record. L'indice dovrebbe puntare a sitemap figlie raggiungibili e ciascuna di esse dovrebbe rimanere al di sotto dei limiti imposti dai motori di ricerca.

  • Use deterministic shard names.
  • Keep one clear index route.
  • Monitor child sitemap response codes and XML validity.
/ 04

Altified flusso di lavoro

Utilizza la mappa del sito supplementare per la ricerca tradotta

Altified può generare una sitemap supplementare contenente URL in lingue aggiuntive dalla sitemap del tuo sito esistente. Non sostituisce la sitemap di proprietà del sito e non aggiunge hreflang alle pagine di per sé; la tua applicazione necessita comunque di metadati reciproci.

  • Keep /sitemap.xml complete and site-owned.
  • Publish /altified-sitemap.xml after target locales and routes exist.
  • Submit both sitemaps or list both in robots rules.

/ Lista di controllo della produzione

Verifica l'esperienza linguistica prima dell'avvio.

  • The canonical site sitemap returns 200.
  • Every dynamic page is represented.
  • Language URLs are real and indexable.
  • Alternate-language mappings are reciprocal.
  • Sitemap index children are reachable.
  • The Altified supplemental sitemap is submitted separately when used.

/ Domande frequenti

Domande che i team si pongono prima di implementare la SEO multilingue.

What is a multilingual XML sitemap?

Si tratta di una mappa del sito che aiuta i motori di ricerca a scoprire gli URL localizzati, includendo facoltativamente le relazioni di lingua alternativa XHTML per ciascun URL di contenuto.

Does a sitemap replace hreflang tags?

No. Una mappa del sito può fornire informazioni sulle relazioni tra le lingue, ma l'HTML della pagina dovrebbe comunque esporre metadati hreflang reciproci e coerenti quando ciò fa parte dell'implementazione del sito.

Should the translated sitemap replace the main sitemap?

No. Mantieni la sitemap ufficiale del sito come fonte principale e utilizza una sitemap tradotta supplementare solo per aggiungere gli URL nelle lingue non ancora presenti.