---
title: "Set Up Google Search Console for Your Vue Site"
description: "Verify your Vue SPA in Google Search Console, submit your sitemap, and catch indexing problems that JavaScript rendering can hide."
canonical_url: "https://nuxtseo.com/learn-seo/vue/launch-and-listen/search-console"
last_updated: "2026-10-05"
---

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

::key-takeaways
- Use the Domain property, not URL-prefix, for complete tracking across subdomains
- DNS verification is the most reliable method; don't delete the TXT record after verification
- Submit your sitemap after verification. Reporting and indexing can take time
- Google counts an AI Overview as a single ranking position, so high impressions with low clicks there is normal
::

[Google Search Console](https://search.google.com/search-console) shows which pages Google indexed, what queries bring traffic, and what's broken. Every site needs it: without Search Console, indexing problems go unnoticed until traffic already dropped.

## Create a Search Console Property

Visit [search.google.com/search-console](https://search.google.com/search-console) and add a property. You get two types:

**Domain property** (`example.com`):

- Includes all subdomains (`www`, `m`, `blog`)
- Covers both HTTP and HTTPS
- Requires DNS verification only

**URL-prefix property** (`https://example.com`):

- Single protocol and subdomain
- Multiple verification methods
- Better for subsections or testing

[Use the Domain property](https://support.google.com/webmasters/answer/9008080) unless you only control a subdomain. It captures all traffic variations without managing separate properties.

## Verification Methods

Google needs proof you own the site. Pick one method and don't remove it: Google [checks verification periodically](https://support.google.com/webmasters/answer/9008080), and a removed record or file can silently drop you back to unverified.

### DNS Verification (Recommended)

Add a TXT record to your domain's DNS settings. This is the only method for Domain properties and the most reliable overall.

**Steps:**

1. Google provides a TXT record like `google-site-verification=abc123xyz`
2. Add it to your DNS at your registrar (GoDaddy, Namecheap, [Cloudflare](https://cloudflare.com), etc.)
3. Click **Verify** in Search Console

DNS visibility depends on your provider and caching. Verify after the record is publicly visible. [Domain property verification covers every subdomain and protocol together](https://support.google.com/webmasters/answer/9008080), so switching between `www` and non-`www` URLs doesn't require re-verifying.

::code-group
```txt [Cloudflare DNS]
Type: TXT
Name: @
Content: google-site-verification=abc123xyz
TTL: Auto
```

```txt [Route 53 DNS]
Record type: TXT
Name: example.com
Value: "google-site-verification=abc123xyz"
TTL: 300
```
::

### HTML Meta Tag

Add a `<meta>`{lang="html"} tag to your site's homepage `<head>`{lang="html"}. Works for URL-prefix properties.

```ts [app.vue]
import { useHead } from '@unhead/vue'

useHead({
  meta: [
    { name: 'google-site-verification', content: 'abc123xyz' }
  ]
})
```

The tag must appear in the HTML source before hydration: check with **View Page Source** (not DevTools) to confirm. A static index.html can contain the tag. SSR is not required. Follow [Google's HTML-tag verification requirements](https://support.google.com/webmasters/answer/9008080).

Common issue: if you use a layout component for the tag, make sure it renders on every page including the homepage.

### HTML File Upload

Upload `google-site-verification.html` to your site's root directory. Works for URL-prefix properties.

**Steps:**

1. Download the verification file from Search Console
2. Place it in your `public/` directory (Vite/Vue CLI) or static root
3. Verify it loads at `https://example.com/google-site-verification.html`
4. Click **Verify** in Search Console

Don't delete this file after verification. Google re-checks it.

### Google Analytics

If you already use Google Analytics with the GA4 tracking code on your homepage, Search Console can verify via that tag.

**Requirements:**

- GA4 property set up
- Tracking code in `<head>`{lang="html"} section
- You have "Edit" permission on the GA4 property

This method needs no code changes if analytics is already installed; see Google's [verification methods overview](https://support.google.com/webmasters/answer/9008080) for the full list.

### Google Tag Manager

Same concept as Google Analytics. If you have GTM installed and publishing, Search Console auto-detects it for verification.

**Requirements:**

- GTM container installed on homepage
- You have "Publish" permission on the container

## Submit Your Sitemap

After verification, tell Google where to find your pages:

1. Navigate to **Sitemaps** under **Indexing**
2. Enter your sitemap URL: `https://example.com/sitemap.xml`
3. Click **Submit**

Status meanings:

- **Success**: Google successfully processed the sitemap; this does not prove every listed URL was discovered or indexed
- **Couldn't fetch**: URL wrong or [blocked by robots.txt](https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap)
- **Pending**: processing in queue

Check the sitemap status and last read date. A zero discovered count does not identify one cause. Validate the XML and URL responses, then inspect representative URLs. Reporting may lag.

You can [reference your sitemap in robots.txt](https://nuxtseo.com/learn-seo/vue/controlling-crawlers/robots-txt) as an alternative submission method. Google auto-discovers it when crawling.

## Key Reports Explained

### Performance Report

Shows search data for both traditional search and AI features, retaining [16 months of history](https://gscdump.com/learn-google-search-console/limits/16-month-data-retention):

**Metrics:**

- **Impressions**: how many times your pages appeared in search results
- **Clicks**: how many users clicked through
- **CTR (Click-Through Rate)**: clicks ÷ impressions
- **Position**: average ranking position (lower is better)

**AI Overviews:** if your URL appears in an AI Overview, it counts as a regular organic impression. Google [counts an AI Overview as a single ranking position](https://support.google.com/webmasters/answer/7042828): every link inside the block shares that same position, and it only counts as an impression once it's scrolled or expanded into view.

Filter by:

- **Queries**: what terms triggered your pages
- **Pages**: which URLs get the most traffic
- **Countries**: geographic breakdown
- **Devices**: mobile vs desktop vs tablet

Use this to identify pages with high impressions and low CTR. Several causes can produce this pattern. Check the title, snippet, query intent, and competing results before changing the page. Compare periods and query intent. A CTR change alone does not prove that an AI Overview caused the change.

The Performance report UI limits table exports. API results also have privacy and data limits. [Nuxt SEO Pro](https://nuxtseo.com/pro) reads Search Console metrics for each registered host. Neither a UI export nor an API export contains every hidden query.

The separate [Generative AI performance report](https://support.google.com/webmasters/answer/16984139) shows AI Overview and AI Mode impressions. Google completed its rollout on August 31, 2026. Do not infer a separate Search Analytics API export from the UI report.

### Page Indexing Report

Replaced the old Coverage report. Shows indexing status for all discovered URLs:

**Categories:**

- **Indexed**: pages in Google's index
- **Not indexed**: pages excluded or rejected
- **Crawled - currently not indexed**: pages Google saw but chose not to index

Click any category to see specific reasons like "Duplicate content", "Soft 404", or "Crawled but not indexed". Check this report for sudden drops in the Indexed count; they usually point to a crawl or content-quality problem worth investigating.

Common issues for Vue sites:

- **Page not found (404)**: sitemap lists URLs that don't exist
- **Soft 404**: page returns 200 but contains "not found" content
- **Redirect**: sitemap lists old URLs that redirect to new ones
- **Blocked by robots.txt**: you accidentally blocked indexable pages

### Merchant Opportunities Report

If you sell products, check the reports available for your property. Follow Google's [merchant listing documentation](https://developers.google.com/search/docs/appearance/structured-data/merchant-listing) for markup and eligibility. Supported reports and display requirements can differ. Valid markup does not guarantee a listing.

### URL Inspection Tool

Enter any URL to see:

- Whether it's indexed
- When Google last crawled it
- Rendered HTML (what Googlebot saw after executing JavaScript)
- Screenshot of the rendered page
- Coverage errors or warnings
- Structured data found

Click **Request Indexing** to ask Google to consider recrawling the URL. Google enforces a daily quota but has never published the exact number; save requests for new or updated critical pages.

Use the rendered screenshot to debug SPA issues. If the page is blank or stuck loading, inspect resources, network responses, console errors, and application state.

## Common Actions

### Request Indexing

After publishing new content:

1. Open **URL Inspection** tool
2. Enter the new URL
3. Click **Request Indexing**

Google [says crawling can take a few days to a few weeks](https://developers.google.com/search/docs/crawling-indexing/ask-google-to-recrawl); requesting indexing doesn't guarantee it or speed it up, and Google still evaluates quality before indexing.

### Remove URLs Temporarily

Need to hide a URL from search results quickly?

1. Navigate to **Removals** under **Indexing**
2. Click **New Request**
3. Enter the URL
4. Choose removal type

Removals last [approximately 6 months](https://support.google.com/webmasters/answer/9689846). For permanent removal, return a 404/410 status or add a `noindex` meta tag, then request removal.

### Security Issues

If Google detects malware or hacking, you'll see alerts in Search Console. Fix the issue first (remove malware, update plugins, patch vulnerabilities), then request a security review under **Security Issues**.

Ignore these warnings and Google may deindex your entire site to protect users.

## Common Search Console Issues

**Page Indexing report looks frozen:**

Google's reporting pipeline fell about two weeks behind for roughly a month between November and December 2025; [Search Engine Land covered the delay](https://searchengineland.com/google-search-console-index-coverage-report-delayed-465464) and the [fix that followed](https://searchengineland.com/google-fixed-month-long-delay-with-page-indexing-report-466419). Google confirmed crawling and indexing kept working the whole time, only the report lagged. If a report ever looks stale again, trust URL Inspection on individual pages over the aggregate.

**Sitemap shows "Discovered - currently not indexed":**

Google knows the URL but has not crawled it yet. This status does not prove a content-quality failure. Check crawl access, server availability, internal links, and URL Inspection. If Google crawled the page but did not index it, inspect the separate Crawled status. No fixed word count guarantees indexing.

**Verification suddenly fails:**

You accidentally removed the verification method. Common causes:

- Deleted DNS record during domain migration
- Removed meta tag when refactoring `<head>`{lang="html"} tags
- Deleted HTML verification file during deploy
- Lost GTM/GA permissions

Re-verify using the original method.

## Bing Webmaster Tools

[Bing Webmaster Tools](https://www.bing.com/webmasters) serves a similar purpose to Google Search Console for Bing, Yahoo, and DuckDuckGo search. Setup takes about 2 minutes because you can import your existing Google Search Console configuration directly.

Use your own analytics to assess whether Bing traffic matters for your audience. Search-engine share varies by market, device, and date.

Bing Webmaster Tools is also the gateway to [IndexNow](https://nuxtseo.com/learn-seo/vue/launch-and-listen/indexnow), which sends changed-URL notifications to Bing, Yandex, Seznam, and Naver instead of waiting for them to recrawl your sitemap.

[Bing Webmaster Tools shipped an AI Performance report](https://searchengineland.com/bing-webmaster-tools-ai-performance-report-468751) in February 2026, showing how often your content gets cited in Microsoft Copilot and Bing's AI summaries: total citations, cited pages, and the queries that triggered them. Google Search Console shows AI Overview impressions but no citation counts, so pairing the two gives a fuller picture of your AI visibility.

## Checklist

::checklist{#vue-search-console}
- Search Console property verified, ideally the Domain property via DNS
- Verification tag or file confirmed present in raw HTML source, not just after hydration
- Sitemap submitted and showing a "Success" status
- Critical pages checked with URL Inspection after publishing
- Performance report checked for AI Overview impressions
- Bing Webmaster Tools set up alongside Google Search Console
::

If you're using Nuxt, see the [Nuxt Search Console guide](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/search-console) for automated sitemap generation, robots.txt, and OG images.

## Sitemap

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