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

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

En desarrollo, puede ver el mapa del sitio generado en /.../sitemap.xml/[id]. Por ejemplo, /product/sitemap.xml/1. Esta diferencia es temporal y seguirá el formato de producción.

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 los 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,
  }))
}
import { BASE_URL } from '@/app/lib/constants'

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

export default async function sitemap({ id }) {
  // 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/${id}`,
    lastModified: product.date,
  }))
}

On this page