Website architecture can make or break your site.

A well thought out internal linking strategy can give a site a nice rankings boost, whereas if users can't find a page through clicking, Google is unlikely to rank that page very highly at all.

We can shape our website's internal architecture so that all pages are accessible within as few clicks as possible, creating a great user experience and saving crawl budget.

Simple content silo link map

In the simple content silo above, you can see that any page on the example site is reachable within three clicks from the homepage, and the website has 40 overall pages.

By adding just one more link from each page, so 4 in the first level instead of 3, then 4 in the next level, and so on, we'd have 85 pages available.

Now what if we had, say, 10 pages on each of the levels? We'll have 1,101 pages, all of which are navigable within 3 clicks from the homepage.

Pages that are hard to find by clicking are unlikely to rank as well as they could if they were easy to find.

This is one of the reasons that the homepage of a website will often rank for the most keywords and get the most traffic (this isn’t always the case, but the homepage will usually be in at least the top 5-10 pages in terms of traffic, even for very large sites).

In other words, If your site’s internal links are a disorganised mess, then it’s bad news for users trying to navigate your site.

What's more, it also forces Google to use more resources to crawl your page, and therefore you use more crawl budget.

This issue is further compounded when you consider the flow of link juice.

Just like how we build backlinks from other sites to help pages rank, we can help a page be more likely to rank by linking to it from other pages within the same website.

So it should be clear by now that what you don't want is a disorganised internal link structure.

But how can you tell if your website's architecture is no good? Simply going through the each page looking at which pages are linked to is one way, but it will take a long time.

Crawling the site and checking the Inlinks is another way, but again, it's a load of data to try to work through simply looking at the text.

So, today I'm going to show you how to create a visual map of your website's internal links that includes each page's backlink profile (Ahrefs URL rating for this example, but you can use other metrics if you prefer).

You can use this to quickly identify which pages can pass a lot of link juice, and which need some more internal links to show they're important.

Tools you’ll need:

  1. Ahrefs 
  2. Screaming Frog
  3. Gephi
  4. Any spreadsheet software

1. Gather all internal links

The very first thing we need to do is crawl the site and bring back all the internal links.

Open up Screaming Frog, but before entering your URL and starting the crawl, let's change a couple of configuration options so we only bring back the results that will help us improve our internal linking.

In the top menu, go to Configuration the choose Spider.

This opens a box like the one on the right.

Now, because we only want the internal links going to pages, we're only going to check a few of the options.

You can choose the same options as I have in the image.

Now enter your domain and hit Start.


When it’s done, go to Bulk Export and choose All Inlinks.

Open up the .csv you’ve just created and delete the first column, then rename column B Target.

Delete all the other columns except Source and Target.

Now we want to clean up the spreadsheet a bit. I'm using Google Sheets.

Follow these instructions:

  1. Delete row one
  2. Select the new row one, then go to View, Freeze, 1 row.
  3. Sort column A by A-Z
  4. Delete all the rows that don't have AHREF in column A
  5. Now delete all columns except B and C
  6. Rename Column B Target.

Now your spreadsheet only contains two columns, and shows all the links from each page (Source) to its destination (Target). Keep the spreadsheet tab open, we'll come back to it soon.

2. Gather URL ratings

Now we want to get the URL rating for each of the pages on the site so when we're mapping our internal links, we can use this extra data to add even more power to the system.

Go to Ahrefs Site Explorer and enter your domain.

In the left toolbar, under Pages, click Best by Links. You'll see a page that looks like this:

Then choose Export, Full Export.

Ahrefs Export

3. Combine internal links with URL ratings

Now we're going to put all the URL ratings and internal link data into a single spreadsheet.

Open your new file and delete all columns except Page URL and URL ratings. Now copy those two columns into your Screaming Frog spreadsheet in columns C and D.

All Inlinks


  1. Insert one new column to the right of column A, and name it URL rating.
  2. Name the column "URL rating".
  3. Paste this exact formula into cell B2:
  4. Press enter.
  5. Double click the little blue square at the bottom right of B2 to copy the formula into the whole column.
  6. Now you have the URL rating of each source page, along with all the pages each one links to.
  7. Export as CSV.
Inlinks With URL Ratings

4. Visualizing your internal links

Now it's time to take all this data and start mapping our website architecture. There are different ways to do this to get slightly different visualizations, so it's worth experimenting with settings once you know the basics of how it works.

  1. Open Gephi and create a new project.
  2. Now go to File, Import Spreadsheet, and navigate to where your .csv file is. Tip - sometimes Gephi can’t open my downloads folder where the sheet is, so I move the file to desktop.
  3. Choose Edges Table, and click next.
  4. In the next dialogue box, tick the URL rating box and choose Float.
  5. Untick Page URL and URL rating (desc).
Import Internal Link Data

You'll get something that looks like this:

First Linkmap

It looks quite cool as it is, like some kind of nightmare spiderweb, but we can't get a lot of useful insights from it.

What we have now is a scrambled mess of nodes and edges.

Node = a small circle that represents a page on your site.

Edge = an arrow that represents an internal link (they look like lines until you zoom in).

Make sure you're in the Overview tab, and in the toolbar on the left, choose a layout from the drop-down menu. Fruchtman Reingold is a good one for this.

Click run, and it will give you something more like this:


Now it's getting beginning to take shape, but there are a few more things we need to do to make it a visualization we can use.

In the appearance section of the Overview tab, click Nodes, then click the three circles on the top right of the toolbar, choose Ranking, then In-Degree from the drop down menu.

Each node (a page on your site) is sized according to how many links are pointing to it.

Now click the Edges tab, and choose the color palette on the right. Click Ranking and choose URL rating from the drop-down menu, then choose a color scheme you like. I've just used default.

Now your nodes are colored based on the URL ratings we got from Ahrefs. The higher the URL rating, the darker the node!

edit linkmap

Now go to the Data Laboratory tab click Copy data to other column in the box at the bottom of the screen, and select ID, then copy to Label in the popup box. This gives all your nodes the label of their respective URL.

copy link data

Finally, go to the Preview tab, select Show Labels and click refresh.

I've kept the labels hidden for this example, but it should look something these lines:

finished linkmap

5. Analyzing your link map

What we've got now is pretty cool, but we're not done yet.

All this is pointless unless it can gain some valuable insights about the site structure and, more importantly, how to improve it.

From the image above, we can see that the larger nodes have more incoming internal links, and the darker colored nodes have more incoming external links (from the Ahrefs URL rating), while the smaller, lighter ones have fewer internal and external links.

You can zoom in to see the labels of each page and assess whether the internal linking is good for that particular page.

What I often do is create a list of important pages and check each individually in the map.

As we know, we can influence the flow of (external) link juice throughout the site by linking pages with a lot of backlinks to those that we want to rank. So on our link map, we can make a note of darker colored nodes and create internal links from those to pages with smaller nodes (that have few incoming internal links).

If you have important pages that are small and light colored, you might want to add some internal links from larger, darker nodes.

EXTRA - Add your map to your website

This is only useful if you need to upload your map to your site in order to share it with your team/ client/ readers.

The way I like to do it might not be the best way, as I'm no developer, but it's simple and it works.

Gephi doesn't have any immediately website compatible outputs, but you can go to Tools, Plugins, and install a plugin called Sigma Exporter.

Now you'll have the option to export as Sigma.js template.

It will save a folder called Network. Inside are the files and folders you'll need to upload to your site.

Did you find this useful?

If you've get anything to add or want to give some feedback, let me know in the comments section below.

[wp_social_sharing social_options='facebook,twitter,googleplus,linkedin' twitter_username='kazu_io_'icon_order='f,t,g,l' show_icons='1' before_button_text='' text_position='' social_image='']

8 thoughts on “Internal link mapping (How to create a visual map)”

  1. thanks for info. That’s crazy ScreamingFrog has not resolve to do this yet. Diagram is a great addition but without any information about link juice this is quite useless. thanks for your time

    1. Thanks for your comment. The purpose of this is to show you how to create an internal link map of your website so you can find underlinked pages or underutilised resources. I may update the page in future with guides to some of the statistical analysis I’ve done for several very large sites, including a Fortune 100 company, however since the sole purpose of your comment seems to be to build a link, I doubt you’re the type of person who would be bothered to follow the advice anyway.

    2. Thank you for this publication and the use of the visual mapping.Strangely still there is no single tool for SEO that can do same at once in a single step.

  2. Wow, who knew it was quite so difficult to create an internal linking map of your site. Thanks so much for the detailed how-to guide. I’ll be following it step-by-step as I need to reassess my linking strategy.

  3. Wow – this is super complex. I’m about halfway through and my head is spinning:)

    Just wondering, a lot of the values in my URL rating column created from the Vlookup function say #N/A. Is this going to cause issues in later steps? I don’t want to continue on if I need to remove those lines first.

Leave a Reply

Your email address will not be published. Required fields are marked *