generateSitemaps

Puede usar la función generateSitemaps para generar múltiples mapas del sitio para su aplicación.

Retorno

La función generateSitemaps retorna un arreglo de objetos con una propiedad id.

URLs

Sus mapas del sitio generados estarán disponibles en /.../sitemap/[id].xml. Por ejemplo, /product/sitemap/1.xml.

Ejemplo

Por ejemplo, para dividir un mapa del sitio usando generateSitemaps, retorne un arreglo de objetos con el id del mapa del sitio. Luego, use el id para generar los mapas del sitio únicos.

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

export async function generateSitemaps() {
  // Obtener el número total de productos y calcular la cantidad de mapas del sitio necesarios
  return [{ id: 0 }, { id: 1 }, { id: 2 }, { id: 3 }]
}

export default async function sitemap({
  id,
}: {
  id: number
}): Promise<MetadataRoute.Sitemap> {
  // El límite de Google es 50,000 URLs por mapa del sitio
  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,
  }))
}

Historial de versiones

VersiónCambios
v15.0.0generateSitemaps ahora genera URLs consistentes entre desarrollo y producción
v13.3.2Se introdujo generateSitemaps. En desarrollo, puede ver el mapa del sitio generado en /.../sitemap.xml/[id]. Por ejemplo, /product/sitemap.xml/1.

On this page