📖Siyuan's Notes
中文
Tools2026-05-17
#Google Search Console#SEO#Indexing#Google#Web Analytics

Google Search Console Complete Guide: Master SEO and Indexing in 2026

Google Search Console (GSC) is the free tool Google gives website owners to monitor and improve their presence in Google Search results. It tells you which queries bring visitors to your site, which pages are indexed, which have errors, and how your site performs on Core Web Vitals. No other free SEO tool provides this level of search data. If you run a website, blog, online store, or SaaS app, GSC is mandatory. This guide covers the complete workflow from setup to advanced SEO diagnostics.

Why Google Search Console in 2026

The SEO tool landscape has many paid options, but GSC provides data no third-party tool can match.

Tool Cost Data Source Key Strength Limitation
Google Search Console Free Google directly Actual search data 3-day delay
Google Analytics 4 Free JavaScript tag User behavior data Not search-specific
Ahrefs $108-$399/mo Third-party crawler Backlink analysis Estimated search data
Semrush $129-$499/mo Third-party crawler Keyword research Estimated search data
Screaming Frog $0-$209/yr On-page crawler Technical SEO No search data
Bing Webmaster Tools Free Bing directly Bing search data Bing only

GSC is the only tool that provides actual Google search data for your site — real impressions, real clicks, real average position. Paid tools estimate this data from their own crawlers and clickstream providers. GSC gives you the ground truth.

Google Search Console Pricing

Google Search Console is completely free. There are no paid tiers, no usage limits for reasonable use, and no premium version.

Feature Limit
Properties per account 100
Sites per property 1 (one property per site)
Data retention 16 months
API requests 1,200 per minute (quota)
URL inspection requests 2,000 per day
Sitemap submissions 500 per site
Cost $0

Step 1: Add Your Website Property

Property Types in GSC

Property Type What It Covers Verification Method Best For
Domain All subdomains and protocols DNS TXT record Recommended for complete tracking
URL Prefix Specific protocol + domain Multiple methods Tracking specific subdomain or protocol
URL Prefix (https://) https://example.com only HTML file, tag, etc. Legacy tracking

Adding a Domain Property (Recommended)

  1. Go to search.google.com/search-console
  2. Click Add Property
  3. Select Domain (not URL prefix)
  4. Enter your domain (e.g., example.com)
  5. Click Continue
  6. GSC displays a DNS TXT record to add to your DNS provider

Verifying Domain Property via DNS

  1. Copy the TXT record value (e.g., google-site-verification=ABC123XYZ...)
  2. Log in to your DNS provider (Cloudflare, GoDaddy, Namecheap, etc.)
  3. Add a new TXT record:
Field Value
Type TXT
Name/Host @ (root domain)
Value google-site-verification=ABC123XYZ...
TTL Auto/3600
  1. Wait for DNS propagation (usually 5-30 minutes)
  2. Return to GSC and click Verify
  3. GSC confirms ownership and starts collecting data

Verifying via Cloudflare

If you use Cloudflare for DNS:

  1. Go to Cloudflare Dashboard > DNS > Records
  2. Click Add Record
  3. Type: TXT
  4. Name: @
  5. Content: (paste verification code)
  6. Click Save
  7. Return to GSC and click Verify

Alternative Verification Methods (URL Prefix Properties)

Method How It Works Difficulty
HTML file Upload GoogleVerify.html to root Easy
HTML tag Add meta tag to homepage <head> Easy
Google Analytics If GA is connected and you have admin access Easy
Google Tag Manager If GTM is installed with container code Easy
Google Sites / Blogger Automatic if you own the site Automatic
DNS TXT record Add TXT record to DNS (works for Domain property) Medium

Step 2: Submit Your Sitemap

A sitemap is an XML file that lists all your website's URLs. It helps Google discover and crawl your pages.

Generating a Sitemap

For Next.js Sites

If using the app router (Next.js 13+), add a sitemap.ts file:

// app/sitemap.ts
export default async function sitemap() {
  const posts = await getAllPosts();

  const postUrls = posts.map((post) => ({
    url: `https://example.com/blog/${post.slug}`,
    lastModified: new Date(post.updatedAt),
    changeFrequency: 'weekly',
    priority: 0.8,
  }));

  return [
    {
      url: 'https://example.com',
      lastModified: new Date(),
      changeFrequency: 'daily',
      priority: 1.0,
    },
    {
      url: 'https://example.com/blog',
      lastModified: new Date(),
      changeFrequency: 'daily',
      priority: 0.9,
    },
    ...postUrls,
  ];
}

For WordPress Sites

  1. Install Yoast SEO or Rank Math plugin (both free)
  2. Sitemap is auto-generated at example.com/sitemap_index.xml
  3. No additional configuration needed

For Static Sites

Use an online sitemap generator or build script:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-05-17</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.com/blog</loc>
    <lastmod>2026-05-17</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>
</urlset>

Submitting Sitemap in GSC

  1. Go to Sitemaps in the left sidebar
  2. Enter your sitemap URL (e.g., sitemap.xml or sitemap_index.xml)
  3. Click Submit
  4. GSC shows status: Submitted, Success, or Errors

Sitemap Status Meanings

Status What It Means Action Needed
Success Sitemap was parsed and URLs are being crawled None
Discovered - currently not indexed URLs found but not yet crawled Wait (can take days-weeks)
Has errors Sitemap format is wrong or URLs return errors Fix errors and resubmit
Couldn't fetch GSC cannot access the sitemap Check robots.txt, server status

Step 3: Understand the Performance Report

The Performance report is the heart of GSC. It shows how your site performs in Google Search.

Key Metrics

Metric What It Measures Why It Matters
Clicks Number of times users clicked your result in Google Direct traffic from search
Impressions Number of times your site appeared in search results Search visibility
CTR (Click-Through Rate) Clicks divided by impressions How compelling your title/snippet is
Average Position Average ranking position of your site Higher = more traffic

Reading the Performance Report

  1. Go to Performance > Search results
  2. Default view shows last 3 months of data
  3. Adjust date range (compare periods to track growth)
  4. View data by four dimensions:
Dimension What It Shows Use Case
Queries Search terms that triggered your site Find keyword opportunities
Pages Which pages get impressions/clicks Identify top content
Countries Where searchers are located Target geographic markets
Devices Desktop, mobile, tablet Optimize for device type
Search appearance Rich results, AMP, etc. Monitor structured data
Date Daily performance Track trends

Analyzing Query Data

Click on Queries to see which search terms bring traffic:

Query Clicks Impressions CTR Position
tailwind css guide 1,250 8,400 14.9% 4.2
figma tutorial 580 12,000 4.8% 7.1
cloudflare setup 320 3,200 10.0% 5.5
docker beginner 90 1,800 5.0% 12.3

SEO Opportunity Analysis

Use these metrics to find opportunities:

Scenario What to Do
High impressions, low CTR Improve title and meta description
Low impressions, high CTR Content is good but needs more authority
Position 5-15 (page 1-2) Focus on improving rankings — closest to page 1
Position 1-4 Maintain and optimize for featured snippets
Position 20+ Content may need significant improvement

Comparing Date Ranges

  1. Click the date selector
  2. Select Compare tab
  3. Choose two periods (e.g., last 28 days vs. previous 28 days)
  4. GSC shows:
    • Click change (+/-)
    • Impression change
    • New queries (queries that appeared in the new period)
    • Lost queries (queries that disappeared)

Step 4: URL Inspection Tool

The URL Inspection tool provides detailed information about a specific page's indexing status.

Using URL Inspection

  1. Paste a URL into the inspect search bar at the top
  2. GSC checks Google's index for that URL
  3. You see one of several statuses:
Status What It Means Action
URL is on Google Page is indexed None needed
URL is not on Google Page is not indexed See reasons below
Indexed, not submitted in sitemap Google found and indexed it Add to sitemap
Discovered - currently not indexed Google knows about it but hasn't crawled Wait or improve content
Crawled - currently not indexed Google crawled but decided not to index Improve content quality
Page with redirect URL redirects Update internal links
Excluded by 'noindex' tag Page has noindex directive Remove tag if you want it indexed
Blocked by robots.txt robots.txt blocks crawling Update robots.txt

Requesting Indexing

If a page is not indexed but should be:

  1. Enter the URL in the inspection bar
  2. Click Request Indexing
  3. GSC runs a live test
  4. If the test passes, Google queues the URL for crawling
  5. Indexing typically happens within 1-7 days

Live URL Test

  1. Click Test Live URL button in the inspection panel
  2. GSC fetches the page in real-time (not cached)
  3. View:
    • HTTP status code
    • Page fetch status
    • Screenshot of what Googlebot sees
    • Rendered HTML
    • Detected structured data
    • Detected linked items

Step 5: Coverage and Indexing Reports

Index Coverage Report

Go to Pages in the left sidebar to see your site's index coverage:

Category What It Means Priority
Indexed Pages Google has crawled and indexed Good
Not indexed (with reasons) Pages Google knows about but hasn't indexed Varies
Server errors Pages returning 5xx errors High
Redirect errors Broken or looped redirects High
Submitted but blocked by robots.txt URLs in sitemap but blocked Medium
Discovered - not indexed Known but not crawled Low-Medium
Crawled - not indexed Crawled but not indexed Medium

Common Indexing Issues and Solutions

Issue Cause Solution
Soft 404 Page returns 200 but has no content Add substantial content or return 404
Blocked by robots.txt robots.txt disallows the URL Remove the block if you want it indexed
noindex tag Meta robots tag is set to noindex Remove the tag
Canonical issues Conflicting canonical URLs Fix canonical tags
Duplicate without canonical Google found duplicate content Add canonical tags
Server errors (5xx) Server is down or timing out Fix server issues
Redirect loops URL redirects in a circle Fix redirect chain
Page not found (404) URLs in sitemap return 404 Remove from sitemap or create the page

Step 6: Core Web Vitals

Core Web Vitals are Google's page experience metrics that affect rankings.

The Three Core Web Vitals

Metric What It Measures Good Needs Improvement Poor
LCP (Largest Contentful Paint) Time to render largest element <2.5s 2.5-4.0s >4.0s
INP (Interaction to Next Paint) Responsiveness to user input <200ms 200-500ms >500ms
CLS (Cumulative Layout Shift) Visual stability <0.1 0.1-0.25 >0.25

Finding Core Web Vitals in GSC

  1. Go to Experience > Core Web Vitals
  2. GSC groups your URLs into "Good," "Needs improvement," and "Poor"
  3. Click on each group to see which URLs need work

Fixing LCP Issues

Cause Fix
Large unoptimized images Compress and use WebP/AVIF format
Render-blocking JavaScript Add defer or async attributes
Slow server response (TTFB) Use a CDN (like Cloudflare)
No preload for hero images Add <link rel="preload">
Large CSS files Inline critical CSS, defer non-critical

Fixing CLS Issues

Cause Fix
Images without dimensions Add width and height attributes
Dynamic content injection Reserve space with min-height
Web fonts causing FOUT/FOIT Use font-display: swap
Late-loading ads Reserve space for ad containers
Late-loading banners Predefine dimensions

Step 7: Mobile Usability

Google uses mobile-first indexing — it crawls and indexes the mobile version of your site.

Checking Mobile Usability

  1. Go to Experience > Mobile Usability
  2. GSC shows mobile-friendly status for each URL
Issue What It Means Fix
Text too small to read Font size <12px on mobile Increase to 16px minimum
Clickable elements too close Buttons/links are <48px apart Increase spacing
Content wider than screen Horizontal scrolling on mobile Use responsive design
Uses incompatible plugins Flash or other non-mobile tech Remove deprecated tech
Viewport not set No viewport meta tag Add <meta name="viewport" content="width=device-width, initial-scale=1">

Step 8: Structured Data and Rich Results

Structured data helps Google understand your content and can lead to rich results in search.

Types of Rich Results

Schema Type What It Creates Best For
Article Enhanced article appearance Blog posts
FAQ Expandable Q&A in search FAQ pages
HowTo Step-by-step display Tutorial pages
Product Price, availability, reviews E-commerce
Recipe Rating, cook time, ingredients Recipe sites
BreadcrumbList Breadcrumb navigation in search All multi-level sites
Organization Logo, contact info in knowledge panel Company sites
Software Application App ratings Software/SaaS

Adding Structured Data (JSON-LD)

Add this to your page's <head>:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Tailwind CSS Complete Beginner Guide",
  "author": {
    "@type": "Organization",
    "name": "Siyuan's Notes"
  },
  "datePublished": "2026-05-04",
  "dateModified": "2026-05-04",
  "image": "https://example.com/images/tailwind-guide.png",
  "publisher": {
    "@type": "Organization",
    "name": "Siyuan's Notes",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  }
}
</script>

Monitoring Rich Results

  1. Go to Search appearance > Enhancements
  2. GSC shows structured data it detected
  3. It reports errors and warnings in your schema markup
  4. Fix any reported errors

Step 9: Links Report

The Links report shows who links to your site and how your internal links are structured.

External Links

Metric What It Shows Use Case
Top linked pages Most linked-to pages Identify popular content
Top linking sites Sites that link to you Monitor backlink profile
Top linking text Most common anchor text Check for spammy anchors

Internal Links

Metric What It Shows Use Case
Top linked pages Most internally linked pages Ensure important pages have most links
Top linked-from pages Pages with most internal links See which pages distribute most link equity

Internal Linking Best Practices

Practice Why It Matters
Link to important pages from homepage Passes authority from your strongest page
Use descriptive anchor text Helps Google understand context
Avoid "click here" as anchor text Provides no SEO signal
Keep internal links relevant Links should be contextually appropriate
Aim for 3+ internal links per page Ensures crawlability
Fix orphan pages (0 internal links) Orphans won't be discovered easily

Step 10: Sitemaps and Robots.txt

Robots.txt Best Practices

Create a robots.txt file at your site root:

# Allow all crawlers access to everything
User-agent: *
Allow: /

# Block access to admin areas
Disallow: /admin/
Disallow: /api/

# Block specific crawlers
User-agent: AhrefsBot
Disallow: /

# Sitemap location
Sitemap: https://example.com/sitemap.xml
Directive What It Does
User-agent: * Applies to all crawlers
Allow: / Allows crawling of all pages
Disallow: /admin/ Blocks crawling of /admin/
Sitemap: URL Tells crawlers where your sitemap is

Robots.txt Testing in GSC

  1. Go to Legacy tools > robots.txt tester
  2. GSC shows your current robots.txt
  3. Test any URL to see if it's blocked
  4. Fix issues and update your robots.txt file

Step 11: GSC API and Automation

Using the GSC API

The GSC API lets you programmatically access search data:

from googleapiclient.discovery import build

# Initialize the service
service = build(
    'searchconsole',
    'v1',
    credentials=credentials
)

# Query search analytics
request = {
    'startDate': '2026-04-01',
    'endDate': '2026-04-30',
    'dimensions': ['query'],
    'rowLimit': 1000
}

response = service.sites().query(
    siteUrl='https://example.com/',
    body=request
).execute()

for row in response['rows']:
    print(f"Query: {row['keys'][0]}, Clicks: {row['clicks']}, Impressions: {row['impressions']}")

API Rate Limits

Resource Limit
Queries per day 200,000
Queries per 100 seconds 1,200
Queries per 100 seconds per user 600

Step 12: Practical SEO Workflow

Weekly SEO Routine (30 minutes)

  1. Check Performance report for new queries and position changes
  2. Review Pages for any new indexing errors
  3. Check Coverage for newly discovered URLs not indexed
  4. Submit any new important URLs for indexing via URL Inspection
  5. Review Core Web Vitals for new issues

Monthly SEO Routine (2 hours)

  1. Compare Performance data month-over-month
  2. Identify top 10 queries by impression growth
  3. Identify queries with high impressions but low CTR (optimize titles)
  4. Review and fix any new indexing errors
  5. Update sitemap if new pages were added
  6. Check for lost backlinks in the Links report
  7. Review mobile usability for new issues
  8. Test structured data for errors

SEO Optimization Priorities

Priority Task Impact Difficulty
1 Fix indexing errors High Low
2 Submit sitemap High Low
3 Fix Core Web Vitals (LCP) High Medium
4 Optimize title tags for low CTR Medium-High Low
5 Fix mobile usability issues High Medium
6 Add structured data Medium Medium
7 Improve content for positions 5-15 High Hard
8 Fix internal linking structure Medium Medium
9 Monitor for manual actions High Low
10 Optimize for featured snippets Medium Hard

GSC for Different Website Types

For Blog Sites

Action Frequency
Submit new posts for indexing After each post
Monitor query performance Weekly
Check for soft 404s Monthly
Update sitemap After new content
Monitor Core Web Vitals Monthly

For E-commerce Sites

Action Frequency
Monitor product page indexing Weekly
Check for server errors on checkout Weekly
Monitor Product structured data Monthly
Review internal linking for categories Monthly
Track seasonal query trends Quarterly

For SaaS Sites

Action Frequency
Monitor landing page performance Weekly
Track branded search growth Monthly
Submit new feature pages for indexing After launch
Monitor API documentation indexing Monthly
Review Core Web Vitals for app pages Monthly

Common Pitfalls and Solutions

Pitfall 1: Not Verifying with Domain Property

If you use URL Prefix (https://), you miss data from http://, www., and subdomains. Always use the Domain property type to track everything.

Pitfall 2: Ignoring the 3-Day Data Delay

GSC data has a 2-3 day delay. Yesterday's data is not final. Always wait at least 3 days before analyzing recent performance.

Pitfall 3: Fixating on Average Position

Average position includes all queries, including brand searches where you rank #1. Filter out branded queries to see true SEO performance.

Pitfall 4: Not Requesting Indexing for New Pages

When you publish a new page, Google may take days or weeks to discover it. Use Request Indexing in URL Inspection to speed up the process.

Pitfall 5: Confusing Discovered vs. Crawled

"Discovered - currently not indexed" means Google knows the URL exists but hasn't crawled it. "Crawled - currently not indexed" means Google crawled it but doesn't think it's worth indexing. The first needs patience; the second needs content improvement.

Action Checklist

  • Go to search.google.com/search-console and sign in with Google
  • Add your website as a Domain property
  • Verify ownership via DNS TXT record
  • Wait for verification (usually instant to 30 minutes)
  • Submit your sitemap URL
  • Check sitemap status after 24 hours
  • Run URL Inspection on your homepage
  • Request indexing for your most important pages
  • Review the Performance report after 3-5 days
  • Identify top 10 queries by impressions
  • Identify queries with high impressions but low CTR
  • Improve title tags for low CTR queries
  • Check Pages report for indexing errors
  • Fix any server errors (5xx) immediately
  • Fix any soft 404s by adding content or returning 404
  • Check Core Web Vitals report
  • Fix any LCP issues (>4.0s)
  • Fix any CLS issues (>0.25)
  • Check Mobile Usability report
  • Fix any mobile usability errors
  • Add structured data (Article schema) to blog posts
  • Check Enhancements report for schema errors
  • Review the Links report for external links
  • Review internal links and identify orphan pages
  • Add internal links to orphan pages
  • Set up weekly GSC review routine (30 min/week)
  • Set up monthly GSC review routine (2 hours/month)
  • Connect GSC to Google Analytics 4 for combined data
  • Consider using GSC API for automated reporting

Realistic SEO Impact

Metric Before GSC After GSC Optimization Improvement
Indexed pages 50-70% of pages 95-100% of pages +25-50%
Average CTR 1-2% 3-5% +100-150%
Average position 15-25 5-10 +50-60%
Clicks from search Baseline 2-3x baseline +100-200%
Core Web Vitals pass rate 40-60% 90-100% Significant
Time to index new pages 7-14 days 1-3 days -80%

Final Word

Google Search Console is the most important free SEO tool available. No paid tool gives you actual Google search data — real impressions, real clicks, real positions. The setup takes 15 minutes: add your domain property, verify via DNS, submit your sitemap, and request indexing for key pages. From there, the weekly routine of checking performance, fixing indexing errors, and optimizing low-CTR titles compounds over time. Most websites see a 50-100% increase in organic traffic within 3-6 months of consistent GSC optimization. The data is free, the insights are from Google directly, and the impact on your search visibility is measurable. Start with verifying your property today — every day you wait is data you are not collecting.

More guides: bsynet.cc

Tags

#Google Search Console#SEO#Indexing#Google#Web Analytics

📖 Related Posts