In this article, we will show you how to generate a sitemap for your Next.js application on Vercel.
The Next.js App Router has built in support for generating sitemaps. You can use the sitemap.(js|ts) file convention to programmatically generate a sitemap by exporting a default function that returns an array of URLs. If using TypeScript, a Sitemap type is available.
app/sitemap.ts
import { MetadataRoute } from 'next' export default function sitemap(): MetadataRoute.Sitemap {  return [    {      url: 'https://acme.com',      lastModified: new Date(),      changeFrequency: 'yearly',      priority: 1,    },    {      url: 'https://acme.com/about',      lastModified: new Date(),      changeFrequency: 'monthly',      priority: 0.8,    },    {      url: 'https://acme.com/blog',      lastModified: new Date(),      changeFrequency: 'weekly',      priority: 0.5,    },  ]}This will generate the following sitemap.xml file during next build:
sitemap.xml
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">  <url>    <loc>https://acme.com</loc>    <lastmod>2023-04-06T15:02:24.021Z</lastmod>    <changefreq>yearly</changefreq>    <priority>1</priority>  </url>  <url>    <loc>https://acme.com/about</loc>    <lastmod>2023-04-06T15:02:24.021Z</lastmod>    <changefreq>monthly</changefreq>    <priority>0.8</priority>  </url>  <url>    <loc>https://acme.com/blog</loc>    <lastmod>2023-04-06T15:02:24.021Z</lastmod>    <changefreq>weekly</changefreq>    <priority>0.5</priority>  </url></urlset>