Set Up Google Search Console for Your Vue Site

Verify ownership, submit sitemaps, and monitor indexing status using Google Search Console.
Harlan WiltonHarlan Wilton10 mins read Published
What you'll learn
  • Use Domain property (not URL-prefix) for comprehensive 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

Google 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.

Create a Search Console Property

Visit 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 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.

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, 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 if you switch between www and non-www URLs.

Type: TXT
Name: @
Content: google-site-verification=abc123xyz
TTL: Auto

HTML Meta Tag

Add a <meta> tag to your site's homepage <head>. Works for URL-prefix properties.

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

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—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 in 2025. 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 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

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—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 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. 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. 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)

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 Nuxt SEO which provides automated sitemap generation, robots.txt, and OG images.

Learn more about Search Console in Nuxt →