Top Traffic Pages Finder
Use cases
Jupyter notebook that connects to the Google Search Console API via OAuth to rank pages by organic traffic.
Aggregates clicks, impressions, CTR, and average position at the page level.
Automatically categorises pages into traffic ranges (0, 1-100, 101-1000, 1001-5000, 5001-10000, 10001+) and identifies zero-traffic pages for review.
Exports a four-sheet Excel workbook with Plotly visualisations.
Platform
Jupyter Notebook (requires Python environment)
Input
Google OAuth credentials
GSC property and date range
Output
Excel with top pages and traffic analysis
Features
- OAuth authentication via google-searchconsole library
- Traffic range categorisation (0, 1-100, 101-1K, 1K-5K, 5K-10K, 10K+)
- Zero-traffic page isolation for review
- Keyword-to-page relationship mapping
- Four-sheet Excel export with xlsxwriter
- Plotly interactive traffic distribution charts
How to use
- 1 Set up OAuth credentials and authenticate
- 2 Enter your GSC property URL and country code
- 3 Select date range and search type
- 4 Run to aggregate page-level metrics
- 5 Review traffic distribution and zero-traffic pages
- 6 Download Excel workbook with four analysis sheets
Frequently asked questions
- What setup does the notebook need before it will pull data?
- A Google Cloud OAuth client JSON (Desktop app type) uploaded to Colab; the first cell installs the joshcarty google-searchconsole library it authenticates with. The url variable must match your GSC property exactly, including the trailing slash. If the match fails, uncomment the print(account.webproperties) cell to list valid property names and copy one exactly.
- Why am I only seeing UK data?
- The notebook ships with country_filter = "gbr" and keeps only rows for that country. Change it to another ISO 3166 alpha-3 code, or comment out the filter line (flagged in the notebook) for worldwide data.
- What counts as a zero-traffic page?
- A page that appeared in the API response (so it had impressions) but whose summed clicks are zero in the date range. Pages with no impressions at all never appear in Search Console query data, so this sheet is not a complete inventory of pages without traffic; cross-check against a crawl for that.
- What is in the Excel export?
- Four sheets: Top Ten Pages by Clicks; Top Ten Pages by Clicks + KWs, which lists each top page's queries with the percentage of that page's traffic each keyword drives; Zero Traffic Pages; and All Pages with the full per-page stats and traffic range labels.
- Can I break the data down by device?
- The device dimension is defined in the pull cell but commented out by default; uncomment it to include device. Each extra dimension multiplies the row count and slows the pull.
Want me to run this for you?
I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.
Related Tools
Visualise Google Search Console data with interactive Altair charts.
Analyse Search Console data by URL folder structure.
Find keywords where multiple pages compete for the same query.
Two-mode title analysis: find GSC keywords missing from titles and surface title segments with no search volume.
Find striking distance keywords from GSC and crawl CSV exports.
Convert URL lists into redirect rules for different platforms.
Need something built for your business?
This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.
Tell Me What You Need