Nuxt SEO - Configuration and optimization

VerifiedSafe

Helps configure SEO for Nuxt apps: site metadata, robots.txt, sitemap.xml, dynamic Open Graph images, and JSON-LD structured data. Use when setting up crawlability, social sharing, or rich search results. Works seamlessly with Nuxt Content for automatic SEO from frontmatter.

Sby Skills Guide Bot
DevelopmentIntermediate
906/2/2026
Claude CodeCursorWindsurfCopilotCodex
#nuxt-seo#seo#sitemap#og-image#schema-org

Recommended for

Our review

This Nuxt SEO module enables configuring search engine optimization, generating sitemaps, dynamic OG images, and JSON-LD structured data.

Strengths

  • Centralized SEO configuration through a single module
  • Automatic generation of robots.txt and sitemap.xml
  • Dynamic OG image creation without external tools
  • Native support for schema.org structured data

Limitations

  • Requires Nuxt 3 and may not be compatible with other frameworks
  • Dynamic OG images can be performance-heavy without caching
  • Documentation can be scattered despite a dedicated site
When to use it

Ideal for any Nuxt project needing advanced SEO optimization, sitemaps, OG images, or structured data.

When not to use it

Opt for a manual approach if you only need basic SEO features or if your project is based on a framework other than Nuxt.

Security analysis

Safe
Quality score85/100

The skill only suggests using a well-known npm package via npx, which is a standard development operation with no destructive or exfiltration behavior.

No concerns found

Examples

Add sitemap and robots.txt
Add the Nuxt SEO module to my Nuxt 3 project and configure sitemap.xml with dynamic routes from my content collection, and set robots.txt to allow all crawlers.
Configure OG images for blog posts
Set up dynamic OG image generation for my Nuxt blog posts using the nuxt-og-image module, with a template that includes the post title and site name.
Add JSON-LD structured data
Integrate schema.org structured data into my Nuxt app using the nuxt-schema-org module, including breadcrumbs, Article schema for blog posts, and WebSite schema for the homepage.

name: nuxt-seo description: Nuxt SEO meta-module with robots, sitemap, og-image, schema-org. Use when configuring SEO, generating sitemaps, creating OG images, or adding structured data. license: MIT

Nuxt SEO

npx nuxi module add @nuxtjs/seo

When to Use

Working with:

  • SEO configuration (site URL, name, indexability)
  • Robots.txt and sitemap.xml generation
  • Dynamic OG image generation
  • JSON-LD structured data (schema.org)
  • Breadcrumbs and canonical URLs

Loading Files

Consider loading these reference files based on your task:

DO NOT load all files at once. Load only what's relevant to your current task.

Site Config

Foundation for all SEO modules. Configure site in nuxt.config.ts, access via useSiteConfig(). See references/site-config.md for full options.

Module Overview

| Module | Purpose | Key API | | ----------------- | --------------- | ----------------------------- | | nuxt-site-config | Shared config | useSiteConfig() | | @nuxtjs/robots | robots.txt | useRobotsRule() | | @nuxtjs/sitemap | sitemap.xml | defineSitemapEventHandler() | | nuxt-og-image | OG images | defineOgImage() | | nuxt-schema-org | JSON-LD | useSchemaOrg() | | nuxt-seo-utils | Meta utilities | useBreadcrumbItems() | | nuxt-link-checker | Link validation | Build-time checks |

Nuxt Content v3

Use asSeoCollection() for automatic sitemap, og-image, and schema-org from frontmatter:

// content.config.ts
import { defineCollection, defineContentConfig } from '@nuxt/content'
import { asSeoCollection } from '@nuxtjs/seo/content'

export default defineContentConfig({
  collections: {
    posts: defineCollection(asSeoCollection({ type: 'page', source: 'posts/**' }))
  }
})

Important: Load @nuxtjs/seo before @nuxt/content in modules array:

export default defineNuxtConfig({
  modules: ['@nuxtjs/seo', '@nuxt/content']
})

Frontmatter fields: ogImage, sitemap, robots, schemaOrg.

Related Skills

Links

Token Efficiency

Main skill: ~250 tokens. Each sub-file: ~400-600 tokens. Only load files relevant to current task.

Related skills