File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed
Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change 1+ import type { MetadataRoute } from "next" ;
2+ import { loadState , getAllPageUrls , SITEMAP_CONFIG } from "../lib/sitemap" ;
3+
4+ export const dynamic = "force-dynamic" ;
5+ export const revalidate = 3600 ; // Revalidate every hour
6+
7+ // eslint-disable-next-line import/no-default-export -- Required by Next.js sitemap convention
8+ export default async function sitemap ( ) : Promise < MetadataRoute . Sitemap > {
9+ // Load state from Redis
10+ const state = await loadState ( ) ;
11+
12+ // Get all page URLs
13+ const pageUrls = getAllPageUrls ( ) ;
14+
15+ // Build sitemap entries
16+ const entries : MetadataRoute . Sitemap = pageUrls . map ( ( url ) => {
17+ const pageState = state ?. pages [ url ] ;
18+
19+ return {
20+ url : `${ SITEMAP_CONFIG . baseUrl } ${ url } ` ,
21+ lastModified : pageState ?. lastmod
22+ ? new Date ( pageState . lastmod )
23+ : new Date ( )
24+ } ;
25+ } ) ;
26+
27+ return entries ;
28+ }
You can’t perform that action at this time.
0 commit comments