← back to Govarbitrage
src/app/sitemap.ts
29 lines
import type { MetadataRoute } from "next";
import { listDigestDates } from "@/lib/digest-snapshot";
import { publicBaseUrl } from "@/lib/site";
export const dynamic = "force-dynamic";
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
const base = publicBaseUrl();
const dates = await listDigestDates();
const staticPages: MetadataRoute.Sitemap = [
{ url: `${base}/`, changeFrequency: "daily", priority: 0.8 },
{ url: `${base}/newsletter`, changeFrequency: "weekly", priority: 1 },
{ url: `${base}/pricing`, changeFrequency: "weekly", priority: 0.7 },
{ url: `${base}/deals`, changeFrequency: "daily", priority: 0.9 },
{ url: `${base}/selling-avenues`, changeFrequency: "weekly", priority: 0.7 },
];
return [
...staticPages,
...dates.map(({ date, lastModified }) => ({
url: `${base}/deals/${date}`,
lastModified,
changeFrequency: "monthly" as const, // frozen snapshots — they don't change
priority: 0.6,
})),
];
}