GSC Coverage Visualiser
Use cases
Generates three interactive visualisations from GSC coverage data using Plotly: a treemap showing hierarchical folder structure with URL counts, a sunburst chart for radial path depth analysis, and a word cloud of the top 25 keywords from a single URL folder level (the segment after folder_start), not the whole path.
Uses NLTK for stopword removal and regex-based tokenisation to extract meaningful terms from URLs.
Platform
Jupyter Notebook (requires Python environment)
Input
GSC coverage Excel export
Output
Interactive treemap, sunburst chart, and word cloud
Features
- Plotly treemap of folder hierarchy with URL counts
- Sunburst chart of the same folder levels in radial form
- Word cloud of top 25 words from one folder level (NLTK stopwords and numbers removed)
- Adjustable folder_start depth for ccTLD or language folders
- Automatic fallback to depths 1 and 2 for the treemap if the set depth fails
- Exports interactive treemap and sunburst HTML plus word cloud PNG
How to use
- 1 Export a GSC coverage report drilldown as Excel (CSV not accepted)
- 2 Run the notebook in Google Colab and upload the Excel file
- 3 Set folder_start (ships as 2; use 1 for sites without a ccTLD folder)
- 4 Run cells to generate the treemap, sunburst and word cloud
- 5 Download the two interactive HTML charts and the word cloud PNG
Frequently asked questions
- What exact file does the notebook expect?
- An Excel export of a Search Console coverage report drilldown; CSV is not accepted. The notebook reads a sheet named 'Table' (the sheet name GSC uses in its Excel exports) and takes URLs from the URL column of that sheet. If you convert the export to CSV or rename the sheet, the load cell fails.
- What does folder_start control, and what is it set to?
- It chooses which URL path segment becomes the top level of the treemap and sunburst. Despite the inline comment saying the default is 1, the notebook ships with folder_start = 2, which suits sites with a ccTLD or language folder such as /es/. Set it to 1 for sites without one.
- What happens if my URLs are shallower than the folder depth I set?
- Plotly raises a ValueError and the notebook falls back to depths 1 and 2. This fallback works for the treemap, but the sunburst fallback contains a coding slip (it builds a treemap under a different variable name), so the sunburst cell can still fail. It is safer to set folder_start to a depth all your URLs can satisfy.
- Which part of the URL feeds the word cloud?
- Only one folder level: the path segment after folder_start. Segments are split on hyphens and slashes, NLTK English stopwords and purely numeric tokens are removed, and the top 25 remaining words are drawn. It is not built from the full URL path.
- Can I run it outside Google Colab?
- Not as-is. The upload and download cells use google.colab.files, so in local Jupyter you would need to replace those cells with a local file path and standard save calls.
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
Bulk download Search Console data beyond the 1,000 row limit with automatic batch processing.
Extract question-based keywords from Search Console using regex pattern matching.
Find quick-win keywords ranking positions 5-19 that are missing from your on-page content.
Identify your highest-traffic pages from Search Console data with performance metrics.
Visualise Google Search Console data with interactive Altair charts.
Calculate CPC, total spend, or clicks from any two values.
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