How to leverage indexation
tracking to monitor issues
and improve performance
slideshare.net/simonlesser
@simonlesser
Simon Lesser
Dragon Metrics
#brightonSEO @simonlesser
Simon Lesser
Cofounder and CEO
Dragon Metrics
#brightonSEO @simonlesser
The problem:
#brightonSEO @simonlesser
The problem: Is this list of URLs
indexed on Google?
#brightonSEO @simonlesser
The solution: ¯_(ツ)_/¯
#brightonSEO @simonlesser
Years spent wandering in the desert…
#brightonSEO @simonlesser
#brightonSEO @simonlesser
Back in my day…
#brightonSEO @simonlesser
#brightonSEO @simonlesser
Years spent wandering in the desert…
#brightonSEO @simonlesser
Test headline!
#brightonSEO @simonlesser
SEOs
#brightonSEO @simonlesser
#brightonSEO @simonlesser
Stupid-easy API Request
#brightonSEO @simonlesser
(via GSC API)
#brightonSEO @simonlesser
Simple API Response
#brightonSEO @simonlesser
#brightonSEO @simonlesser
Programmatically retrieve the
indexation status on Google for
multiple URLs that
we can choose with
details on how they interpreted it
Why is this API so special?
#brightonSEO @simonlesser
Searching for the URL on Google
Index status
Index details
Multiple URLs
Choose URLs
Programmatic
access
#brightonSEO @simonlesser
Log Files
Index status
Index details
Multiple URLs
Choose URLs
Programmatic
access
#brightonSEO @simonlesser
Google Search Console Index Coverage
Index status
Index details
Multiple URLs
Choose URLs
Programmatic
access
#brightonSEO @simonlesser
GSC Page Inspection Tool
Index status
Index details
Multiple URLs
Choose URLs
Programmatic
access
#brightonSEO @simonlesser
GSC Page Inspection API
Index status
Index details
Multiple URLs
Choose URLs
Programmatic
access
(Data pulled via GSC API)
#brightonSEO @simonlesser
Site
operator
Log
files
GSC Index
coverage
GSC URL
Inspection
Tool
GSC URL
Inspection API
Index status
Index details
Multiple URLs
Choose URLs
Programmatic
access
#brightonSEO @simonlesser
Did Google crawl this URL? When?
Why didn’t Google crawl it?
Did Google index it? Why not?
Finally answers…at scale!
#brightonSEO @simonlesser
Did Google crawl as desktop or mobile?
Did Google encounter crawling issues?
What links did Google follow to find this URL?
Finally answers…at scale!
#brightonSEO @simonlesser
Are there any issues with my structured data?
Did Google follow my canonical directives?
Are there any mobile usability issues?
Finally answers…at scale!
#brightonSEO @simonlesser
A new world of possibilities for
indexation tracking
#brightonSEO @simonlesser
De-Indexation Alerts
#brightonSEO @simonlesser
De-Indexation Alerts
We’ve all done something stupid
before
#brightonSEO @simonlesser
This has never happened before, right?
Oops
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
Monitor indexation of new pages
#brightonSEO @simonlesser
Diagnose reasons why URLs were not indexed
#brightonSEO @simonlesser
Diagnose reasons why URLs were not indexed
#brightonSEO @simonlesser
Find pages where Google chose a different
canonical URL
User-Declared Canonical Google-Selected Canonical
https://example.com/ https://example.com/
https://example.com/products https://example.com/products
https://example.com/services https://example.com/services
https://example.com/green-widgets https://example.com/purple-widgets
https://example.com/blue-widgets https://example.com/blue-widgets
https://example.com/red-widgets https://example.com/red-widgets
#brightonSEO @simonlesser
It’s just not the same…
#brightonSEO @simonlesser
Must click the link individually (and wait)
for every page to see the canonical URL
Google chose
#brightonSEO @simonlesser
Monitor Crawl Frequency
#brightonSEO @simonlesser
Check pages updated but not recrawled
URL
CMS Last
Updated
Google Last
Crawled
Google has most
recent version?
https://example.com/ 6/16/22 7/13/22 TRUE
https://example.com/products 5/8/22 5/26/22 TRUE
https://example.com/services 8/8/22 8/17/22 TRUE
https://example.com/about-us 8/15/22 6/8/22 FALSE
https://example.com/contact 6/19/22 8/15/22 TRUE
https://example.com/support 7/25/22 5/13/22 FALSE
#brightonSEO @simonlesser
Monitoring progress of site migration
#brightonSEO @simonlesser
Same reports as GSC, but for specific groups of pages, >1,000
URLs, and programmatically
#brightonSEO @simonlesser
Verify rich results & look for issues
#brightonSEO @simonlesser
Uncover mobile usability issues
#brightonSEO @simonlesser
…and so much more
#brightonSEO @simonlesser
…there’s a catch
#brightonSEO @simonlesser
The
Achilles
Heel
#brightonSEO @simonlesser
We can get around these limits
#brightonSEO @simonlesser
The
Achilles
Heel
#brightonSEO @simonlesser
What is a site?
#brightonSEO @simonlesser
Google Search Console site ≠ Domain
#brightonSEO @simonlesser
Using a single domain property
Site: example.com
Total daily URLs: 2,000
#brightonSEO @simonlesser
Using multiple URL-prefix properties
Site 1: example.com/products/
Site 2: example.com/services/
Site 3: example.com/support/
…
Site 10: example.com/about/
Total daily URLs: 20,000
#brightonSEO @simonlesser
Update data weekly for 7x URLs
Site 1: example.com/products/
Site 2: example.com/services/
Site 3: example.com/support/
…
Site 10: example.com/about/
Total weekly URLs: 140,000
#brightonSEO @simonlesser
Still not scalable for very large sites
#brightonSEO @simonlesser
Choose the most
important key pages
to track
#brightonSEO @simonlesser
Consider log file analysis instead
#brightonSEO @simonlesser
Search Performance API for indexation
#brightonSEO @simonlesser
How to do it
#brightonSEO @simonlesser
Custom app from scratch
#brightonSEO @simonlesser
People were…excited about this API
#brightonSEO @simonlesser
Leverage 3rd party scripts
Python (by Jean-Christophe-Chouinard)
https://www.jcchouinard.com/google-url-inspection-api-with-python/
Node.js (by Jose Luis Hernando)
https://jlhernando.com/blog/google-url-inspection-api-nodejs/
#brightonSEO @simonlesser
Fully integrated into Wix!
#brightonSEO @simonlesser
Websites for one-off checks
valentin.app/inspect.html
mydomain.dev
#brightonSEO @simonlesser
Check right inside Google Sheets
keywordsinsheets.com/google-search-console-url-inspection-api-in-sheets
#brightonSEO @simonlesser
Screaming Frog
#brightonSEO @simonlesser
Screaming Frog Official
Google Data Studio Template
#brightonSEO @simonlesser
https://lazarinastoy.com/google-search-console-url-inspection-api-in-data-studio-
free-dashboard-template/
#brightonSEO @simonlesser
Use automation for ongoing tracking
#brightonSEO @simonlesser
Custom app from scratch
#brightonSEO @simonlesser
Screaming Frog CLI
#brightonSEO @simonlesser
Cloud apps
Leverage cloud apps for hands-off tracking
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
De-Indexation Alerts
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
Monitor indexation of new pages
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
Diagnose reasons why URLs were not indexed
#brightonSEO @simonlesser
Filter for URLs
Filter Coverage for
non-indexed pages
with unknown
reason
#brightonSEO @simonlesser
Pair with site audit
data
#brightonSEO @simonlesser
Sort by problematic
fields and look for
common issues
#brightonSEO @simonlesser
Find pages where Google chose a different
canonical URL
User-Declared Canonical Google-Selected Canonical
https://example.com/ https://example.com/
https://example.com/products https://example.com/products
https://example.com/services https://example.com/services
https://example.com/green-widgets https://example.com/purple-widgets
https://example.com/blue-widgets https://example.com/blue-widgets
https://example.com/red-widgets https://example.com/red-widgets
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
Monitor Crawl Frequency
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
Check pages updated but not recrawled
URL
CMS Last
Updated
Google Last
Crawled
Google has most
recent version?
https://example.com/ 6/16/22 7/13/22 TRUE
https://example.com/products 5/8/22 5/26/22 TRUE
https://example.com/services 8/8/22 8/17/22 TRUE
https://example.com/about-us 8/15/22 6/8/22 FALSE
https://example.com/contact 6/19/22 8/15/22 TRUE
https://example.com/support 7/25/22 5/13/22 FALSE
#brightonSEO @simonlesser
Pull Last Crawl Date from GSC
#brightonSEO @simonlesser
Pull Last Update Date from CMS
#brightonSEO @simonlesser
Compare dates
#brightonSEO @simonlesser
Monitoring progress of site migration
#brightonSEO @simonlesser
#brightonSEO @simonlesser
#brightonSEO @simonlesser
Links to resources in this deck
bit.ly/index-tracking
#brightonSEO @simonlesser
Resources
Aleyda Solis' post on Search Engine Land https://searchengineland.com/seo-tools-google-search-
console-url-inspection-api-379955
Python script by Jean-Christophe-Chouinard https://www.jcchouinard.com/google-url-inspection-
api-with-python/
Node.js script by Jose Luis Hernando https://jlhernando.com/blog/google-url-inspection-api-nodejs/
Bulk Inspect URLs https://valentin.app/inspect.html
MyDomain.Dev by Lino Uruñuela https://tools.mydomain.dev/
#brightonSEO @simonlesser
Resources
Mike Richardson's Google Sheets implementation https://keywordsinsheets.com/google-search-console-url-
inspection-api-in-sheets
Lazarina Stoy's URL Inspection Google Data Studio template for Screaming Frog
https://lazarinastoy.com/google-search-console-url-inspection-api-in-data-studio-free-dashboard-template/
Screaming Frog CLI documentation https://www.screamingfrog.co.uk/seo-spider/user-
guide/general/#command-line-interface-set-up
URLinspector https://www.urlinspector.com/
Dragon Metrics https://www.dragonmetrics.com/

How to leverage indexation tracking to monitor issues and improve performance