Back to Tools

Top Traffic Pages Finder

Use cases

Identifying your most valuable organic content Reporting on content performance Finding pages to protect during migrations Understanding which content types drive traffic

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.

Jupyter Notebook GSC Data

Platform

Jupyter Notebook (requires Python environment)

Input

Google OAuth credentials

GSC property and date range

Output

Excel with top pages and traffic analysis

View Source

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. 1 Set up OAuth credentials and authenticate
  2. 2 Enter your GSC property URL and country code
  3. 3 Select date range and search type
  4. 4 Run to aggregate page-level metrics
  5. 5 Review traffic distribution and zero-traffic pages
  6. 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.

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