---
title: "Getting Your Vue Site Indexed"
description: "How to get your Vue site crawled and indexed for the first time by Google."
canonical_url: "https://nuxtseo.com/learn-seo/vue/launch-and-listen/going-live"
last_updated: "2026-01-29"
---

<key-takeaways>

- Set up Google Search Console and submit sitemap before launch
- Request indexing for homepage and critical pages (10 requests/day limit)
- Check Core Web Vitals scores. INP ≤200ms, LCP ≤2.5s, CLS ≤0.1

</key-takeaways>

Deployed your Vue site to production? Two steps remain: get Google to crawl it, then get Google to index it.

## SSR vs SPA: The Indexing Reality

If your Vue app is a Single Page Application (SPA), [Google needs to execute JavaScript](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics) to see your content. This delays indexing, sometimes by weeks.

**For faster, more reliable indexing:**

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

If staying with SPA, use [dynamic rendering](/learn-seo/vue/spa/dynamic-rendering) or a service like Prerender.io. Test your pages with Google's URL Inspection tool to verify content is visible.

## Canonical URL Configuration

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:**

1. **Server-level redirect** (preferred): 301 redirect all non-canonical URLs
2. **Canonical tags**: Tell Google which version is authoritative

```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 [Canonical URLs guide](/learn-seo/vue/controlling-crawlers/canonical-urls) for implementation details.

## Set Up Google Search Console

You need [Google Search Console](/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. Verify ownership via DNS, HTML file, or meta tag
4. Submit your [sitemap](/learn-seo/vue/controlling-crawlers/sitemaps) at **Indexing > Sitemaps**

For Vue apps, generate a sitemap using:

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

## 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**

You get [~10 requests per day](https://support.google.com/webmasters/answer/9012289). Use them for homepage and critical pages.

**Bulk method:**
Use [RequestIndexing](https://requestindexing.com/) by @harlan_zw to submit multiple URLs automatically.

<tip title="Automated Indexing">

For Bing, Yandex, and Naver, use [IndexNow](/learn-seo/vue/launch-and-listen/indexnow) to notify them immediately when content changes. While Google doesn't support IndexNow in 2026, keeping other engines updated helps build overall site authority.

</tip>

## Core Web Vitals Check

[Google uses Core Web Vitals](https://developers.google.com/search/docs/appearance/core-web-vitals) as a ranking signal. Check your scores before launch:

<table>
<thead>
  <tr>
    <th>
      Metric
    </th>
    
    <th>
      Good
    </th>
    
    <th>
      Poor
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      INP (Interaction to Next Paint)
    </td>
    
    <td>
      ≤200ms
    </td>
    
    <td>
      >500ms
    </td>
  </tr>
  
  <tr>
    <td>
      LCP (Largest Contentful Paint)
    </td>
    
    <td>
      ≤2.5s
    </td>
    
    <td>
      >4s
    </td>
  </tr>
  
  <tr>
    <td>
      CLS (Cumulative Layout Shift)
    </td>
    
    <td>
      ≤0.1
    </td>
    
    <td>
      >0.25
    </td>
  </tr>
</tbody>
</table>

<tip title="RUM for SEO">

Lab data (Lighthouse) isn't enough. You need field data (Real User Monitoring) to pass Core Web Vitals in 2026. Tools like Pingdom, Datadog, or DebugBear track actual user experiences, which Google uses for ranking.

</tip>

Use [PageSpeed Insights](https://pagespeed.web.dev/) to test. Don't chase perfect scores. fix red flags and move on.

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

## Lighthouse SEO Audit

Run Lighthouse on your key pages. Focus on the **SEO** and **Accessibility** categories. they catch issues Google cares about:

- Missing [meta descriptions](/learn-seo/vue/mastering-meta/descriptions)
- Images without [alt text](/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

New sites have zero authority. Google is skeptical of them. For new domains, starting 6 to 8 weeks before launch can significantly improve initial indexing speed. See the [Pre-Launch Warmup](/learn-seo/pre-launch-warmup) guide. Signal legitimacy with a few quality backlinks:

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

Quality over quantity. One link from a respected site beats 100 from spam directories.

## Common Vue-Specific Issues

**Meta tags not updating on navigation:**

- Use `@unhead/vue` with reactive values
- Verify tags appear in **View Page Source** (not DevTools)
- Check [Mastering Meta](/learn-seo/vue/mastering-meta) guides

**SPA content not indexed:**

- Google may not execute JavaScript properly
- Use [URL Inspection](https://support.google.com/webmasters/answer/9012289) to see rendered HTML
- Consider SSR or [prerendering](/learn-seo/vue/spa/prerendering)
- See [Indexing Issues](/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](/learn-seo/vue/launch-and-listen/core-web-vitals) for LCP fixes

**Pages "Crawled - currently not indexed":**

- Content may be too thin or duplicate
- Site may lack authority (needs backlinks)
- See [Debugging Indexing Issues](/learn-seo/vue/launch-and-listen/indexing-issues)

## After Launch

1. Check [Search Console](/learn-seo/vue/launch-and-listen/search-console) weekly for errors
2. Monitor [Core Web Vitals](/learn-seo/vue/launch-and-listen/core-web-vitals) in field data
3. Track organic traffic with [SEO Monitoring tools](/learn-seo/vue/launch-and-listen/seo-monitoring)
4. Keep publishing content and building backlinks

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.

## Using Nuxt?

Nuxt SEO handles sitemap generation, robots.txt, OG images, and many SEO tasks automatically.

<checklist id="going-live-vue" title="Pre-Launch SEO Checklist">

- Set up Google Search Console and verify ownership
- Generate and submit XML sitemap
- Verify meta tags appear in View Source (not just DevTools)
- Check canonical URLs point to preferred domain version
- Run Lighthouse SEO and accessibility audits
- Test Core Web Vitals (INP, LCP, CLS) with PageSpeed Insights
- Request indexing for homepage and key pages
- Build initial backlinks from social and directories

</checklist>

[Learn more about going live with Nuxt →](/learn-seo/nuxt/launch-and-listen/going-live)
