---
title: "Recommended Config"
description: "Learn how to set site config in your Nuxt app."
canonical_url: "https://nuxtseo.com/docs/site-config/guides/setting-site-config"
last_updated: "2026-05-06T21:37:26.414Z"
---

Site config can be set from many different sources from each environment.

For a full list see [how it works](/docs/site-config/getting-started/how-it-works).

At a minimum, it's recommended you provide a `url`, `env` and `name` for your site.

## Dev and Live Only

If you only run your site in development and live environments, you can safely set your site config in your `nuxt.config.ts` file.

```ts [nuxt.config.ts]
export default defineNuxtConfig({
  site: {
    url: 'https://example.com',
    name: 'My Site',
    // ...etc
  },
})
```

## Environment-Specific Site Config

If you have other environments, such as a staging or testing site, then it's recommended to
set your site config using environment variables.

```bash
NUXT_SITE_URL=https://test.example.com
NUXT_SITE_NAME="STAGING SITE NAME"
NUXT_SITE_ENV="staging"
```

## Build Time Site Config

If you need to set your site config programmatically, you can use the `site-config:resolve` hook with `updateSiteConfig` from the kit.

```ts
import { updateSiteConfig } from 'nuxt-site-config/kit'

export default defineNuxtConfig({
  hooks: {
    'site-config:resolve': () => {
      if (process.env.FOO) {
        updateSiteConfig({
          name: 'Bar',
        })
      }
    },
  },
})
```

## Runtime Site Config

Sometimes you need to set your site config programmatically. The module fully supports this, see the [Runtime Site Config](/docs/site-config/guides/runtime-site-config) guide to
learn how.
