generateSitemaps

يمكنك استخدام دالة generateSitemaps لإنشاء خرائط مواقع متعددة لتطبيقك.

القيم المُرجعة

تُرجع دالة generateSitemaps مصفوفة من الكائنات تحتوي على خاصية id.

عناوين URL

ستكون خرائط المواقع التي تم إنشاؤها متاحة على المسار /.../sitemap/[id].xml. على سبيل المثال، /product/sitemap/1.xml.

مثال

على سبيل المثال، لتقسيم خريطة موقع باستخدام generateSitemaps، قم بإرجاع مصفوفة من الكائنات تحتوي على id لخريطة الموقع. ثم استخدم id لإنشاء خرائط المواقع الفريدة.

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

export async function generateSitemaps() {
  // جلب العدد الإجمالي للمنتجات وحساب عدد خرائط المواقع المطلوبة
  return [{ id: 0 }, { id: 1 }, { id: 2 }, { id: 3 }]
}

export default async function sitemap({
  id,
}: {
  id: number
}): Promise<MetadataRoute.Sitemap> {
  // الحد الأقصى لـ Google هو 50,000 عنوان URL لكل خريطة موقع
  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() {
  // جلب العدد الإجمالي للمنتجات وحساب عدد خرائط المواقع المطلوبة
  return [{ id: 0 }, { id: 1 }, { id: 2 }, { id: 3 }]
}

export default async function sitemap({ id }) {
  // الحد الأقصى لـ Google هو 50,000 عنوان URL لكل خريطة موقع
  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,
  }))
}

سجل الإصدارات

الإصدارالتغييرات
v15.0.0تقوم generateSitemaps الآن بإنشاء عناوين URL متسقة بين بيئة التطوير والإنتاج
v13.3.2تم تقديم generateSitemaps. في بيئة التطوير، يمكنك عرض خريطة الموقع التي تم إنشاؤها على /.../sitemap.xml/[id]. على سبيل المثال، /product/sitemap.xml/1.