generateSitemaps

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

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

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

عناوين URL

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

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

مثال

على سبيل المثال، لتقسيم خريطة موقع باستخدام 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,
  }))
}