Nuxt Content v2 Support Removed

Nuxt Content v2 is no longer supported. If you're using @nuxt/content, you must upgrade to v3 or later.

The automatic ogImage frontmatter handling for Content v2 has been removed. Use defineOgImage() in your page components instead.

// pages/[...slug].vue
defineOgImage({
  component: 'NuxtSeo',
  // ...
})

Config Changes

strictNuxtContentPaths Removed

This option was deprecated and has no effect in Nuxt Content v3. Remove it from your config:

export default defineNuxtConfig({
  ogImage: {
-   strictNuxtContentPaths: true,
  }
})

Chromium node Binding Removed

The deprecated chromium: 'node' compatibility option has been removed. Use 'playwright' instead:

export default defineNuxtConfig({
  ogImage: {
    compatibility: {
      runtime: {
-       chromium: 'node',
+       chromium: 'playwright',
      }
    }
  }
})

Import Path Changes

#nuxt-og-image-utils Alias Removed

If you were importing from this legacy alias, update your imports:

- import { ... } from '#nuxt-og-image-utils'
+ import { ... } from '#og-image/shared'

useOgImageRuntimeConfig Import Path

The deprecated stub export from #og-image/shared has been removed. Import from the correct path:

- import { useOgImageRuntimeConfig } from '#og-image/shared'
+ import { useOgImageRuntimeConfig } from '#og-image/app/utils'

Behavior Changes

Sharp JPEG Errors

Previously, if Sharp failed to load for JPEG rendering, it would log an error and fall back to PNG silently. Now it throws an error.

Ensure Sharp is properly installed and your runtime supports it if you're using JPEG output. See the compatibility guide for details.

Did this page help you?