---
title: "Quick Module Setup Guide"
description: "A quick guide on which features are available on activating Nuxt SEO."
canonical_url: "https://nuxtseo.com/docs/nuxt-seo/guides/using-the-modules"
last_updated: "2026-05-24T14:23:42.778Z"
---

## Introduction

Nuxt SEO bundles 6 core modules via `@nuxtjs/seo`. Most work out-of-the-box, but you may need some configuration
depending on your site's requirements. Additional standalone modules like [Skew Protection](/docs/skew-protection/getting-started/introduction) and [AI Ready](/docs/ai-ready/getting-started/introduction) can be installed separately.

<callout icon="i-heroicons-information-circle">

Whether you installed `@nuxtjs/seo` (the alias) or individual modules, the configuration is the same. Each module is independent and configured through its own options. See [the introduction](/docs/nuxt-seo/getting-started/introduction#nuxtjsseo-vs-individual-modules) for details.

</callout>

This guide will give you a quick overview of each module and what you need to do to get started.

Check out the [StackBlitz Demo](https://stackblitz.com/edit/nuxt-starter-gfrej6?file=nuxt.config.ts) if you want to
see a working example.

## Sitemap

<module-card className="w-1/2" slug="sitemap">



</module-card>

Generates a [sitemap](https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview) at [/sitemap.xml](http://localhost:3000/sitemap.xml)
based on your app [data sources](/docs/sitemap/getting-started/data-sources).

- When prerendering or using static only routes, it will automatically generate a sitemap for you without any configuration.
- If you have dynamic routes, you'll need to set up a handler for [Dynamic URLs](/docs/sitemap/guides/dynamic-urls).

### I18n Features

The sitemap module will automatically generate a multi sitemap with each locale having its own sitemap.

See [I18n Sitemap](/docs/sitemap/guides/i18n) for more information.

## Robots

<module-card className="w-1/2" slug="robots">



</module-card>

Generates a [robots.txt](https://developers.google.com/search/docs/crawling-indexing/robots/intro) at [/robots.txt](http://localhost:3000/robots.txt).

Will append a `<meta name="robots" content="<rule>">` and a `X-Robots-Tag` HTTP header.

- If you have any other environments besides development and production, you need to configure the `env` option. See the [Disabling Indexing](/docs/robots/guides/disable-indexing) guide for more information.
- By default, all routes are allowed for all user-agents. See [Disabling Page Indexing](/docs/robots/guides/disable-page-indexing) to start blocking routes.

### I18n Features

Any `Disallow` rules in the robots module will automatically have the locale prefixes added.

See [I18n Robots](/docs/robots/advanced/i18n) for more information.

## OG Image

<module-card className="w-1/2" slug="og-image">



</module-card>

Generate dynamic Open Graph images for your pages.

- Opt-in, by default, it won't do anything unless you configure it.
- See the [Tutorial: Getting Familiar With Nuxt OG Image](/docs/og-image/getting-started/getting-familiar-with-nuxt-og-image) docs on setting it up.

Note: If you don't intend to generate dynamic images, it's recommended to [disable this module](/docs/nuxt-seo/guides/disabling-modules).

## Schema.org

<module-card className="w-1/2" slug="schema-org">



</module-card>

Automatically generates schema.org JSON-LD for your pages.

- Provides [default Schema.org](/docs/schema-org/guides/default-schema-org) for your pages.
- It's recommended to [Setup Your Identity](/docs/schema-org/guides/setup-identity) for your site as well.
- You can opt in to more Schema.org using [useSchemaOrg](/docs/schema-org/guides/full-documentation).

## Link Checker

<module-card className="w-1/2" slug="link-checker">



</module-card>

Checks all links for issues that may be affecting your SEO.

- When building your site it will check links
- You can also run it manually by opening the "Link Checker" tab in Nuxt DevTools

## SEO Utils

<module-card className="w-1/2" slug="seo-utils">



</module-card>

A few extra SEO Nuxt features that don't fit anywhere else.

- See the [SEO Utils Introduction](/docs/seo-utils/getting-started/introduction) for more information.
- Automatic File Metadata [Icons](/docs/seo-utils/guides/app-icons) and [Open Graph Images](/docs/seo-utils/guides/open-graph-images)
- Opt in [seoMeta](/docs/seo-utils/guides/nuxt-config-seo-meta) in your nuxt.config and route rules
- Automatic [default meta](/docs/seo-utils/guides/default-meta) for your site.
- Automatic [fallback title](/docs/seo-utils/guides/fallback-title) for your site.
- Opt-in [breadcrumbs](/docs/seo-utils/api/breadcrumbs) with Schema.org support

## Shared Configuration

<module-card className="w-1/2" slug="site-config">



</module-card>

[Nuxt Site Config](/docs/site-config/getting-started/introduction) allows you to configure all Nuxt SEO modules at build time and runtime, for example in a multi-tenant or i18n app.

<callout icon="i-heroicons-information-circle">

You do not need to install `nuxt-site-config` manually. It installs automatically with any Nuxt SEO module.

</callout>

You should set the following config. Since v5, site config is no longer inferred from `package.json` or your project directory, so these values must be set explicitly:

- `url` - The canonical URL of your site, avoids duplicate content and consolidates page rank.
- `name` - The name of your site, used in the title and meta tags. **Required** if you want your site name in SEO output.
- `description` - The description of your site, used in the meta tags.
- `defaultLocale` - The default locale of your site, used in the meta tags. (you can omit this if you're using `@nuxtjs/i18n` or `nuxt-i18n-micro`)

```ts [nuxt.config.ts]twoslash
export default defineNuxtConfig({
  site: {
    url: 'https://example.com',
    name: 'Awesome Site',
    description: 'Welcome to my awesome site!',
    defaultLocale: 'en', // not needed if you have @nuxtjs/i18n or nuxt-i18n-micro installed
  }
})
```

### I18n Features

You can dynamically set the site config based on the current locale.

This is useful for setting the `url` and `name` properties based on the page the user is currently on.

See [I18n Site Config](/docs/site-config/guides/i18n) for more information.
