seo: always serve sitemap.xml even if DB unavailable
Co-authored-by: dennis <dennis@konkol.net>
This commit is contained in:
@@ -58,11 +58,15 @@ export async function getSitemapEntries(): Promise<SitemapEntry[]> {
|
||||
orderBy: { updatedAt: "desc" },
|
||||
});
|
||||
} catch (error) {
|
||||
// If DB isn't ready/migrated yet, still serve a valid sitemap for static pages.
|
||||
// If DB isn't ready/migrated/reachable yet, still serve a valid sitemap for static pages.
|
||||
if (process.env.NODE_ENV === "development") {
|
||||
console.warn("Sitemap: failed to load projects; serving static entries only.", error);
|
||||
}
|
||||
if (error instanceof PrismaClientKnownRequestError && (error.code === "P2021" || error.code === "P2022")) {
|
||||
return staticEntries;
|
||||
}
|
||||
throw error;
|
||||
// Also fail soft on connection/init errors in dev/staging (keeps sitemap valid for crawlers)
|
||||
return staticEntries;
|
||||
}
|
||||
|
||||
const projectEntries: SitemapEntry[] = projects.flatMap((p) => {
|
||||
|
||||
Reference in New Issue
Block a user