Routing Exports

This page catalogs all the special exports One supports from route files.

Note that _layout routes are special and do not support these exports unless specified.

generateStaticParams

This export is needed for "ssg" type pages that use dynamic path segments (for example, [id].tsx). At build-time, One will expand the id segment into multiple pages, using the values you return from generateStaticParams.

The entire function and export generateStaticParams will be removed at build-time and everything it depends on will be tree-shaken out of your client-side bundle.

You'll need to return an array of objects, where the object keys match the name inside the brackets. As an example, we'll use nested dynamic segments:

app/blog/[month]/[year]/[slug]+ssg.tsx

export async function generateStaticParams() {
const blogPosts = await getAllBlogPosts()
return blogPosts.map((post) => {
return {
month: post.month,
year: post.year,
slug: post.slug,
}
})
}

If this function returned this:

;[
{
month: 10,
year: 2025,
slug: 'some-slug',
},
]

Then you'd generate one page at /blog/10/2025/some-slug.

sitemap

Control how a route appears in the generated sitemap.xml. This export is only used when web.sitemap is enabled in your config.

app/blog/[slug].tsx

// Customize sitemap entry for this route
export const sitemap = {
// Priority (0.0 to 1.0) - higher means more important
priority: 0.8,
// How often the content changes
changefreq: 'daily',
// Last modification date (optional)
lastmod: '2024-12-15',
}

You can also exclude a route from the sitemap entirely:

app/admin/dashboard.tsx

export const sitemap = {
exclude: true,
}

Available options:

| Option | Type | Description | | ------------ | ---------------- | ----------------------------------------------------------------------------------------- | | priority | number | Value from 0.0 to 1.0 indicating relative importance | | changefreq | string | One of: 'always', 'hourly', 'daily', 'weekly', 'monthly', 'yearly', 'never' | | lastmod | string \| Date | Last modification date for this route | | exclude | boolean | Set to true to exclude this route from the sitemap |

Route-level exports override the defaults set in your config.

Edit this page on GitHub.