diff --git a/src/app/sitemap.ts b/src/app/sitemap.ts index da45d2f..128d4b7 100644 --- a/src/app/sitemap.ts +++ b/src/app/sitemap.ts @@ -1,6 +1,8 @@ import type { MetadataRoute } from "next"; import { getPublishedPosts, getPublicCategories, getAllTags } from "@/lib/store"; +export const dynamic = "force-dynamic"; + const SITE_URL = process.env.NEXT_PUBLIC_SITE_URL || "https://asui.xyz"; export default async function sitemap(): Promise { @@ -12,32 +14,36 @@ export default async function sitemap(): Promise { { url: `${SITE_URL}/about`, changeFrequency: "yearly", priority: 0.5 }, ]; - const [publishedPosts, tags, categories] = await Promise.all([ - getPublishedPosts(), - getAllTags(), - getPublicCategories(), - ]); + try { + const [publishedPosts, tags, categories] = await Promise.all([ + getPublishedPosts(), + getAllTags(), + getPublicCategories(), + ]); - const postRoutes: MetadataRoute.Sitemap = publishedPosts.map((post) => ({ - url: `${SITE_URL}/posts/${post.slug}`, - lastModified: new Date(post.updatedAt || post.date), - changeFrequency: "monthly", - priority: 0.8, - })); + const postRoutes: MetadataRoute.Sitemap = publishedPosts.map((post) => ({ + url: `${SITE_URL}/posts/${post.slug}`, + lastModified: new Date(post.updatedAt || post.date), + changeFrequency: "monthly", + priority: 0.8, + })); - const tagRoutes: MetadataRoute.Sitemap = tags.map((tag) => ({ - url: `${SITE_URL}/blog?tag=${encodeURIComponent(tag.name)}`, - changeFrequency: "monthly", - priority: 0.4, - })); - - const categoryRoutes: MetadataRoute.Sitemap = categories - .filter((c) => c.count > 0) - .map((cat) => ({ - url: `${SITE_URL}/blog?category=${encodeURIComponent(cat.name)}`, - changeFrequency: "monthly" as const, + const tagRoutes: MetadataRoute.Sitemap = tags.map((tag) => ({ + url: `${SITE_URL}/blog?tag=${encodeURIComponent(tag.name)}`, + changeFrequency: "monthly", priority: 0.4, })); - return [...staticRoutes, ...postRoutes, ...tagRoutes, ...categoryRoutes]; + const categoryRoutes: MetadataRoute.Sitemap = categories + .filter((c) => c.count > 0) + .map((cat) => ({ + url: `${SITE_URL}/blog?category=${encodeURIComponent(cat.name)}`, + changeFrequency: "monthly" as const, + priority: 0.4, + })); + + return [...staticRoutes, ...postRoutes, ...tagRoutes, ...categoryRoutes]; + } catch { + return staticRoutes; + } }