NextJs 14 Dynamic XML Sitemap
In this video I want to share how I made a dynamic XML sitemap using NextJS 14. To illustrate this, I will be using MongoDB as a local data source and I will go thru setting up the re-validation of the sitemap to ensure that fresh data is fetched at specific intervals of our choosing.
Example code:
import { connectToDatabase } from "@/utils/connectMongo"; export const revalidate = 3600 // one hour export default async function sitemap() { const client = await connectToDatabase(); const db = client.db("database"); let data = await db.collection("product").find({}).toArray(); const products = data.map((item) => ({ url: `${process.env.NEXT_WEBSITE_URL}/product/${item.slug}`, lastModified: item.updated_at || item.created_at, changefreq: "monthly", priority: 0.6, })); return [ { url: "https://website.com/", lastModified: new Date(), changefreq: "daily", priority: 1, }, { url: "https://website.com/about", lastModified: new Date(), changefreq: "weekly", priority: 1, }, ...products, ]; }
can you share me the above repo url,as i want to generate dynamic sitemap.xml file but after building sitemap.xml is not creating
I pasted the code in the article above. Just change your database query and fields and it should work