---
title: "Set Up Google Search Console for Your Vue Site"
description: "Verify ownership, submit sitemaps, and monitor indexing status using Google Search Console."
canonical_url: "https://nuxtseo.com/learn-seo/vue/launch-and-listen/search-console"
last_updated: "2026-01-29"
---

<key-takeaways>

- Use Domain property (not URL-prefix) for complete tracking across subdomains
- DNS verification is most reliable; don't delete the TXT record after verification
- Submit sitemap immediately after verification and check status in 24-48 hours

</key-takeaways>

[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 this. without it you're blind to [80% of indexing issues](https://developers.google.com/search/docs/monitor-debug/search-console-start).

## 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 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://www.bluehost.com/blog/verify-website-ownership-google-search-console/).

### 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 changes take up to 48 hours but verification works immediately once the record propagates. This method [eliminates re-verification](https://kinsta.com/blog/google-site-verification/) if you switch between `www` and non-`www` URLs.

<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
```

</code-group>

### HTML Meta Tag

Add a `<meta>` tag to your site's homepage `<head>`. 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). [SPA sites need SSR or pre-rendering](https://www.seozoom.com/google-website-verification/) for this to work since Google checks the initial HTML response.

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>` section
- You have "Edit" permission on the GA4 property

[This is the fastest method](https://medium.com/@makarenko.roman121/how-do-you-verify-a-site-in-google-search-console-e0d179eb4ce9) if you already have analytics. no code changes needed.

### 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**. sitemap parsed, URLs discovered
- **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 back in 24-48 hours for discovered page counts. If Google found 0 URLs but your sitemap has URLs, your XML syntax is broken or the URLs return non-200 status codes.

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

## Key Reports Explained

### Performance Report

Shows the last 16 months of search data:

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

**Note on AI Overviews**: If your URL appears in an AI Overview (like Gemini's summary), it counts as a regular organic impression. Google counts the AI Overview block as a single ranking position.

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 find [low-CTR pages with high impressions](https://ahrefs.com/blog/google-search-console-ctr/). they rank well but have poor titles or descriptions. Fix the meta tags and watch CTR climb.

### 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". The [June 2025 core update](https://searchengineland.com/google-june-2025-core-update-is-now-rolling-out-443764) aggressively deindexed low-quality pages. this report shows the damage.

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

*Formerly "Shopping tab listings"*. If you sell products, this report is critical. It shows:

- **Product snippets**: Issues with structured data for standard search results.
- **Merchant listings**: Eligibility for expanded experiences (Price drop, Shipping info).
- **Opportunities**: Recommendations to improve visibility (e.g., adding return policies).

You don't need a Merchant Center account to be eligible for basic merchant listings, valid `Product` structured data.

### 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
- Mobile usability issues
- Structured data found

Click **Request Indexing** to ask Google to crawl the URL immediately. You get [~10 requests per day](https://support.google.com/webmasters/answer/9012289). use them for new or updated critical pages.

The rendered screenshot is gold for debugging SPA issues. if it's blank or shows loading spinners, Google couldn't execute your JavaScript properly.

## Common Actions

### Request Indexing

After publishing new content:

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

[Google typically crawls within hours](https://developers.google.com/search/docs/monitor-debug/search-console-start) but sometimes takes days. Requesting indexing doesn't guarantee it. Google still evaluates quality.

### 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 404/410 status or add `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

**"Index Coverage report delayed since Nov 2025":**

[This is a known bug](https://www.seroundtable.com/google-search-console-indexing-report-delayed-39045.html). Google confirmed it's a reporting issue only. actual crawling and indexing still work. Use the URL Inspection tool for real-time checks on individual pages.

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

Google found the URLs but chose not to index them. Reasons include:

- Low quality content
- Duplicate content
- Thin content (under 300 words)
- E-E-A-T signals too weak ([June 2025 update issue](https://searchengineland.com/google-june-2025-core-update-is-now-rolling-out-443764))

Fix content quality issues before re-submitting. Don't spam "Request Indexing". it doesn't override quality filters.

**Verification suddenly fails:**

You accidentally removed the verification method. Common causes:

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

Re-verify using the original method.

## Using Nuxt?

If you're using Nuxt, check out the [Nuxt Search Console guide](/learn-seo/nuxt/launch-and-listen/search-console) which covers automated sitemap generation, robots.txt, and OG images.

[Learn more about Search Console in Nuxt →](/learn-seo/nuxt/launch-and-listen)
