npx claudepluginhub secondsky/claude-skills --plugin nuxt-seoThis skill uses the workspace's default tool permissions.
**Status**: Production Ready | **Dependencies**: Nuxt >=3.0.0
assets/package-versions.jsonreferences/advanced-configuration.mdreferences/advanced-seo-guides.mdreferences/ai-seo-tools.mdreferences/api-reference.mdreferences/best-practices.mdreferences/common-patterns.mdreferences/installation-guide.mdreferences/module-details.mdreferences/modules-overview.mdreferences/nitro-api-reference.mdreferences/nuxt-content-integration.mdreferences/og-image-guide.mdreferences/pro-modules.mdreferences/seo-guides.mdreferences/sitemap-advanced.mdreferences/troubleshooting.mdreferences/v5-migration-guide.mdscripts/init-nuxt-seo.shConfigures Nuxt SEO modules for robots.txt, sitemaps, dynamic OG images, schema.org structured data, breadcrumbs, and canonical URLs. Use for SEO setup, sitemap generation, and structured data in Nuxt apps.
Configures Nuxt SEO metadata: page titles, Open Graph tags, canonical URLs, robots directives, and structured data using useSeoMeta and useHead. For per-page customization and social previews.
Provides Nuxt 5 core setup with project structure, routing, SEO, error handling, Vite 8, and Nitro v3 configuration. Use for creating apps, routing setup, or config migration.
Share bugs, ideas, or general feedback.
Status: Production Ready | Dependencies: Nuxt >=3.0.0
Use this skill when building SEO-optimized Nuxt applications with any combination of the 8 official Nuxt SEO modules plus standalone modules.
# Recommended (v5)
npx nuxt module add @nuxtjs/seo
export default defineNuxtConfig({
modules: ['@nuxtjs/seo'],
site: {
url: 'https://example.com',
name: 'My Awesome Site',
description: 'Building amazing web experiences',
defaultLocale: 'en'
}
})
CRITICAL (v5 Breaking Change):
site.name is NO LONGER auto-inferred from package.json — set it explicitlysite.url to production URL (required for sitemaps and canonical URLs)defaultLocale if using i18nVisit these URLs to verify:
/robots.txt - Robots file/sitemap.xml - Sitemap/__robots__/debug-production.json - Debug (v5)/__sitemap__/debug-production.json - Debug (v5)npx nuxt module add @nuxtjs/robots
npx nuxt module add @nuxtjs/sitemap
npx nuxt module add nuxt-og-image
| Module | Version | Purpose |
|---|---|---|
| @nuxtjs/seo | v5.1.0 | Primary SEO module (installs all 8 as bundle) |
| @nuxtjs/robots | v6.0.6 | Manages robots.txt and bot detection |
| @nuxtjs/sitemap | v8.0.11 | Generates XML sitemaps with advanced features |
| nuxt-og-image | v6.3.1 | Creates Open Graph images via Vue templates |
| nuxt-schema-org | v6.0.4 | Builds Schema.org structured data graphs |
| nuxt-link-checker | v5.0.6 | Finds and fixes broken links with ESLint integration |
| nuxt-seo-utils | v8.1.4 | SEO utilities, share links, favicons, inline minification |
| nuxt-site-config | v4.0.7 | Centralized site configuration management |
Standalone (MIT): nuxt-ai-ready (llms.txt), nuxt-skew-protection (version safety)
Pro (Paid): Nuxt SEO Pro — Search Console, Core Web Vitals, MCP server
For detailed module docs: Load references/module-details.md
site.url AND site.name explicitly in nuxt.config.ts (v5: name no longer auto-inferred)getSiteConfig(event) on server side (v5: useSiteConfig(event) removed)defineSitemapSchema() for Content v3 (v5: asSitemapCollection() deprecated)site.url and site.name (breaks sitemaps, canonical URLs, titles)useSiteConfig(event) on server side (v5: use getSiteConfig(event))asSitemapCollection() (v5: use defineSitemapSchema())getSiteIndexable() (v5: use { indexable } = getSiteConfig(event))Error: /sitemap.xml returns 404 | Fix: Set site.url in nuxt.config.ts
Error: /robots.txt not accessible | Fix: Install @nuxtjs/robots and set site.url
Error: /__og-image__/og.png returns error | Fix: Use Satori-compatible CSS or switch to Chromium renderer
Error: Invalid JSON-LD | Fix: Follow official Schema.org types, validate with Google Rich Results Test
Error: 404 on internal links | Fix: Enable nuxt-link-checker with ESLint rules during development
Error: Multiple meta tags with same property | Fix: Let modules handle meta tags automatically
Error: Wrong canonical URL | Fix: Configure site.url and trailingSlash correctly
Error: Sitemap index XML malformed | Fix: Use chunkSize option to split large sitemaps
Error: Staging indexed by Google | Fix: disallow: process.env.NUXT_PUBLIC_ENV === 'staging' ? ['/'] : []
Error: No preview on social media | Fix: Use defineOgImage() on all important pages
Error: Site title/og:site_name missing | Fix: Set site.name in nuxt.config.ts or NUXT_SITE_NAME env var
Ref: https://nuxtseo.com/docs/nuxt-seo/migration-guide/v4-to-v5
Error: useSiteConfig is not a function on server | Fix: Use getSiteConfig(event) on server side
Ref: https://github.com/harlan-zw/nuxt-site-config/releases
Error: asSitemapCollection is not defined | Fix: Use defineSitemapSchema(), defineSchemaOrgSchema(), defineRobotsSchema()
Ref: https://nuxtseo.com/docs/nuxt-seo/migration-guide/v4-to-v5
Error: OG image requests return 403 or signature errors | Fix: Use defineOgImage() properly; don't manually construct OG image URLs
Ref: https://nuxtseo.com/docs/og-image/getting-started/introduction
export default defineNuxtConfig({
modules: ['@nuxtjs/seo'],
site: {
url: process.env.NUXT_PUBLIC_SITE_URL,
name: 'My Site',
defaultLocale: 'en'
},
robots: {
disallow: process.env.NUXT_PUBLIC_ENV === 'staging' ? ['/'] : []
},
sitemap: {
sitemaps: {
blog: { sources: ['/api/__sitemap__/blog'] }
}
}
})
useShareLinks({ title, twitter, utm }) with UTM trackingnpx nuxt-seo-utils icons --source logo.svgimport linkChecker from 'nuxt-link-checker/eslint'definePageMeta({ sitemap: { changefreq: 'daily', priority: 0.8 } })seo: { minify: true }Load reference files based on the user's specific needs:
| Load When | Reference File |
|---|---|
| Upgrading v4→v5, breaking changes | references/v5-migration-guide.md |
| Rendering modes, JSON-LD, canonical URLs, IndexNow | references/seo-guides.md |
| AI optimization, llms.txt, MCP tools | references/pro-modules.md |
| I18n SEO, route rules, link checker rules | references/advanced-seo-guides.md |
| OG image templates, Satori/Chromium, fonts | references/og-image-guide.md |
| Nuxt Content integration, asSeoCollection | references/nuxt-content-integration.md |
| Dynamic sitemaps, multi-sitemaps, chunking | references/sitemap-advanced.md |
| Server-side hooks, Nitro plugins | references/nitro-api-reference.md |
| llms.txt, AI crawlers, content signals | references/ai-seo-tools.md |
| Module capabilities overview | references/modules-overview.md |
| First-time setup, package manager specifics | references/installation-guide.md |
| Composable API docs, parameter lists | references/api-reference.md |
| Blog, e-commerce, multi-language patterns | references/common-patterns.md |
| Specific module configuration | references/module-details.md |
| Production SEO guidelines | references/best-practices.md |
| Error resolution, module conflicts | references/troubleshooting.md |
| Multi-environment, advanced features | references/advanced-configuration.md |
| Agent | Purpose |
|---|---|
seo-auditor.md | Comprehensive SEO audit |
schema-generator.md | Generate Schema.org structured data |
og-image-generator.md | Create custom OG image templates |
link-checker.md | Analyze internal/external links |
sitemap-builder.md | Design optimal sitemap strategies |
| Command | Purpose |
|---|---|
/seo-audit | Run comprehensive SEO audit |
/seo-setup | Quick Nuxt SEO project setup |
/og-preview | Preview OG image generation |
/check-links | Run link checker analysis |
/validate-sitemap | Validate sitemap configuration |
/check-schema | Validate Schema.org implementation |
assets/package-versions.json — Current module versions for verification{
"dependencies": {
"@nuxtjs/seo": "^5.1.0",
"@nuxtjs/robots": "^6.0.6",
"@nuxtjs/sitemap": "^8.0.11",
"nuxt-og-image": "^6.3.1",
"nuxt-schema-org": "^6.0.4",
"nuxt-link-checker": "^5.0.6",
"nuxt-seo-utils": "^8.1.4",
"nuxt-site-config": "^4.0.7"
}
}
Production Ready: All patterns based on official documentation from https://nuxtseo.com/llms-full.txt | Last verified: 2026-04-02