You have access to Google Search Console, you see the charts, but you don't understand why some pages remain unindexed or why traffic drops without an apparent reason. You are not alone. We at Meteora Web see it every day: most Italian websites have GSC misconfigured or only use it out of curiosity. But if you don't use it as a decision-making tool, you’re leaving money on the table.
This guide starts from scratch but reaches an operational level you can apply immediately. Everything we write is stuff we use in production for real clients. No abstract theory.
Setup and Property Verification
First things first: GSC must be configured correctly. Simply adding the property from the panel is not enough. You need to verify ownership using a method that survives DNS changes or server migrations.
Recommended verification methods
We prefer DNS TXT record verification. It is stable, survives hosting changes, and doesn't require a file on the server. To verify a domain with providers like Aruba or SiteGround, the steps are:
# Example TXT record for GSC verification
TXT @ google-site-verification=xxxxxxxxxxxxxxxxxxxx
Alternatively, if you have access to the site root, you can use the HTML file. But beware: if you change CMS or theme, the file might disappear. We discourage the meta tag method because if the theme doesn’t output it on every page, verification may lapse.
Multiple verification and composite properties
For a site with multiple versions (www, non-www, http, https), you must add all variants. The best practice is to create a domain property (without prefix) that automatically includes them all. In GSC, choose “Property type: Domain” and enter “example.com”. This only works with DNS verification.
Performance Report: Interpreting CTR, Impressions, and Average Position
The Performance report is the heart of GSC. But if you only look at total traffic, you’re missing 90% of the information.
Segment by device and country
A drop in impressions may be due to a mobile issue. We always split by device: if average position on mobile worsens while desktop stays stable, it’s time to check Core Web Vitals or viewport issues.
Average position and CTR: the hidden relationship
An average position of 8 with a 3% CTR is abnormal. It means the title and meta description don’t entice clicks. We intervene by rewriting title tags for queries with low CTR but good position. Don’t chase position at all costs: if you’re first in SERP but no one clicks, you’re first nowhere.
Sponsored Protocol
Exporting data and analyzing outside GSC
GSC’s limit is showing only 1000 queries. For deep analysis, you must export. We have an e-commerce client with 50,000 monthly queries: using the API and Python we extract everything. But even manually, you can use the “Export” button and then work with Excel or Google Sheets. The real value is cross-referencing data with GA4 to see which keywords drive conversions, not just visits.
Index Coverage: Errors, Exclusions, and Unindexed Pages
This report is where many get lost. Errors, warnings, excluded, valid with warnings. Here’s how to read each status.
Real errors vs false positives
Not all errors are equal. A 404 error on a page you deliberately deleted is not a problem. But an “Alternate page with proper canonical tag” error on a URL that should be indexed is. We filter by type and check the first detection date. If an error persists for months and the page exists, could it be a GSC bug? It can happen, but more often it’s a server issue responding with 500 to Googlebot.
How to fix unindexed pages
You have a page that isn’t indexed? Use the URL inspection tool: paste the URL and click “Request indexing”. If GSC reports “Indexed” but you don’t see it in SERP, check the canonical and robots meta tags. We had a concrete case: a client with 2000 WooCommerce products, none indexed. The problem? Each page had a noindex tag inherited from a poorly removed staging plugin. We fixed it in 10 minutes.
Exclusions for “Crawled - currently not indexed”
This is the most frustrating status. Google crawled but did not index. Possible causes: thin content, duplicate pages, low domain authority. We intervene by improving content quality, adding internal links from strong pages, and increasing page speed. Often updating the publication date and resubmitting the sitemap also works.
Sponsored Protocol
Core Web Vitals in GSC: LCP, INP, CLS – How to Monitor
GSC doesn’t just tell you if the site is fast: it tells you which specific URLs have issues with LCP > 2.5 seconds or CLS > 0.1. This is gold for development.
Reading the Core Web Vitals report
You’ll find two sections: “Mobile” and “Desktop”. Inside, for each metric, there is a list of URLs grouped by problem. Clicking a group shows exactly which pages are in red. We use these lists to prioritize interventions: first the most trafficked pages.
Concrete actions to improve LCP
The largest contentful paint (LCP) is often an image or a text block. We apply:
- Lazy loading for below-the-fold images
- Modern formats like WebP or AVIF
- Preloading critical fonts
- Server optimization (Redis cache, PHP 8.x, CDN)
We had a client with 5 MB images. By optimizing them we reduced weight by 60% without quality loss – LCP went from 4.2 to 1.8 seconds.
INP (Interaction to Next Paint) – the new FID
Since March 2024, FID has been replaced by INP. It measures overall page responsiveness. If your site has heavy JavaScript, INP could be negative. We use techniques like code splitting, lazy loading of scripts, and reducing main thread work. GSC shows the INP report separately.
Sitemaps: Submission, Verification, and Troubleshooting
An XML sitemap is the most direct way to let Google discover all your pages. But submitting it isn’t enough: you need to check it’s valid and contains only canonical URLs.
Generating a correct sitemap
On WordPress, plugins like Yoast SEO or Rank Math generate sitemaps automatically. We recommend checking they don’t include staging URLs, system pages, or redirects. Open the sitemap in your browser and look for anomalies. For static sites or Laravel, we generate custom sitemaps with PHP scripts.
Submitting the sitemap in GSC
Go to “Sitemaps” in the sidebar, paste the URL, and press Enter. GSC will show the status: “Operation successful” or errors. Common errors: sitemap not accessible (403 error), URLs not matching the domain, or wrong index. We’ve seen sitemaps with http URLs submitted to an https domain – Google discards them.
Multiple sitemaps and index files
For large sites, it’s better to split the sitemap into sub-sitemaps (e.g., sitemap-products.xml, sitemap-articles.xml) and use them in an index file. GSC accepts up to 50,000 URLs per sitemap. Beyond that, use an index.
Sponsored Protocol
Google News and GSC: Publisher Requirements
If your site produces news, you need to be in Google News. GSC has a dedicated report for news, but only if you’ve been approved.
Technical requirements for Google News
- Specific sitemap for news
- URLs with clear dates
- Original and regularly updated content
- No duplicate content
We manage a local news portal in Sicily. We had to rewrite the news sitemap with proper news:publication and news:publication_date tags. After two weeks, articles started appearing in Google News.
Publisher verification in GSC
You must have verified ownership of the domain or site. Then, in the “Google News” report, check that the news sitemap is recognized. If you see parsing errors, check XML validity.
Rich Results in GSC: Structured Data and Validation
Rich results are the business card in SERP. GSC has a dedicated report for all types of structured data: article, product, FAQ, reviews, video, etc.
How to validate structured data
Use Google’s Rich Results Test tool. Or directly in GSC, go to the “Rich results” report and check for errors. Every error is an opportunity: fixing a broken markup can lead to an extra star in SERP.
Common errors
- Missing required field (e.g., aggregateRating for product)
- Value not matching expected type
- JSON-LD with syntax errors
We had a case: an e-commerce with product reviews marked with Review but missing the “itemReviewed” field – Google ignored everything. We fixed it in 5 minutes and the next day stars appeared.
GSC API with Python: Automation and Keyword Extraction
For those who want to go beyond the panel, the GSC API allows programmatic data extraction. We use it to generate automated weekly reports for clients.
API setup
Create a project on Google Cloud, enable the Google Search Console API, and download a JSON credentials file. Then install the Google Python library:
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
Example: extract top queries
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
SERVICE_ACCOUNT_FILE = 'path/to/credentials.json'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
service = build('searchconsole', 'v1', credentials=credentials)
site_url = 'sc_domain:example.com' # replace with your property
request = {
'startDate': '2025-01-01',
'endDate': '2025-01-31',
'dimensions': ['query'],
'rowLimit': 10
}
response = service.searchanalytics().query(siteUrl=site_url, body=request).execute()
if 'rows' in response:
for row in response['rows']:
print(f"Query: {row['keys'][0]} - Clicks: {row['clicks']} - Impressions: {row['impressions']}")
This script gives you the top 10 queries. You can add dimensions like 'date', 'device', 'country' and rowLimit up to 25000. We have also automated email reports with aggregated data.
Sponsored Protocol
Disavow Tool: When and How to Use It (Without Damage)
The disavow tool is the most abused and misunderstood. It is not for any toxic link: it’s the last resort after attempting manual removal.
When to use disavow
- You received a manual penalty for unnatural links
- You see a spike in spam links in GSC’s link report but can’t contact webmasters
- You bought links in the past and now want to clean up
We used it for a client in the betting industry who had links from casino farms. After disavowing them, the penalty was lifted in 3 weeks.
How to prepare the disavow file
The file is a simple .txt with one domain or URL per line, prefixed with domain: for whole domains. Example:
# Disavow list for example.com - November 2025
domain:spam-site.com
https://example.com/spam-page
Upload the file in GSC → Disavow links. Caution: do not disavow good links by mistake. You could lose ranking. We recommend using a tool like Ahrefs or Semrush to analyze links before disavowing.
Multilingual Sites: hreflang and Internationalization Verification
If you have a site in multiple languages, GSC can become a nightmare if you don’t configure hreflang correctly. The Performance report shows data aggregated by country, but you need to ensure Google understands which version to show to which user.
Sponsored Protocol
Correct hreflang implementation
You can place hreflang in HTML (tag link in <head>), in the sitemap, or in HTTP headers. We prefer the sitemap because it centralizes management. Example of a sitemap with hreflang:
<url>
<loc>https://example.com/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/" />
<xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/" />
</url>
Checking hreflang issues in GSC
Go to “Internationalization” in the GSC menu. Here you see errors like missing tags, invalid values, or conflicts. A common error is forgetting the return hreflang: each version must point to all others, including itself. We solved a case where English pages lacked hreflang tags for Italian pages – Google indexed both as duplicates, causing cannibalization. After the fix, international traffic increased by 40%.
In summary — what to do now
1. Verify property via DNS – stable and definitive.
2. Analyze the Performance report segmented by device and country – identify low-CTR queries and improve titles.
3. Clean up the Coverage report – fix real errors, not intentional ones.
4. Check Core Web Vitals – intervene on pages with LCP > 2.5s.
5. Submit valid sitemaps – verify no staging or non-canonical URLs.
6. If you produce news, configure the news sitemap and check the Google News report.
7. Check structured data – fix errors and add missing markup.
8. Learn the GSC API – automate reports and monitor thousands of queries.
9. Use disavow only as a last resort – better to prevent.
10. For multilingual sites, verify hreflang – avoid cannibalization and show the right language.
We at Meteora Web work with GSC every day. We know that alone it is not enough: it must be integrated with GA4, server log analysis, and a deep understanding of your business. But without a solid foundation on GSC, every SEO decision is a shot in the dark. Fix it today.