import type { MetadataRoute } from "next"; import { siteConfig } from "@/lib/site-config"; import { listIndustries, listProjects, listPublishedPosts, listServices, listSolutions, } from "@/lib/data"; const BASE = siteConfig.url; export default async function sitemap(): Promise { const [posts, services, solutions, projects, industries] = await Promise.all([ listPublishedPosts({ limit: 200 }), listServices(), listSolutions(), listProjects({ limit: 200 }), listIndustries(), ]); const staticRoutes: MetadataRoute.Sitemap = [ { url: `${BASE}/`, changeFrequency: "weekly", priority: 1 }, { url: `${BASE}/hizmetler`, changeFrequency: "monthly", priority: 0.9 }, { url: `${BASE}/cozumler`, changeFrequency: "monthly", priority: 0.9 }, { url: `${BASE}/projeler`, changeFrequency: "monthly", priority: 0.8 }, { url: `${BASE}/blog`, changeFrequency: "daily", priority: 0.8 }, { url: `${BASE}/hakkimizda`, changeFrequency: "yearly", priority: 0.6 }, { url: `${BASE}/iletisim`, changeFrequency: "yearly", priority: 0.7 }, { url: `${BASE}/site-analizi`, changeFrequency: "yearly", priority: 0.6 }, { url: `${BASE}/cerez-politikasi`, changeFrequency: "yearly", priority: 0.2 }, ]; const toEntry = ( path: string, updatedAt?: string, priority = 0.7, ): MetadataRoute.Sitemap[number] => ({ url: `${BASE}${path}`, lastModified: updatedAt ? new Date(updatedAt) : undefined, changeFrequency: "weekly", priority, }); return [ ...staticRoutes, ...posts.map((p) => toEntry(`/blog/${p.slug}`, p.$updatedAt, 0.7)), ...services.map((s) => toEntry(`/hizmetler/${s.slug}`, s.$updatedAt, 0.8)), ...solutions.map((s) => toEntry(`/cozumler/${s.slug}`, s.$updatedAt, 0.8)), ...projects.map((p) => toEntry(`/projeler/${p.slug}`, p.$updatedAt, 0.7)), ...industries.map((i) => toEntry(`/sektor/${i.slug}`, i.$updatedAt, 0.6)), ]; }