---
title: "Nuxt Sitemap v8.0.0"
description: "Release notes for v8.0.0 of Nuxt Sitemap."
canonical_url: "https://nuxtseo.com/docs/sitemap/releases/v8"
last_updated: "2026-05-06T18:46:42.305Z"
---

## Introduction

The v8 release focuses on a fully rewritten devtools experience and several quality of life improvements for Nuxt Content v3 and i18n users.

## ⚠️ Breaking Changes

### Site Config v4

Nuxt Site Config is a module used internally by Nuxt Sitemap.

The major update to v4.0.0 shouldn't have any direct effect on your site, however, you may want to double-check
the [breaking changes](https://github.com/harlan-zw/nuxt-site-config/releases/tag/v4.0.0).

### `asSitemapCollection()` Deprecated

The `asSitemapCollection()` composable has been replaced by `defineSitemapSchema()`. The old API still works but will log a deprecation warning.

```diff
import { defineCollection, defineContentConfig } from '@nuxt/content'
import { z } from 'zod'
- import { asSitemapCollection } from '@nuxtjs/sitemap/content'
+ import { defineSitemapSchema } from '@nuxtjs/sitemap/content'

export const collections = {
-  content: defineCollection(asSitemapCollection({
-    type: 'page',
-    source: '**/*.md',
-    schema: z.object({ title: z.string() })
-  }))
+  content: defineCollection({
+    type: 'page',
+    source: '**/*.md',
+    schema: z.object({
+      title: z.string(),
+      sitemap: defineSitemapSchema()
+    })
+  })
}
```

## 🚀 New Features

### `defineSitemapSchema()` Composable

A new composable for Nuxt Content v3 that provides a cleaner API for integrating sitemap configuration into your content collections. Supports `filter`, `onUrl`, and `name` options.

```ts
import { defineCollection, defineContentConfig } from '@nuxt/content'
import { z } from 'zod'
import { defineSitemapSchema } from '@nuxtjs/sitemap/content'

export const collections = {
  content: defineCollection({
    type: 'page',
    source: '**/*.md',
    schema: z.object({
      title: z.string(),
      sitemap: defineSitemapSchema({
        filter: entry => !entry.path?.startsWith('/draft'),
        onUrl: (url) => {
          // customize URL entries
          return url
        }
      })
    })
  })
}
```

### `definePageMeta` Sitemap Configuration

You can now configure sitemap options directly in your page components using `definePageMeta`.

```vue
<script setup>
definePageMeta({
  sitemap: {
    changefreq: 'daily',
    priority: 0.8
  }
})
</script>
```

### i18n Multi-Sitemap with Custom Sitemaps

Custom sitemaps with `includeAppSources: true` are now automatically expanded per locale, generating `{locale}-{name}` formatted sitemaps.

### Debug Production Endpoint

A new `/__sitemap__/debug-production.json` endpoint is available in development mode, allowing you to inspect what the production sitemap output will look like during development.

## 🐛 Bug Fixes

- **Content v3**: Filter `.navigation` paths from sitemap URL generation
- **Content v3**: Guard `afterParse` hook to prevent silent HMR failures
- **i18n**: Include base URL in multi-sitemap redirect
- **i18n**: Fix exclude filters when base URL and i18n prefixes are present
- **i18n**: Respect `autoI18n: false` to generate single sitemap instead of per-locale sitemaps
- **Types**: Use `robots` instead of `index` in route rules type definition
- **Chunked sitemaps**: Fix path resolution with `sitemapsPathPrefix: '/'`

## ⚡ Performance

- Replaced `chalk` with `consola/utils` for a smaller bundle
- Use `URL.canParse()` instead of try/catch `new URL()` for URL validation
- Use `addPrerenderRoutes()` API instead of manual route pushing
