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. |