generateSitemaps

Vous pouvez utiliser la fonction generateSitemaps pour générer plusieurs sitemaps pour votre application.

Retour

La fonction generateSitemaps renvoie un tableau d'objets avec une propriété id.

URLs

Vos sitemaps générés seront disponibles à l'adresse /.../sitemap/[id].xml. Par exemple, /product/sitemap/1.xml.

Exemple

Par exemple, pour diviser un sitemap en utilisant generateSitemaps, retournez un tableau d'objets avec l'id du sitemap. Ensuite, utilisez l'id pour générer les sitemaps uniques.

import { BASE_URL } from '@/app/lib/constants'

export async function generateSitemaps() {
  // Récupère le nombre total de produits et calcule le nombre de sitemaps nécessaires
  return [{ id: 0 }, { id: 1 }, { id: 2 }, { id: 3 }]
}

export default async function sitemap({
  id,
}: {
  id: number
}): Promise<MetadataRoute.Sitemap> {
  // La limite de Google est de 50 000 URLs par sitemap
  const start = id * 50000
  const end = start + 50000
  const products = await getProducts(
    `SELECT id, date FROM products WHERE id BETWEEN ${start} AND ${end}`
  )
  return products.map((product) => ({
    url: `${BASE_URL}/product/${product.id}`,
    lastModified: product.date,
  }))
}

Historique des versions

VersionModifications
v15.0.0generateSitemaps génère désormais des URLs cohérentes entre le développement et la production
v13.3.2generateSitemaps introduite. En développement, vous pouvez visualiser le sitemap généré sur /.../sitemap.xml/[id]. Par exemple, /product/sitemap.xml/1.

On this page