Index of every page on this site: llms.txt

Nuxt SEO Guide

Meta tags, robots.txt, sitemaps, rendering strategy, and Core Web Vitals: the full Nuxt SEO curriculum, built on the typed Nuxt SEO module.
Harlan Wilton10 mins read Published Updated

Nuxt provides server-side rendering and meta tag management by default. Sitemap generation requires a module or your own implementation. The @nuxtjs/seo module adds the rest: robots.txt control, Schema.org structured data, and automated Open Graph images, all through typed composables built on Unhead.

This guide covers meta tags, crawler control, rendering strategy, and what to check once you're live.

Install the Module

Nuxt SEO bundles sitemaps, robots.txt, OG images, Schema.org, SEO utilities, llms.txt, Markdown versions of each page, and skew protection under one typed config.

Nuxt SEO 
   
The all-in-one module that brings it all together.

Prefer a modular approach? Install these individually instead:

Curriculum

New to Nuxt SEO? Start with Mastering Meta. It covers the fundamentals using useSeoMeta().

Need a quick audit? Use the SEO Checklist, a pre-launch and post-launch audit tool.

Mastering Meta

Control how your pages appear in search results and social feeds, using the type-safe useSeoMeta() composable and automated Open Graph generation.

GuideWhat You'll Learn
TitlesTitle templates and truncation limits
DescriptionsWriting descriptions that earn clicks
Open GraphGenerated OG image templates
Schema.orgBuilding connected data graphs

Controlling Crawlers

Define who can access your content, from Googlebot to AI scrapers.

GuideWhat You'll Learn
robots.txtBlocking AI crawlers and managing crawl budget
SitemapsDynamic sources and image sitemaps
Canonical URLsConsolidating ranking signals

Routes & Rendering

Move beyond a single SSR mode to route rules that pick the right rendering strategy per page.

GuideWhat You'll Learn
Hybrid RenderingMixing SSR, SSG, and ISR by route

Launch & Listen

Deploy with confidence and monitor real-world performance.

GuideWhat You'll Learn
Core Web VitalsOptimizing INP and LCP
Search ConsoleVerification and indexing debugging
SEO MonitoringTracking rank and site health

Why Nuxt Handles SEO Well

<script setup lang="ts">
// Fully typed, auto-imported, and SSR-ready
useSeoMeta({
  title: 'Nuxt SEO Guide',
  description: 'The complete guide to Nuxt SEO.',
  ogImage: 'https://nuxtseo.com/og/guide.png',
  twitterCard: 'summary_large_image',
})
</script>
  • Server-rendered by default. SSR ships real HTML in the initial response, which is what crawlers that don't execute JavaScript need to see your content at all.
  • Route-level rendering control. Use routeRules to serve static content for marketing pages while keeping dashboards dynamic, all under one domain.
  • One hook system. @nuxtjs/seo wires into Nuxt's build and runtime hooks, including sitemap generation and runtime response headers.

Working outside Nuxt? The fundamentals (meta tags, rendering strategy, crawler control) still apply. See the Vue SEO guide for Vite SSR, VitePress, and plain Vue 3 setups.

Common Mistakes

Reaching for useHead() for basic meta tags: useSeoMeta() gives you flatter, type-safe syntax for the common SEO tags; save useHead() for cases it doesn't cover.

Ignoring AI crawlers: GPTBot and other LLM scrapers read your robots.txt like any other bot. Decide what to allow instead of leaving the default wide open.

Skipping route rules: Serving every route through the same rendering mode wastes edge caching that routeRules gives you for free on static content.

Was this page helpful?