# Nuxt SEO: Installation, Module Boundaries, and Upgrade Constraints

> Nuxt SEO is a meta-package that configures nine related modules for Nuxt applications. It suits Nuxt teams seeking a coordinated SEO setup, but its version requirements and bundled scope need checking before adoption.

**harlan-zw/nuxt-seo** — Fully equipped Technical SEO & AEO for busy Nuxters.

- Repository: https://github.com/harlan-zw/nuxt-seo
- Website: https://nuxtseo.com
- Stars: 1,461 · Forks: 94
- Language: TypeScript
- License: MIT
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/harlan-zw-nuxt-seo

## What Nuxt SEO consolidates for Nuxt applications

Nuxt SEO addresses the configuration burden of assembling technical SEO and answer-engine optimization features inside a Nuxt project. Its problem is narrower than search marketing in general. It does not create content strategy, perform keyword research, or submit a site to a search engine. Instead, it installs and configures modules that produce and validate machine-readable signals around pages. The intended users are Nuxt developers and teams that would otherwise have to select, coordinate, and configure several separate packages.

The package brings together nine modules with distinct responsibilities. Robots handles `robots.txt`, robots meta tags, and `X-Robots-Tag` headers. Sitemap produces sitemaps from routes and data sources and supports internationalization. Schema.org adds JSON-LD structured data. OG Image generates Open Graph images from Vue components. SEO Utils handles titles, meta tags, canonical URLs, breadcrumbs, favicons, and social-share links.

The remaining modules cover operational and discovery concerns. Link Checker searches for broken links during development and builds. Site Config shares site URLs, names, and locales across the other modules. AI Ready provides `llms.txt` and Markdown versions of pages. Skew Protection keeps assets from a previous build available after deployment. This division matters because Nuxt SEO acts as the installation and coordination layer for packages with different jobs, rather than presenting one monolithic implementation.

The bundle also checks module versions at build time and checks configuration during development. Those checks can catch integration mistakes earlier than a deployment, but they also make version alignment part of the adoption decision. This is particularly relevant because the current major release requires a narrow set of Nuxt and Node versions.

## Installation under Nuxt SEO v6 version constraints

Nuxt SEO v6 requires Nuxt `^4.6.1 || ^5.0.0` and Node `^22.22.3 || ^24.15.0 || >=26.0.0`. Projects still using Nuxt 3 must remain on Nuxt SEO v5, according to the README. That boundary makes the framework version the first installation check. Selecting the current major release for an unsupported Nuxt version would create a mismatch before any SEO configuration is attempted.

From an existing Nuxt project, install all nine modules with the Nuxt module command. The command adds the `seo` module through Nuxt's module installation flow.

```bash
npx nuxt module add seo
```

A project does not have to accept the complete feature set. The README also provides a command for installing `sitemap` and `robots` individually.

```bash
npx nuxt module add sitemap robots
```

Site Config is installed automatically when any SEO module is added. That dependency is useful for teams because multiple modules can consume shared URLs, names, and locales, but it also means the selected modules are not entirely isolated installations.

The repository README does not include a minimal `nuxt.config.ts` example or a command that builds the application after installation. The first configuration details are therefore not available here beyond the documented module selection mechanism. The project directs readers to its online module guide, disabling guide, and full documentation for those steps. This distinction matters because installing a meta-package does not, by itself, establish application-specific canonical URLs, routes, schema data, or deployment behavior.

## How Nuxt SEO coordinates nine separate module boundaries

The architecture is a bundle of packages with a shared configuration layer. Nuxt SEO installs the modules and configures their relationships. Site Config acts as the shared metadata source for URLs, site names, and locales, while SEO Utils handles the page-level presentation of titles, metadata, canonical URLs, breadcrumbs, favicons, and social links. The README also states that module options supplied by the user take precedence over bundle defaults.

This precedence rule gives applications control, but the exact override behavior is distributed across the constituent modules rather than documented as a single Nuxt SEO configuration reference in the README. Adoption should therefore include a review of each enabled module's documentation. A team asking the bundle to handle SEO and then silently overriding only its global defaults may still need to understand the configuration surface of the underlying packages.

The output mechanisms differ by module. Robots emits `robots.txt`, page metadata, and response headers. Sitemap reads routes and data sources. Schema.org injects JSON-LD into pages. OG Image renders images from Vue components. AI Ready creates `llms.txt` and Markdown page representations. Link Checker participates in development and build workflows. These are complementary outputs, but they should not be mistaken for one pipeline that automatically guarantees correct search rankings.

Skew Protection has a different operational mechanism. According to the README, the bundle uses polling for that module and disables its version cookie. That behavior is explicitly part of the bundle integration. An application with strict infrastructure policies or an existing deployment strategy should verify this behavior before enabling the complete set.

## Bundle installation versus selecting individual Nuxt SEO modules

The practical alternative is to install only the relevant modules. The README explicitly supports both approaches, with `sitemap robots` as its individual-module example. This differs from the full `seo` installation in scope rather than in product category. The bundle configures all nine modules, while a selective installation configures only the named capabilities, with Site Config added automatically.

The full bundle is appropriate when the application needs page metadata, structured data, social images, crawler directives, sitemaps, link validation, shared site configuration, machine-readable Markdown, and previous-build asset handling. Selecting modules can reduce configuration and runtime concerns associated with unused capabilities. The README does not quantify build time, memory consumption, or deployment overhead, so it does not support a claim that a smaller installation will be materially faster.

A selective setup also changes the upgrade surface. Each installed module follows its own package version and documentation, while users of the bundle gain the bundle's build-time version checks and development-time configuration checks. That central checking is a real bundle benefit, but it creates a stricter compatibility boundary. In this release, that boundary includes the declared Nuxt and Node ranges.

For a content-heavy Nuxt application, the documented `sitemap robots` setup is the clearest starting point in this repository. It addresses route discovery and crawler controls without adopting every feature. If schema, Open Graph, link checking, or AI-facing representations are later required, those modules can be evaluated against the actual pages and deployment process.

## Operational limits of build checks and generated search files

Nuxt SEO automates several checks and outputs, but the documented scope does not include a complete SEO audit or a guarantee that generated content is correct. Build-time module version checks can detect incompatible package versions. Development-time configuration checks can identify configuration problems. Link Checker can find broken links during development and builds. Those mechanisms cover technical integration, not whether titles, descriptions, canonical URLs, schema entities, or sitemap entries represent the intended site.

Generated files also require context. A sitemap can be produced from routes and data sources, with i18n support, but the README does not say how route filtering should be configured. Schema.org can add JSON-LD, but the README does not define validation rules for a particular schema type. OG Image can render from Vue components, yet it does not state which rendering environments or deployment targets are supported. Those details are absent from the project overview and must be checked in the linked module documentation.

The AI Ready module also changes what the application exposes. Providing `llms.txt` and Markdown versions of pages is an explicit feature, but the README does not document authentication behavior, caching, content exclusions, or route controls. A public site should not assume that every rendered page is appropriate for machine-readable output without reviewing the module's configuration.

The newest release is close to the repository's last recorded push, which was on 2026-10-14, and versions 6.0.0 and 6.0.1 were released in October 2026. The repository is not archived. That indicates recent project activity, but it does not remove the need to inspect migration notes when adopting a new major version.

## MIT licensing and maintenance exposure in the v6 release

Nuxt SEO is licensed under the MIT license. The repository identifies the license in both the root metadata and the README. The constituent modules are separate packages, so a deployment should also review each installed module's own package metadata rather than assuming that one root license declaration describes every dependency.

The current release line introduces a meaningful upgrade boundary. Nuxt SEO v6 requires a specific set of Nuxt and Node releases, while Nuxt 3 projects are directed to remain on v5. The README links to a separate v5-to-v6 migration guide but does not reproduce its changes here. Consequently, the repository overview cannot confirm whether an existing application can move across major versions without configuration or source changes.

Recent development should also be separated from upgrade effort. The last push was on 2026-10-14, and the repository is not archived, but recent commits do not establish compatibility with a particular deployment stack. Before changing production versions, inspect the migration guide, confirm the selected Node runtime satisfies `^22.22.3 || ^24.15.0 || >=26.0.0`, and confirm the Nuxt version satisfies `^4.6.1 || ^5.0.0`.

## Conclusion

Adopt Nuxt SEO when a Nuxt 4.6.1 or Nuxt 5 application needs the full module set and the team accepts v6's runtime constraints. Do not choose it for a Nuxt 3 project or when only one SEO capability is required. Verify the Node and Nuxt versions first, then compare the nine-module bundle with installing only the modules the application actually uses.

## FAQ

### How do I install Nuxt SEO in a Nuxt project?

From the Nuxt project directory, run `npx nuxt module add seo` to install all nine modules. Nuxt SEO v6 requires Nuxt `^4.6.1 || ^5.0.0` and Node `^22.22.3 || ^24.15.0 || >=26.0.0`.

### Can I install only some Nuxt SEO modules?

Yes. The README shows `npx nuxt module add sitemap robots` for a selective installation. Site Config is installed automatically with any SEO module.

### Which Nuxt versions are supported by Nuxt SEO v6?

Nuxt SEO v6 supports Nuxt `^4.6.1 || ^5.0.0`. Nuxt 3 projects are instructed to stay on Nuxt SEO v5.

### What does Nuxt SEO do beyond sitemap and robots features?

Its bundle configures Schema.org, OG Image, SEO Utils, Link Checker, Site Config, AI Ready, and Skew Protection in addition to Robots and Sitemap. These cover structured data, social images, metadata, link validation, shared configuration, `llms.txt`, and previous-build asset handling.

## Sources

- [harlan-zw/nuxt-seo on GitHub](https://github.com/harlan-zw/nuxt-seo)
- [License: MIT](https://github.com/harlan-zw/nuxt-seo/blob/main/LICENSE)
- [Project website](https://nuxtseo.com)
- [README](https://github.com/harlan-zw/nuxt-seo/blob/main/README.md)
- [Releases](https://github.com/harlan-zw/nuxt-seo/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/harlan-zw-nuxt-seo
