Files
highland_games_website/app/sitemap.ts
T
Mathew 0c88206a23
Deploy to VPS / deploy (push) Has been cancelled
(Update) Update projet + todo
2026-06-22 23:32:18 +02:00

35 lines
1.4 KiB
TypeScript

import type { MetadataRoute } from "next";
import { games } from "@/lib/games";
import { getAllPosts } from "@/lib/devblog";
import { SITE_URL } from "@/lib/site";
export default function sitemap(): MetadataRoute.Sitemap {
const now = new Date();
const staticRoutes: MetadataRoute.Sitemap = [
{ url: `${SITE_URL}/`, lastModified: now, changeFrequency: "monthly", priority: 1 },
{ url: `${SITE_URL}/studio`, lastModified: now, changeFrequency: "monthly", priority: 0.8 },
{ url: `${SITE_URL}/games`, lastModified: now, changeFrequency: "weekly", priority: 0.9 },
{ url: `${SITE_URL}/devblog`, lastModified: now, changeFrequency: "weekly", priority: 0.8 },
{ url: `${SITE_URL}/contact`, lastModified: now, changeFrequency: "yearly", priority: 0.5 },
{ url: `${SITE_URL}/legal/notice`, lastModified: now, changeFrequency: "yearly", priority: 0.2 },
{ url: `${SITE_URL}/legal/privacy`, lastModified: now, changeFrequency: "yearly", priority: 0.2 },
];
const gameRoutes: MetadataRoute.Sitemap = games.map((g) => ({
url: `${SITE_URL}/games/${g.slug}`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.7,
}));
const postRoutes: MetadataRoute.Sitemap = getAllPosts().map((p) => ({
url: `${SITE_URL}/devblog/${p.slug}`,
lastModified: new Date(p.date),
changeFrequency: "yearly",
priority: 0.6,
}));
return [...staticRoutes, ...gameRoutes, ...postRoutes];
}