36 lines
1.4 KiB
TypeScript
36 lines
1.4 KiB
TypeScript
import type { MetadataRoute } from "next";
|
|
import { games } from "@/lib/games";
|
|
import { getAllPosts } from "@/lib/devblog";
|
|
|
|
const SITE_URL = "https://highlandgamesstudio.com";
|
|
|
|
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];
|
|
}
|