v4.0.0 · Nuxt Site Config · 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/site-config/getting-started/introduction)

[API](https://nuxtseo.com/docs/site-config/api/use-site-config)

[Releases](https://nuxtseo.com/docs/site-config/releases/v4)

Site Config

- [Switch to Site Config](https://nuxtseo.com/docs/site-config/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 Sitemap](https://nuxtseo.com/docs/sitemap/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 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`` /`

v4.0.8

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

### Changelog

### Releases

- [v4.0.0](https://nuxtseo.com/docs/site-config/releases/v4)
- [v3.0.0](https://nuxtseo.com/docs/site-config/releases/v3)

Releases

# v4.0.0

[Copy for LLMs](https://nuxtseo.com/docs/site-config/releases/v4.md)

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

### [🏷️ Removed Implicit Site Name Inference](#️-removed-implicit-site-name-inference)

Previously, `site.name` was automatically inferred from your `package.json` `name` field or project directory name. This caused package name leakage in public APIs (e.g., `@nuxtjs/sitemap` exposing internal package names).

You must now explicitly set `site.name`:

nuxt.config

```
export default defineNuxtConfig({
  site: {
    name: 'My Website',
  }
})
```

Or via environment variable:

```
NUXT_SITE_NAME="My Website"
```

If not set, `site.name` will be `undefined`.

### [🔑 Removed Legacy `site*` Runtime Config Keys](#removed-legacy-site-runtime-config-keys)

Deprecated `siteUrl`, `siteName`, and `siteDescription` runtime config keys are removed.

```
 export default defineNuxtConfig({
-  runtimeConfig: {
-    public: {
-      siteUrl: 'https://example.com',
-    }
-  },
+  site: {
+    url: 'https://example.com',
+  }
 })
```

### [🔄 Removed Server-Side `useSiteConfig` Composable](#removed-server-side-usesiteconfig-composable)

v4 removes the server-side `useSiteConfig()` composable to resolve auto-import name collisions between client and server composables.

Use `getSiteConfig()` on the server instead:

```
-const config = useSiteConfig(event)
+const config = getSiteConfig(event)
```

The client-side `useSiteConfig()` composable is unchanged.

### [🗑️ Deprecated `getSiteIndexable` Composable](#️-deprecated-getsiteindexable-composable)

`getSiteIndexable()` is deprecated. Prefer checking the `indexable` property directly:

```
-const indexable = getSiteIndexable(event)
+const { indexable } = getSiteConfig(event)
```

### [📦 Removed `#internal/nuxt-site-config` Barrel Export](#removed-internalnuxt-site-config-barrel-export)

v4 removes the legacy `#internal/nuxt-site-config` import path. Use the documented public APIs instead.

### [🏗️ Deprecated `SiteConfig` Type Alias](#️-deprecated-siteconfig-type-alias)

`SiteConfig` is deprecated as an alias for `SiteConfigResolved`. It still exists but will be removed in a future version. Prefer `SiteConfigResolved`:

```
-import type { SiteConfig } from 'nuxt-site-config'
+import type { SiteConfigResolved } from 'nuxt-site-config'
```

## [✨ New Features](#new-features)

### [🎯 Named Priority Constants](#named-priority-constants)

Site config priority levels are now exposed as named constants for better readability when setting config priorities:

```
import { SiteConfigPriority } from 'site-config-stack'

updateSiteConfig({
  name: 'My Site',
  _priority: SiteConfigPriority.runtime,
})
```

Available priorities: `system`, `vendor`, `nitro`, `config`, `i18n`, `build`, `runtime`.

[Edit this page](https://github.com/harlan-zw/nuxt-site-config/edit/main/docs/content/4.releases/4.v4.md)

[Markdown For LLMs](https://nuxtseo.com/docs/site-config/releases/v4.md)

Did this page help you?

[Nitro Hooks Learn how to use Nitro Hooks to customize your site config.](https://nuxtseo.com/docs/site-config/nitro-api/nitro-hooks) [v3.0.0 Release notes for v3.0.0.](https://nuxtseo.com/docs/site-config/releases/v3)

On this page

- [⚠️ Breaking Changes](#️-breaking-changes)
- [✨ New Features](#new-features)

[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 "Nuxt SEO Pro")

- [Getting Started](https://nuxtseo.com/pro)
- [Dashboard](https://nuxtseo.com/pro/dashboard)
- [Pro MCP](https://nuxtseo.com/pro/docs/getting-started/mcp-setup)

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