Back to Tools

Visualise Internal Links

Use cases

Visualising which site sections receive most links Finding under-linked areas at a glance Comparing link distribution across templates Presenting internal linking audits

Generates interactive treemap visualisation using Plotly showing link distribution across site sections.

Accepts Screaming Frog crawls, Ahrefs backlinks, or GSC internal/external link reports.

Auto-normalizes column names across sources, removes non-indexable pages when Indexability column present, and groups URLs by their first path segment, giving a one-level folder hierarchy rather than a full path tree.

Jupyter Notebook Crawl Data

Platform

Jupyter Notebook (requires Python environment)

Input

CSV from: Screaming Frog crawl, Ahrefs backlinks, or GSC links report

Requires Address/URL column and Inlinks column

Output

Interactive HTML treemap showing link distribution across site sections, weighted by link count.

View Source

Features

  • Plotly interactive treemap visualisation
  • Multiple data sources: Screaming Frog, Ahrefs, GSC
  • Auto column renaming for known source formats
  • Filters non-indexable pages when Indexability column present
  • Groups URLs by first path segment (one-level hierarchy)
  • Downloadable HTML output (internal_links_treemap.html)

How to use

  1. 1 Export link data from Screaming Frog, Ahrefs, or GSC
  2. 2 Upload CSV to the notebook
  3. 3 Run cells to generate treemap
  4. 4 Download internal_links_treemap.html

Frequently asked questions

Which exact column names does my export need?
The notebook normalises a fixed set of names: Screaming Frog's Address and Inlinks work as is; 'Target page' plus 'Internal links' (GSC internal links report) and 'Target Page' plus 'Linking Sites' (GSC external links report) are renamed automatically, as are Ahrefs' 'Link URL' and 'Referring Domains'. Exports in another language, or reports with any other headings, must be renamed to Address and Inlinks manually before upload or the treemap cell fails.
How deep is the treemap hierarchy?
One level. The URL path is split on slashes and the treemap groups by the first path segment only, with individual URLs nested directly underneath. A site whose URLs mostly live at the root (no subfolders) will collapse into a single group, and deeper folder structures beyond the first segment are not shown as separate levels.
What do the box sizes mean when I upload an Ahrefs backlinks report?
Box size is always taken from the column mapped to Inlinks. For a Screaming Frog crawl that is internal inlinks, for the GSC reports it is internal links or linking sites, but for Ahrefs it is Referring Domains, so the same visual represents a different metric depending on the source file.
Are non-indexable pages always removed?
Only if the upload contains an Indexability column, which in practice means a Screaming Frog export. Ahrefs and GSC files have no such column, so the filter is skipped silently and every URL in the file is plotted.

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