---
title: "Nuxt Sitemap v8.0.0 · Nuxt Sitemap · Nuxt SEO"
canonical_url: "https://nuxtseo.com/docs/sitemap/releases/v8"
last_updated: "2026-08-15T08:30:28.643Z"
meta:
  description: "Release notes for v8.0.0 of Nuxt Sitemap."
  "og:description": "Release notes for v8.0.0 of Nuxt Sitemap."
  "og:title": "Nuxt Sitemap v8.0.0 · Nuxt Sitemap · Nuxt SEO"
---

Nuxt SEO on GitHub

Switch to SitemapSwitch to Nuxt SEOSwitch to RobotsSwitch to OG ImageSwitch to Schema.orgSwitch to Link CheckerSwitch to SEO UtilsSwitch to Site ConfigSwitch to Skew ProtectionSwitch to AI Ready

**Releases**

# **Nuxt Sitemap v8.0.0**

## 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.

content.config.ts

```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

**Was this page helpful?**

### **Related **

[**Nuxt Sitemap v7.0.0**](https://nuxtseo.com/docs/sitemap/releases/v7)

[**Install Nuxt Sitemap**](https://nuxtseo.com/docs/sitemap/getting-started/installation)

[**Nuxt Site Config v4.0.0**](https://nuxtseo.com/docs/site-config/releases/v4)

[**Nitro Hooks** Learn how to use Nitro Hooks to customize your sitemap entries.](https://nuxtseo.com/docs/sitemap/nitro-api/nitro-hooks) [**v7.0.0** Release notes for v7.0.0 of Nuxt Sitemap.](https://nuxtseo.com/docs/sitemap/releases/v7)