Sitemap Performance · 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.12

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

### Getting Started

- [Introduction](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [Installation](https://nuxtseo.com/docs/sitemap/getting-started/installation)
- [Data Sources](https://nuxtseo.com/docs/sitemap/getting-started/data-sources)
- [Troubleshooting](https://nuxtseo.com/docs/sitemap/getting-started/troubleshooting)

### Core Concepts

- [Dynamic URL Endpoints](https://nuxtseo.com/docs/sitemap/guides/dynamic-urls)
- [Disabling Indexing](https://nuxtseo.com/docs/sitemap/guides/filtering-urls)
- [Multi Sitemaps](https://nuxtseo.com/docs/sitemap/guides/multi-sitemaps)
- [I18n](https://nuxtseo.com/docs/sitemap/guides/i18n)
- [Nuxt Content](https://nuxtseo.com/docs/sitemap/guides/content)
- [Nuxt Prerendering](https://nuxtseo.com/docs/sitemap/guides/prerendering)
- [Best Practices](https://nuxtseo.com/docs/sitemap/guides/best-practices)
- [Submitting Your Sitemap](https://nuxtseo.com/docs/sitemap/guides/submitting-sitemap)
- [Zero Runtime](https://nuxtseo.com/docs/sitemap/guides/zero-runtime)

### Advanced

- [Lastmod, Priority, and Changefreq](https://nuxtseo.com/docs/sitemap/advanced/loc-data)
- [Images, Videos, News](https://nuxtseo.com/docs/sitemap/advanced/images-videos)
- [Sitemap Performance](https://nuxtseo.com/docs/sitemap/advanced/performance)
- [Sitemap Chunking](https://nuxtseo.com/docs/sitemap/advanced/chunking-sources)
- [Customising the UI](https://nuxtseo.com/docs/sitemap/advanced/customising-ui)

Advanced

# Sitemap Performance

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

## [Introduction](#introduction)

For apps with 100k+ pages, generating a sitemap can be a slow process. As robots will request your sitemap frequently, it's important to keep it fast.

Nuxt SEO provides a default cache engine to keep your sitemaps fast and recommendations on how to improve performance.

## [Performance Recommendations](#performance-recommendations)

When dealing with many URLs that are being generated from an external API, the best option is use the `sitemaps` option to create [Named Sitemap Chunks](https://nuxtseo.com/docs/sitemap/guides/multi-sitemaps).

Each sitemap should contain its own `sources`, this allows other sitemaps to be generated without waiting for this request.

```
export default defineNuxtConfig({
  sitemap: {
    sitemaps: {
      posts: {
        sources: [
          'https://api.something.com/urls'
        ]
      },
    },
  },
})
```

If you need to split this up further, you should consider chunking by the type and some pagination format. For example, you can paginate by when posts were created.

```
export default defineNuxtConfig({
  sitemap: {
    sitemaps: {
      posts2020: {
        sources: [
          'https://api.something.com/urls?filter[yearCreated]=2020'
        ]
      },
      posts2021: {
        sources: [
          'https://api.something.com/urls?filter[yearCreated]=2021'
        ]
      },
    },
  },
})
```

Additionally, you may want to consider the following experimental options that may help with performance:

- `experimentalCompression` - Gzip's and streams the sitemap
- `experimentalWarmUp` - Creates the sitemaps when Nitro starts

## [Zero Runtime Mode](#zero-runtime-mode)

If your sitemap URLs only change when you deploy (not at runtime), you can enable `zeroRuntime` to generate sitemaps at build time and eliminate sitemap generation code from your server bundle.

```
export default defineNuxtConfig({
  sitemap: {
    zeroRuntime: true
  }
})
```

This reduces server bundle size by ~50KB. The sitemap is generated once at build time and served as a static file.

See the [Zero Runtime](https://nuxtseo.com/docs/sitemap/guides/zero-runtime) guide for details.

## [Sitemap Caching](#sitemap-caching)

Caching your sitemap can help reduce the load on your server and improve performance.

By default, SWR caching is enabled on production environments and sitemaps will be cached for 10 minutes.

This is configured by overriding your route rules and leveraging the native Nuxt caching.

### [Cache Time](#cache-time)

You can change the cache time by setting the `cacheMaxAgeSeconds` option. This affects the `Cache-Control` header sent to browsers and search engines.

```
export default defineNuxtConfig({
  sitemap: {
    cacheMaxAgeSeconds: 3600 // 1 hour
  }
})
```

If you want to disable caching, set `cacheMaxAgeSeconds` to `false` or `0`.

The server-side SWR cache is currently limited to 10 minutes by default to ensure sitemaps don't stay stale for too long on the server.

### [Cache Driver](#cache-driver)

The cache engine is set to the Nitro default of the `cache/` path.

If you want to customise the cache engine, you can set the `runtimeCacheStorage` option.

nuxt.config.ts

```
export default defineNuxtConfig({
  sitemap: {
    // cloudflare kv binding example
    runtimeCacheStorage: {
      driver: 'cloudflare-kv-binding',
      binding: 'OG_IMAGE_CACHE'
    }
  }
})
```

[Edit this page](https://github.com/nuxt-modules/sitemap/edit/main/docs/content/2.advanced/2.performance.md)

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

Did this page help you?

### Related

[Multi Sitemaps](https://nuxtseo.com/docs/sitemap/guides/multi-sitemaps) [Sitemap Chunking](https://nuxtseo.com/docs/sitemap/advanced/chunking-sources) [Nuxt Site Config](https://nuxtseo.com/docs/site-config/getting-started/installation)

[Images, Videos, News Learn how to add images, videos and news in your sitemap.](https://nuxtseo.com/docs/sitemap/advanced/images-videos) [Sitemap Chunking Split large sitemap sources into multiple files for performance and search engine limits.](https://nuxtseo.com/docs/sitemap/advanced/chunking-sources)

On this page

- [Introduction](#introduction)
- [Performance Recommendations](#performance-recommendations)
- [Zero Runtime Mode](#zero-runtime-mode)
- [Sitemap Caching](#sitemap-caching)

[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 "Home")

- [Getting Started](https://nuxtseo.com/pro)
- [Dashboard](https://nuxtseo.com/pro/dashboard)
- [Pro MCP](https://nuxtseo.com/docs/nuxt-seo-pro/mcp/installation)

### [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)