v3.0.0 · Nuxt Sitemap · Nuxt SEO

[NuxtSEO](https://nuxtseo.com/ "Home")

- [Modules](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Tools](https://nuxtseo.com/tools)
- [Pro](https://nuxtseo.com/pro)
- [Learn SEO](https://nuxtseo.com/learn-seo/nuxt) [Releases](https://nuxtseo.com/releases)

[1.4K](https://github.com/harlan-zw/nuxt-seo)

[Nuxt SEO on GitHub](https://github.com/harlan-zw/nuxt-seo)

[User Guides](https://nuxtseo.com/docs/sitemap/getting-started/introduction)

[API](https://nuxtseo.com/docs/sitemap/api/config)

[Releases](https://nuxtseo.com/docs/sitemap/releases/v8)

Sitemap

- [Switch to Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [Switch to Nuxt SEO](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Switch to Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Switch to OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Switch to Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Switch to Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [Switch to SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Switch to Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Switch to Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)
- [Switch to AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

Search…```k`` /`

v8.0.13

- Playgrounds
- [Discord Support](https://discord.com/invite/275MBUBvgP)

### Changelog

### Releases

- [v8.0.0](https://nuxtseo.com/docs/sitemap/releases/v8)
- [v7.0.0](https://nuxtseo.com/docs/sitemap/releases/v7)
- [v6.0.0](https://nuxtseo.com/docs/sitemap/releases/v6)
- [v5.0.0](https://nuxtseo.com/docs/sitemap/releases/v5)
- [v4.0.0](https://nuxtseo.com/docs/sitemap/releases/v4)
- [v3.0.0](https://nuxtseo.com/docs/sitemap/releases/v3)

Releases

# v3.0.0

[Copy for LLMs](https://nuxtseo.com/docs/sitemap/releases/v3.md)

## [Features 🚀](#features)

### [🤝 Stable I18n Integration](#stable-i18n-integration)

Fully supporting i18n sites through the `sitemap` module has been a long requested feature.

V2 Partially supported it, but in v3 support is fully integrated with build-time macros support and more.

### [🚀 Default Caching](#default-caching)

Caching is now enabled by default for production sitemaps. Sitemaps will be cached for 1 hour.

You can change the cache time or disable caching by setting the `cacheTtl` config.

```
export default defineNuxtConfig({
  sitemap: {
    cacheTtl: 5 * 60 * 60 * 1000 // 5 hours
  }
})
```

You can also provide your own cache instance by setting the `runtimeCacheStorage` config.

```
export default defineNuxtConfig({
  sitemap: {
    runtimeCacheStorage: {
      driver: 'redis',
      host: 'localhost',
      port: 6379,
      db: 0,
    }
  }
})
```

Learn more on the [Performance](https://nuxtseo.com/docs/sitemap/advanced/performance) guide.

### [Improved XML Stylesheet](#improved-xml-stylesheet)

The UI of the sitemap.xml page has been improved slightly. It now features more useful tips and links.

You can also customise the stylesheet with the new following config:

- `xslTips` - Toggle the tips displayed on the sitemap.xml pages.
- `xslColumns` - Customise the columns displayed on the sitemap.xml pages.

For example, you can change the columns to only show the `loc` and `lastmod` columns.

```
export default defineNuxtConfig({
  sitemap: {
    xslColumns: [
      // URL column must always be set, no value needed
      { label: 'URL', width: '75%' },
      { label: 'Last Modified', value: 'sitemap:lastmod', width: '25%' },
    ],
  },
})
```

Learn more on the [Customising the UI](https://nuxtseo.com/docs/sitemap/advanced/customising-ui) guide.

### [Debug Mode](#debug-mode)

A `debug` config has been added which will give access to a custom endpoint at `/api/__sitemap__/debug` which will show you how your sitemap is being generated.

When you build your site with debug on, a `/__sitemap__/debug.json` page will be generated.

This is disabled by default and should only be enabled for debugging purposes.

## [Other Improvements](#other-improvements)

## [New Hook: `sitemap:output`](#new-hook-sitemapoutput)

**Type:** `async (ctx: { sitemap: string; sitemapName: string }) => void | Promise<void>`

This will let you modify the string content of the final sitemap before it is returned from the server.

Can be ran in both Nitro (runtime) and Nuxt (prerendering).

## [New Hook: `sitemap:resolved`](#new-hook-sitemapresolved)

**Type:** `async (ctx: { sitemap: FullSitemapEntry[]; sitemapName: string }) => void | Promise<void>`

This will let you modify the final sitemap before it is turned into a string.

Can be ran in both Nitro (runtime) and Nuxt (prerendering).

### [Individual multi-sitemap API endpoints `dynamicUrlsApiEndpoint`](#individual-multi-sitemap-api-endpoints-dynamicurlsapiendpoint)

- Type: `boolean| string`
- Default: `false`

You can now give each sitemap a unique API endpoint to fetch URLs from.

```
export default defineNuxtConfig({
  sitemap: {
    sitemaps: {
      foo: {
        dynamicUrlsApiEndpoint: '/api/foo-sitemap'
      },
      bar: {
        dynamicUrlsApiEndpoint: '/api/bar-sitemap'
      },
    },
  }
})
```

### [New Config: `strictNuxtContentPaths`](#new-config-strictnuxtcontentpaths)

- Type: `boolean`
- Default: `false`

Enable when the paths of your nuxt/content md files match the routing.

This will automatically add sitemap content to the sitemap.

This is similar behaviour to using `nuxt/content` with `documentDriven: true`.

### [New Config: `credits`](#new-config-credits)

- Type: `boolean`
- Default: `true`

Allows you to remove the "Generate by Nuxt Sitemap" comment from the generated sitemap.

### [New Config: `xslTips`](#new-config-xsltips)

- Type: `boolean`
- Default: `true`

Toggle the tips displayed on the sitemap.xml pages.

## [Deprecation](#deprecation)

- `trailingSlash` has been deprecated
- `siteUrl` has been deprecated
- `autoAlternativeLangPrefixes` is now disabled by default. If you want to enable it, you need to set it to `true` explicitly.

[Edit this page](https://github.com/nuxt-modules/sitemap/edit/main/docs/content/5.releases/8.v3.md)

[Markdown For LLMs](https://nuxtseo.com/docs/sitemap/releases/v3.md)

Did this page help you?

[v4.0.0 Release notes for v4.0.0 of Nuxt Sitemap.](https://nuxtseo.com/docs/sitemap/releases/v4) 

On this page

- [Features 🚀](#features)
- [Other Improvements](#other-improvements)
- [New Hook: sitemap:output](#new-hook-sitemapoutput)
- [New Hook: sitemap:resolved](#new-hook-sitemapresolved)
- [Deprecation](#deprecation)

[GitHub](https://github.com/harlan-zw/nuxt-seo) [ Discord](https://discord.com/invite/275MBUBvgP)

### [NuxtSEO](https://nuxtseo.com/ "Home")

- [Getting Started](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [MCP](https://nuxtseo.com/docs/nuxt-seo/guides/mcp)

Modules

- [Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)
- [AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

### [NuxtSEO Pro](https://nuxtseo.com/pro "Nuxt SEO Pro")

- [Getting Started](https://nuxtseo.com/pro)
- [Dashboard](https://nuxtseo.com/pro/dashboard)
- [Pro MCP](https://nuxtseo.com/pro/docs/getting-started/mcp-setup)

### [Learn SEO](https://nuxtseo.com/learn-seo "Learn SEO")

Nuxt

- [Mastering Meta](https://nuxtseo.com/learn-seo/nuxt/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers)
- [Launch & Listen](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen)
- [Routes & Rendering](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering)
- [Staying Secure](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/security)

Vue

- [Vue SEO Guide](https://nuxtseo.com/learn-seo/vue)
- [Mastering Meta](https://nuxtseo.com/learn-seo/vue/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/vue/controlling-crawlers)
- [SPA SEO](https://nuxtseo.com/learn-seo/vue/spa)
- [SSR Frameworks](https://nuxtseo.com/learn-seo/vue/ssr-frameworks)
- [SEO Checklist](https://nuxtseo.com/learn-seo/checklist)
- [Pre-Launch Warmup](https://nuxtseo.com/learn-seo/pre-launch-warmup)
- [Backlinks & Authority](https://nuxtseo.com/learn-seo/backlinks)

### [Tools](https://nuxtseo.com/tools "SEO Tools")

- [Social Share Debugger](https://nuxtseo.com/tools/social-share-debugger)
- [Robots.txt Generator](https://nuxtseo.com/tools/robots-txt-generator)
- [Meta Tag Checker](https://nuxtseo.com/tools/meta-tag-checker)
- [HTML to Markdown](https://nuxtseo.com/tools/html-to-markdown)
- [XML Sitemap Validator](https://nuxtseo.com/tools/xml-sitemap-validator)
- [Schema.org Validator](https://nuxtseo.com/tools/schema-validator)
- [Keyword Idea Generator](https://nuxtseo.com/tools/keyword-generator)
- [Keyword Research](https://nuxtseo.com/tools/keyword-research)
- [SERP Analyzer](https://nuxtseo.com/tools/serp-analyzer)
- [Domain Rankings](https://nuxtseo.com/tools/domain-rankings)

Copyright © 2023-2026 Harlan Wilton - [MIT License](https://github.com/harlan-zw/nuxt-seo/blob/main/license) · [mdream](https://mdream.dev)