Deployed your Nuxt site to production? Two steps remain: get Google to crawl it, then get Google to index it.
Nuxt renders pages on the server by default, which means Google sees fully-rendered HTML immediately—no JavaScript execution delays.
This gives you faster, more reliable indexing compared to client-side SPAs. Your meta tags, content, and structured data are all present in the initial HTML response.
If you need client-side rendering for specific routes:
ssr: false in route rulesprerender: trueFor authenticated pages or dashboards where SSR isn't needed, configure it per-route:
export default defineNuxtConfig({
routeRules: {
'/dashboard/**': { ssr: false },
'/blog/**': { prerender: true }
}
})
Multiple domains or subdomains pointing to your site? Only one version should be indexed.
Example: www.example.com and example.com both serve your app, but only example.com should appear in Google.
Solutions:
const route = useRoute()
useHead({
link: [
{ rel: 'canonical', href: `https://example.com${route.path}` }
]
})
If you're using the Nuxt SEO Module you can use the redirectToCanonicalSiteUrl option to automatically redirect non-canonical URLs.
See Canonical URLs guide for implementation details.
Google Search Console is required for monitoring indexing. Set it up before launch:
For Nuxt apps, use the Sitemap module for automatic sitemap generation:
Or use the full Nuxt SEO module which includes sitemaps plus robots.txt, OG images, and schema.org:
After sitemap submission, request indexing for important pages:
Manual method:
You get ~10 requests per day. Use them for homepage and critical pages.
Bulk method: Use RequestIndexing by @harlan_zw to submit multiple URLs automatically.
Instant notification (Bing/Yandex):IndexNow notifies search engines immediately when content changes. Google doesn't support it, but Bing and Yandex do.
Google uses Core Web Vitals as a ranking signal. Check your scores before launch:
| Metric | Good | Poor |
|---|---|---|
| LCP (Largest Contentful Paint) | ≤2.5s | >4s |
| INP (Interaction to Next Paint) | ≤200ms | >500ms |
| CLS (Cumulative Layout Shift) | ≤0.1 | >0.25 |
Use PageSpeed Insights or Lighthouse to test. Don't chase perfect scores—fix red flags and move on.
See Core Web Vitals for Nuxt for optimization techniques.
Run Lighthouse on your key pages. Focus on the SEO and Accessibility categories—they catch issues Google cares about:
Use Unlighthouse to audit your entire site in bulk.
New sites have zero authority. Google is skeptical of them. Signal legitimacy with a few quality backlinks:
Quality over quantity. One link from a respected site beats 100 from spam directories.
Meta tags not updating on navigation:
useSeoMeta() or useHead()Slow Time to First Byte (TTFB):
routeRulesPages "Crawled - currently not indexed":
SEO is a long game. Most sites take 3-6 months to see meaningful organic traffic. Don't panic if rankings don't appear immediately.