Index of every page on this site: llms.txt

The 2026 SEO Checklist for Nuxt & Vue

Check crawler access, metadata, sitemaps, and rendering before and after launching your Nuxt or Vue app.
Harlan Wilton9 mins read Published Updated
What you'll learn
  • Check the deployed HTML, crawler access, sitemap, and response status before requesting indexing.
  • Measure Core Web Vitals at the 75th percentile. A good score does not guarantee rankings.
  • llms.txt is optional documentation delivery. Google Search does not use it for visibility or rankings.
  • Publish useful public content when it is ready. A fixed warmup period does not guarantee indexing.

Before launch, check for a leftover noindex tag, missing sitemap pages, and repeated descriptions. Use the post-launch checks to inspect what crawlers receive.

Every item links to a framework-specific guide. For full walkthroughs, see Getting Indexed for Nuxt or Vue.

Open your deployed site and hit "View Source." If your content is absent from the initial HTML, check the rendered HTML in URL Inspection too. Google can render JavaScript; other clients may need server-rendered content.

Pre-Launch Checklist

SSR & Rendering
  • SSR implemented or prerendering configured (Nuxt · Vue)
  • Route rules configured for special cases (hybrid rendering, static pages)
  • Hydration errors resolved (check browser console for mismatches, see debugging guides for Nuxt · Vue)
  • "View Source" tested on deployed site (meta tags and content visible in raw HTML)
  • SSR framework chosen if using Vue SPA (framework comparison)
Meta Tags & AI Readiness
  • Page titles configured per route, descriptive and unique, with important words near the start (Nuxt · Vue)
  • Meta descriptions set per page, specific and unique; Google may use a different snippet (Nuxt · Vue)
  • Social sharing tags configured (OG image, Twitter Card) (Nuxt · Vue)
  • Schema.org structured data added for applicable content types (Nuxt · Vue)
  • llms.txt configured if documentation tools in your workflow use it (Nuxt · Vue)
  • Structured data checked in Google Rich Results Test; social metadata checked in Facebook Debugger
URL Structure
  • URL structure uses hyphens (not underscores), lowercase paths, descriptive slugs (Nuxt · Vue)
  • Trailing slashes handled consistently: pick one style, redirect the other (Nuxt · Vue)
  • Dynamic routes configured with unique meta per route param (Nuxt · Vue)
  • Equivalent URL variants use consistent canonical hints; distinct query content has its own indexing policy (Nuxt · Vue)
  • Pagination uses self-referencing canonicals (Nuxt · Vue)
  • 404 pages return proper 404 status code, not 200 soft 404 (Nuxt · Vue)
Crawler Control
  • robots.txt configured, including AI agent permissions (Nuxt · Vue)
  • XML sitemap generated with all indexable pages (Nuxt · Vue)
  • Canonical URLs set on every page (Nuxt · Vue)
  • Meta robots tags configured for noindex pages (Nuxt · Vue)
  • Permanent redirects use 301 or 308 where appropriate; temporary moves use temporary redirects; unnecessary chains removed (Nuxt · Vue)
  • Duplicate content resolved: www vs non-www, query parameters (Nuxt · Vue)
Security
  • HTTPS configured with valid SSL certificate
  • Security headers set (CSP, X-Frame-Options, HSTS) without blocking crawlers (Nuxt · Vue)
  • No sensitive data exposed in HTML source or robots.txt
Performance
  • Images optimized with useful alt text; offscreen images lazy-loaded, important initial-viewport images loaded promptly (Nuxt · Vue)
  • Interaction to Next Paint (INP) optimized: break up long tasks, use scheduler.yield()
  • Critical CSS inlined, non-critical CSS deferred
  • JavaScript code-split by route
  • Fonts preloaded (WOFF2 format)
  • CDN configured for static assets
Authority & Pre-Launch Warmup
  • Public landing page deployed when ready, domain configured, Search Console property verified (guide)
  • Internal linking structure reviewed: no orphan pages, important pages reachable through crawlable links (Nuxt · Vue)
  • Backlinks and cross-links from existing properties pointing to new site

Post-Launch Checklist

Google Search Console
  • GSC property created and verified (Nuxt · Vue)
  • Sitemap submitted via GSC (Nuxt · Vue)
  • URL Inspection tool tested on key pages (check rendered HTML)
  • Page Indexing report reviewed: investigate important excluded pages against their intended indexing policy
  • IndexNow configured to notify participating engines of content changes (Nuxt · Vue)
Indexing Verification
  • Indexing status checked for important pages with URL Inspection (Nuxt · Vue)
  • Rendered HTML verified via URL Inspection tool (meta tags appear in rendered output)
  • Soft 404 errors resolved (404 pages must return 404 status, not 200)
  • Duplicate exclusions reviewed against intended canonical URLs; expected exclusions distinguished from mistakes
  • Orphan pages linked from sitemap or internal navigation
AI Discovery & Citations
  • Google generative AI performance reviewed in the current Search Console report (Nuxt · Vue)
  • Content tested in ChatGPT, Perplexity, and Gemini (verify citation accuracy)
  • Brand mentions tracked on authoritative third-party sites
Performance & Core Web Vitals
  • Core Web Vitals passing p75 thresholds: LCP ≤2.5s, INP ≤200ms, CLS ≤0.1 (Nuxt · Vue)
  • Mobile rendering and navigation checked on real pages
  • Real user metrics (RUM) monitored via web-vitals library or speed insights
Social Sharing
  • OG images tested in Facebook Debugger (clear cache if needed)
  • Twitter Cards validated (compose tweet without posting to preview card)
  • Slack and Discord link previews tested (OG tags control unfurls)
Analytics
  • Analytics configured (GA4, Plausible, Fathom, or Umami) (Nuxt · Vue)
  • SPA tracking set up if applicable (router change events fire pageview events)
  • Conversion tracking enabled for key user actions

Ongoing Monitoring

SEO degrades silently. A plugin update breaks your schema markup, a deploy adds noindex to a template, a redirect chain forms over three months of URL changes. These tasks catch regressions before they compound.

Weekly Tasks
  • GSC Performance report reviewed (track impressions, clicks, CTR, and the report's stated scope)
  • Page Indexing report checked for new errors
  • p75 INP monitored for responsiveness regressions
  • Broken links scanned
Monthly Tasks
  • SEO monitoring tools reviewed (Nuxt · Vue)
  • Competitor rankings and AI citation share tracked
  • Content gaps investigated using Search Console queries and the pages that answer them
  • Backlink profile reviewed (identify new links, lost links, investigate unexpected links; use disavow only when Google's criteria apply)
Quarterly Tasks
  • Full technical SEO audit (crawl site with Screaming Frog or Sitebulb)
  • Redirect chains audited and flattened
  • Internal link audit performed: orphan pages, crawl depth, broken links (Nuxt · Vue)
  • Structured data updated for deprecated types (Google removes schema types periodically)
  • Canonical URL configuration verified (GSC shows user-declared vs Google-selected canonical)
  • If your documentation workflow uses llms.txt, update its relevant sections
After Major Changes
  • Site migration checklist followed if domain or URL structure changed (Nuxt · Vue)
  • IndexNow or URL submission used for urgent updates (Nuxt · Vue)
  • Redirects tested after URL structure changes (intended permanent or temporary status, correct destination)
  • GSC URL Inspection re-run on changed pages
  • Search rankings monitored weekly for 60 days post-migration

Mistakes to Check

Check these conditions when public pages are missing, metadata is incorrect, or navigation is slow.

Interaction to Next Paint replaced FID in 2024. Improve responsiveness for your users; a metric score does not determine the ranking of every competitive query. Break up long tasks, use scheduler.yield(), and watch your p75 weekly.
Check each provider's documented crawler before changing access. OpenAI separates training and Search crawlers. Blocking one bot does not establish how every product fetches or cites your pages.
Your 404 page must return a 404 status code, not a 200. Google may classify an empty or error-like page as a soft 404. Use the correct status for pages that do not exist.
Write descriptions that summarize each page accurately. Google may choose another snippet. Compare observed click-through rates without assuming the description caused a change.
A→B→C adds requests and can delay navigation and crawling. Flatten to A→C. Audit quarterly.

Automate the Hard Parts

Modules handle sitemap generation, crawler rules, and metadata defaults. You still need to check the deployed output.

Nuxt

This command installs the bundled SEO modules. Configure them for your site and check the deployed output:

npx nuxt module add @nuxtjs/seo

The Nuxt SEO module sets up XML sitemaps, robots.txt (with AI crawler rules), schema.org via useSchemaOrg(), canonical URLs, trailing slash normalization, and OG image generation. Version 6 also sets up llms.txt, Markdown versions of each page, and skew protection. See the full Nuxt SEO learning path for details on every item.

Vue SPAs don't get this for free: there's no build-time module wiring up sitemaps and rendering strategy, so each item is a decision you make explicitly. Pick a rendering strategy first (prerendering or an SSR framework), since sitemaps, meta tags, and crawler access all depend on which one you choose. Coming from vue-meta? The migration guide covers switching to Unhead. See the full Vue SEO learning path for the rest.

What's Next

Launching soon? The Pre-Launch Warmup guide shows how to prepare public content and technical checks before launch.

Already live? Start with the post-launch section above. Highest impact first: submit your sitemap to Search Console, verify SSR rendering, and fix soft 404s.

Want to verify right now? Use these tools to inspect the deployed output:

Building habits? Bookmark this page. The weekly, monthly, and quarterly sections above keep your SEO from quietly degrading.

Was this page helpful?