---
title: "How to Get Your Vue Site Indexed"
description: "Check your Vue site’s responses, submit discovery signals, and interpret indexing and field performance without guarantees."
canonical_url: "https://nuxtseo.com/learn-seo/vue/launch-and-listen/going-live"
last_updated: "2026-10-05"
---

> Index of every page on this site: [llms.txt](https://nuxtseo.com/llms.txt)

::key-takeaways
- SSR or prerendering gets your content into the initial HTML; a pure client-side SPA waits on Google's render queue with no published timeline
- Submit your sitemap in Search Console, then request indexing for your homepage and other critical pages
- Google's Core Web Vitals ranking signal comes from real-user CrUX data, not your Lighthouse score; good field INP is at or below 200ms at p75, assessed separately for mobile and desktop
::

Deployed your Vue site to production? You have three goals: get Google to crawl it, get Google to index it, and get LLMs to cite it.

## SSR vs SPA: The Indexing Reality

If your Vue app is a Single Page Application, [Google needs to execute JavaScript](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics) to see your content. Google processes pages in three phases (crawling, rendering, indexing) and publishes no timing guarantee for the render queue. Initial HTML exposes content before JavaScript execution. Server-rendered pages can still enter Google’s rendering queue.

To make content available in the initial response:

- Use SSR with [Vite SSR](https://nuxtseo.com/learn-seo/vue/ssr-frameworks/vite-ssr) or [Nuxt](https://nuxtseo.com/learn-seo/vue/ssr-frameworks/nuxt-vs-quasar)
- [Pre-render critical pages](https://nuxtseo.com/learn-seo/vue/spa/prerendering) at build time
- Set meta tags before hydration using [Unhead](https://nuxtseo.com/learn-seo/vue/mastering-meta)

If you're staying with a client-rendered SPA, use [dynamic rendering](https://nuxtseo.com/learn-seo/vue/spa/dynamic-rendering) as a stopgap, not a long-term fix; Google itself calls it "a workaround and not a long-term solution." Test your pages with Google's URL Inspection tool to confirm your content is visible to Googlebot.

## Canonical URL Configuration

If hosts serve equivalent content, choose the preferred canonical version and align your signals.

Example: `www.example.com` and `example.com` both serve your app, but only `example.com` should appear in Google.

For equivalent host variants, a server-level 301 redirect from every non-canonical URL is preferred, since it removes the duplicate entirely. If you can't redirect, a canonical tag expresses your preferred equivalent version; Google can choose another:

This setup excerpt requires installed Unhead and Vue Router plugins. It intentionally uses the path only; decide separately which query parameters change content. Run it inside a component’s setup:

```ts
import { useHead } from '@unhead/vue'
import { useRoute } from 'vue-router'

const route = useRoute()

useHead({
  link: [
    { rel: 'canonical', href: () => `https://example.com${route.path}` }
  ]
})
```

See the [canonical URLs guide](https://nuxtseo.com/learn-seo/vue/controlling-crawlers/canonical-urls) for implementation details.

## Set Up Google Search Console

You need [Google Search Console](https://nuxtseo.com/learn-seo/vue/launch-and-listen/search-console) to monitor indexing. Set it up before launch:

1. Visit [search.google.com/search-console](https://search.google.com/search-console)
2. Add your property (domain property recommended)
3. Use DNS for a Domain property; follow an offered method for a URL-prefix property
4. Submit your [sitemap](https://nuxtseo.com/learn-seo/vue/controlling-crawlers/sitemaps) at **Indexing > Sitemaps**

For Vue apps, generate a sitemap using:

- A static file in `public/`
- Build-time generation with [vite-plugin-sitemap](https://github.com/jbaubree/vite-plugin-sitemap)
- Server-side generation if you're using SSR

Google also rolled out a dedicated [Generative AI performance report](https://developers.google.com/search/blog/2026/06/gen-ai-performance-reports) in Search Console in June 2026, separate from the classic Performance report. It shows impressions, pages, countries, and devices across AI Overviews, AI Mode, and Discover's generative surfaces, without click or CTR data yet, and its global rollout completed August 31, 2026. UI availability does not establish a separate Search Analytics API export.

## Request Indexing

After sitemap submission, request indexing for important pages.

**Manual method:**

1. Open [URL Inspection](https://support.google.com/webmasters/answer/9012289) in Search Console
2. Enter your URL
3. Click **Request Indexing**

Use requests for infrequent, important updates. Google enforces limits, and a request does not guarantee crawling or indexing.

For many ordinary pages, use crawlable links and a sitemap. Google’s [Indexing API](https://developers.google.com/search/apis/indexing-api/v3/quickstart) only supports JobPosting or livestream VideoObject containing BroadcastEvent. Third-party tools do not remove this restriction.

::tip{title="Automated Indexing"}
For Bing, Yandex, and Naver, use [IndexNow](https://nuxtseo.com/learn-seo/vue/launch-and-listen/indexnow) to notify them the moment content changes. Google still doesn't support IndexNow, but notification does not guarantee crawling, indexing, or a Copilot citation; Bing's own [AI Performance dashboard](https://blogs.bing.com/webmaster/2026/2/Introducing-AI-Performance-in-Bing-Webmaster-Tools-Public-Preview/), launched February 2026, tracks how often your pages get cited.
::

## Core Web Vitals Check

Google treats [Core Web Vitals](https://developers.google.com/search/docs/appearance/core-web-vitals) alongside other ranking signals. Good metrics do not guarantee a ranking. Assess each field metric’s p75 separately for mobile and desktop. Check your scores before launch:

| Metric                          | Good   | Poor   |
| ------------------------------- | ------ | ------ |
| INP (Interaction to Next Paint) | ≤200ms | >500ms |
| LCP (Largest Contentful Paint)  | ≤2.5s  | >4s    |
| CLS (Cumulative Layout Shift)   | ≤0.1   | >0.25  |

::tip{title="RUM for SEO"}
Google's Core Web Vitals ranking signal comes from [CrUX](https://developer.chrome.com/docs/crux) (Chrome UX Report): real Chrome users, aggregated over a rolling window, not your Lighthouse score. Own RUM uses its configured collection scope and reporting window. CrUX aggregates over a rolling 28-day window; compare those scopes before interpreting a difference.
::

The bar is beatable but not universal: per the [2025 Web Almanac](https://almanac.httparchive.org/en/2025/performance), 48% of measured mobile origins passed all three metrics in July 2025, and LCP is the one that fails most often. Use [PageSpeed Insights](https://pagespeed.web.dev/) for lab diagnostics and available field data. Field results require sufficient qualifying visits; check URL versus origin scope. Don't chase perfect scores; fix red flags and move on.

See [Core Web Vitals for Vue](https://nuxtseo.com/learn-seo/vue/launch-and-listen/core-web-vitals) for optimization techniques.

## Lighthouse SEO Audit

Run Lighthouse on your key pages and focus on the SEO and Accessibility categories, for basic technical and accessibility checks:

- Missing [meta descriptions](https://nuxtseo.com/learn-seo/vue/mastering-meta/descriptions)
- Images without [alt text](https://nuxtseo.com/learn-seo/vue/mastering-meta/alt-text)
- Missing lang attribute
- Low contrast text
- Non-crawlable links

Use [Unlighthouse](https://unlighthouse.dev/) to audit your entire site in bulk.

## Build Initial Backlinks

Useful links help readers discover a new site; a new domain does not establish an indexing diagnosis. See the [Pre-Launch Warmup](https://nuxtseo.com/learn-seo/pre-launch-warmup) guide for building authority ahead of launch. Share useful work where it fits the audience:

- Share on Twitter/X, [LinkedIn](https://linkedin.com), and relevant Reddit communities
- Submit to industry directories
- Write guest posts on established sites
- Build open-source tools that get linked

Build useful, relevant links. No fixed link count guarantees indexing or ranking.

## Common Vue-Specific Issues

### Meta tags not updating on navigation

- Use `@unhead/vue` with reactive values
- Compare initial tags in **View Page Source** with the rendered head during route navigation
- Check the [Mastering Meta](https://nuxtseo.com/learn-seo/vue/mastering-meta) guides

### SPA content not indexed

- Google may not have rendered the JavaScript yet
- Inspect tested HTML from a successful [URL Inspection live test](https://support.google.com/webmasters/answer/9012289); read stored indexing information separately
- Consider SSR or [prerendering](https://nuxtseo.com/learn-seo/vue/spa/prerendering)
- See [Indexing Issues](https://nuxtseo.com/learn-seo/vue/launch-and-listen/indexing-issues) for debugging

### Slow Time to First Byte (TTFB)

- Optimize server response time
- Use a CDN for static assets
- Consider static hosting for SPA builds
- Check [Core Web Vitals](https://nuxtseo.com/learn-seo/vue/launch-and-listen/core-web-vitals) for LCP fixes

### Pages "Crawled - currently not indexed"

- Inspect reported response, crawl access, and selected canonical
- Review the content without treating the status as a specific quality or authority diagnosis
- See [Debugging Indexing Issues](https://nuxtseo.com/learn-seo/vue/launch-and-listen/indexing-issues)

## After Launch

1. Check [Search Console](https://nuxtseo.com/learn-seo/vue/launch-and-listen/search-console) weekly for errors
2. Watch the Generative AI performance report for AI impressions, not citation counts
3. Monitor [Core Web Vitals](https://nuxtseo.com/learn-seo/vue/launch-and-listen/core-web-vitals) in field data
4. Track organic traffic with [SEO monitoring tools](https://nuxtseo.com/learn-seo/vue/launch-and-listen/seo-monitoring)
5. Keep publishing content and building backlinks

## Checklist

::checklist{#going-live-vue}
- Set up Google Search Console and verify ownership
- Generate and submit your XML sitemap
- When tags need initial HTML, verify View Source; otherwise compare successful rendered output
- Check canonical URLs point to the preferred domain version
- Run Lighthouse SEO and accessibility audits
- Test Core Web Vitals (INP, LCP, CLS) with PageSpeed Insights
- Request indexing for the homepage and key pages
- Build initial backlinks from social channels and directories
::

Nuxt SEO provides sitemap, robots, and OG-image integrations. Configure them for the app and verify the generated output. [Learn more about going live with Nuxt →](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/going-live)

## Sitemap

See the full [sitemap](https://nuxtseo.com/sitemap.md) for all pages.
