v6.0.0 · Nuxt Schema.org · Nuxt SEO

-
-
-
-

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

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

Schema.org

-
-
-
-
-
-
-
-
-
-

Search…```k`` /`

v6.0.4

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

### Changelog

### Releases

-
-
-
-

Releases

# v6.0.0

[Copy for LLMs](https://nuxtseo.com/docs/schema-org/releases/v6.md)

## [Introduction](#introduction)

The v6 major of Nuxt Schema.org adds a new content composable, fixes SSR memory leaks, resolves `@id` URL generation issues, and migrates the devtools to the shared nuxtseo infrastructure.

## [⚠️ Breaking Changes](#️-breaking-changes)

### [Site Config v4](#site-config-v4)

Nuxt Site Config is a module used internally by Nuxt Schema.org.

Its 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).

### [Devtools Rewrite](#devtools-rewrite)

The devtools panel has been migrated to the shared `nuxtseo-shared` infrastructure. The UI has been cleaned up and now includes a schema validator, debug view, raw JSON view, and documentation links. If you relied on the previous devtools layout, the information is still available under new navigation tabs.

## [🚀 Features](#features)

### [`defineSchemaOrgSchema()` Composable](#defineschemaorgschema-composable)

A new composable for `@nuxt/content` v3 that simplifies adding Schema.org fields to your content schema.

content.config.ts

```
import { defineCollection, defineContentConfig } from '@nuxt/content'
import { defineSchemaOrgSchema } from 'nuxt-schema-org/content'
import { z } from 'zod'

export default defineContentConfig({
  collections: {
    pages: defineCollection({
      type: 'page',
      source: '**/*.md',
      schema: z.object({
        schemaOrg: defineSchemaOrgSchema(),
      }),
    }),
  },
})
```

This replaces the previous `asSchemaOrgCollection()` helper, which is now deprecated.

## [🔧 Bug Fixes](#bug-fixes)

### [SSR Memory Leak from Reactive Scopes](#ssr-memory-leak-from-reactive-scopes)

Reactive scopes created during SSR were not being disposed, causing memory to accumulate across requests. The plugin now resolves paths directly on the server without creating computed refs, avoiding leaked reactive watchers entirely.

### [`@id` URLs Now Respect `app.baseURL`](#id-urls-now-respect-appbaseurl)

All `defineXYZ` helpers (e.g. `defineWebPage`, `defineOrganization`) now correctly include `app.baseURL` when generating `@id` values. Previously, sites deployed under a base path (e.g. `/docs/`) would produce `@id` URLs missing that prefix.

### [Nuxt Context Preserved in Computed Refs](#nuxt-context-preserved-in-computed-refs)

Passing a computed ref to `useSchemaOrg()` could trigger "useNuxtApp() called outside of setup" errors when Unhead later evaluated the getter. The composable now wraps ref inputs with `runWithContext()` to preserve the Nuxt async context.

[Edit this page](https://github.com/harlan-zw/nuxt-schema-org/edit/main/docs/content/4.releases/2.v6.md)

[Markdown For LLMs](https://nuxtseo.com/docs/schema-org/releases/v6.md)

Did this page help you?

On this page

- [Introduction](#introduction)
- [⚠️ Breaking Changes](#️-breaking-changes)
- [🚀 Features](#features)
- [🔧 Bug Fixes](#bug-fixes)

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

###

-
-

Modules

-
-
-
-
-
-
-
-
-

###

-
-
-

###

Nuxt

-
-
-
-
-

Vue

-
-
-
-
-
-
-
-

###

-
-
-
-
-
-
-
-
-
-

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