How it works · 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.7

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

### Getting Started

- [Introduction](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Installation](https://nuxtseo.com/docs/site-config/getting-started/installation)
- [Troubleshooting](https://nuxtseo.com/docs/site-config/getting-started/troubleshooting)

### Core Concepts

- [Recommended Config](https://nuxtseo.com/docs/site-config/guides/setting-site-config)
- [How it works](https://nuxtseo.com/docs/site-config/guides/how-it-works)
- [Nuxt I18n](https://nuxtseo.com/docs/site-config/guides/i18n)
- [Runtime Site Config](https://nuxtseo.com/docs/site-config/guides/runtime-site-config)
- [Multi-Tenancy](https://nuxtseo.com/docs/site-config/guides/multi-tenancy)

Core Concepts

# How it works

[Copy for LLMs](https://nuxtseo.com/docs/site-config/guides/how-it-works.md)

# Config Sources

Site config resolves from the following sources, in order of precedence:

## [Build Time](#build-time)

### [1. System](#_1-system)

System details relate to the environment the app is running in.

```
export default {
  env: process.env.NODE_ENV,
}
```

The `indexable` property is not set directly in the system config. It is derived at read time from `env` by the `getSiteIndexable()` utility, which defaults to `true` when `env` is `'production'`.

### [2. Vendor CI Environment](#_2-vendor-ci-environment)

When deploying to supported platforms, `url` and `name` are automatically populated from platform environment variables. These have low priority and are overridden by any explicit config you provide.

| Platform | `url` | `name` |
| --- | --- | --- |
| [Vercel](https://vercel.com) | `VERCEL_URL`, `NUXT_ENV_VERCEL_URL` | `NUXT_ENV_VERCEL_GIT_REPO_SLUG` |
| [Netlify](https://netlify.com) | `URL` | `SITE_NAME` |
| Cloudflare Pages | `CF_PAGES_URL` | |

As of v4, `site.name` is no longer inferred from your project directory or `package.json`. It will only be auto-populated from CI platform env vars listed above, or from explicit config. See the [v4 release notes](https://nuxtseo.com/docs/site-config/releases/v4).

### [3. Module overrides](#_3-module-overrides)

Build time site config provided by modules.

### [4. Nuxt Config `site` key](#_4-nuxt-config-site-key)

Site config provided by the user in the Nuxt config.

### [5. Runtime Config and Environment Variables](#_5-runtime-config-and-environment-variables)

Site config provided by the user at runtime. `runtimeConfig.public.site` and associated environment variables (e.g. `NUXT_SITE_URL`, `NUXT_SITE_NAME`).

### [6. Nuxt Hook](#_6-nuxt-hook)

The `site-config:resolve` hook fires to allow any final build time modifications to the config.

## [SSR / Nitro Runtime](#ssr-nitro-runtime)

### [1. Request URL](#_1-request-url)

The request URL determines the site URL at runtime.

### [2. Build Time Site Config](#_2-build-time-site-config)

Config resolved in the build step, stored on `runtimeConfig['nuxt-site-config'].stack`.

### [3. Route Rules](#_3-route-rules)

Config resolved from the route rules of the request path, the `site` key. This allows for multi-site support.

## [CSR Runtime](#csr-runtime)

In CSR, site config is not re-derived from the browser context. Instead, it is hydrated directly from the SSR-rendered payload sent by the server. This ensures the client has the same config as the server without any hydration mismatches.

[Edit this page](https://github.com/harlan-zw/nuxt-site-config/edit/main/docs/content/2.guides/3.how-it-works.md)

[Markdown For LLMs](https://nuxtseo.com/docs/site-config/guides/how-it-works.md)

Did this page help you?

[Recommended Config Learn how to set site config in your Nuxt app.](https://nuxtseo.com/docs/site-config/guides/setting-site-config) [Nuxt I18n How to use the Nuxt Site Config module with Nuxt I18n.](https://nuxtseo.com/docs/site-config/guides/i18n)

On this page

- [Build Time](#build-time)
- [SSR / Nitro Runtime](#ssr-nitro-runtime)
- [CSR Runtime](#csr-runtime)

[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 "Home")

- [Getting Started](https://nuxtseo.com/pro)
- [Dashboard](https://nuxtseo.com/pro/dashboard)
- [Pro MCP](https://nuxtseo.com/docs/nuxt-seo-pro/mcp/installation)

### [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 Research Pro](https://nuxtseo.com/tools/keyword-research)
- [SERP Analyzer Pro](https://nuxtseo.com/tools/serp-analyzer)
- [Domain Rankings Pro](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)