import { MetadataRoute } from 'next'; import { productService } from '../lib/services/productService'; export default async function sitemap(): Promise { const baseUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://canino-iran.com'; // Static routes const staticRoutes: MetadataRoute.Sitemap = [ { url: `${baseUrl}`, lastModified: new Date(), changeFrequency: 'daily', priority: 1, }, { url: `${baseUrl}/shop`, lastModified: new Date(), changeFrequency: 'daily', priority: 0.9, }, { url: `${baseUrl}/wiki`, lastModified: new Date(), changeFrequency: 'weekly', priority: 0.8, }, { url: `${baseUrl}/blog`, lastModified: new Date(), changeFrequency: 'weekly', priority: 0.8, }, { url: `${baseUrl}/search`, lastModified: new Date(), changeFrequency: 'weekly', priority: 0.5, }, ]; // Dynamic products try { const products = await productService.getProducts(); const productRoutes: MetadataRoute.Sitemap = products.map((product) => ({ url: `${baseUrl}/shop/${product.id}`, lastModified: new Date(), changeFrequency: 'weekly', priority: 0.7, })); return [...staticRoutes, ...productRoutes]; } catch (error) { console.error("Failed to generate product sitemap:", error); return staticRoutes; } }