We counted our own internal links. Two thirds were furniture.
An argument about a footer turned into a script, and the script found that most of what we would have reported as internal linking was navigation repeated on every page.
- An average page had 8.2 inbound internal links. 5.6 came from the template, leaving 2.6 that say anything about that page.
- Our blog index had fifteen inbound links and none from inside a sentence, so no tool would call it an orphan and it was one.
- Across five sites the template share ranged from 12% to 73%, and ranking the sites by the two counts gives different orders.
- There is no published limit on links per page; the hundred-link figure came from a crawler constraint that ended years ago.
- Fixing it moved contextual inbound links per page from 2.4-3.9 up to 4.2-6.0, in about ninety minutes across five sites.
Eleven minutes. That is how long we argued about the footer before anyone asked how many links were in it.
Nobody knew. Twelve, someone guessed. Then came the question that ended the meeting, which was whether any of those twelve were doing anything at all, and after that there was just the noise of a laptop opening.
The script is sixty lines. It reads every built page twice, once whole and once with header, footer and nav cut out by regex, and subtracts. Naming the variables took longer than the logic.
Fifteen pages. Average inbound internal links: 8.2. Template share of that: 5.6.
So 2.6 carry information about the page they point at. The rest appear identically everywhere and therefore say nothing about anywhere, which is a sentence I had to write down twice before I believed it, because 8.2 is what a crawler hands you and 8.2 reads as healthy.
Then the blog index.
It lives in the header, so it collects fifteen inbound links, and no tool would ever flag it. None of the fifteen sit inside a sentence. Four months of publishing, and not once did anything we wrote give a reader a reason mid-paragraph to go there. Fine by the usual count. By the count that matters, furniture.
Adding a mention on two pages that already had cause to mention it took under ten minutes.
Somewhere in the middle I went hunting for the official number, because a target would have been handy. There is none. The hundred-link figure came from a crawler that stopped reading past roughly a hundred kilobytes, which mattered around 2008 and stopped mattering long ago. Google pulled it. The replacement says links should be crawlable and useful. True. Useless in a spreadsheet. Forty minutes to confirm an absence, and I am telling you so you can skip it.
Other sites lived on the same machine. They got the script.
Site A ran seven pages, 5.1 inbound, only 0.6 of that template. Site C ran fifteen, 11.5 inbound, 8.4 template. B and D sat between them at 68 and 62 percent.
Rank by inbound links: C wins. Easily. Rank by links written into a paragraph by a human being and C drops to fourth, its enormous footer padding one column and abandoning the other. Every one of them passes a standard audit.
You can do this without code. Pick a page that matters. Search your own site for what links to it, cross off anything living in a header, footer or sidebar, and count the survivors. Zero means navigation, whatever your tool says.
What I have not sorted out is the tool page. Ten links point in. None point out. You land there and the only exit is backwards. Half the desk calls that a dead end and wants it fixed. The other half argues that a page built for using rather than reading has earned the right to be a terminus, and that adding links out of it would be decorating for a crawler rather than helping a person, which is precisely what the whole afternoon was about.
Unresolved. I only spotted it because inbound and outbound printed next to each other, and that is not a thing you notice one number at a time.
Questions people ask about this
How many internal links should a page have?
No published number exists. The useful question is how many links inside body text point at the page, ignoring header and footer. On our sites that average was 2.6 and we treated it as low.
Do footer links count for nothing?
They help people navigate and they help crawling. What they cannot do is say that one page is relevant to another, because they appear identically everywhere.
What makes a page an orphan?
Usually a page nothing links to. The stricter definition, and the more useful one, is a page with no contextual inbound links. By that definition our blog index was an orphan with fifteen links.
How do I measure this without writing code?
Search your site for pages linking to the page you care about, cross off every link in a header, footer or sidebar, and count what is left. Ten minutes covers five pages.
- Google Search Central, Crawling and indexing: links best practices. Checked 2026-08-16.
- Google Search Central, Search Essentials. Checked 2026-08-16.
- Google Search Central, Sitemaps and how discovery differs from ranking. Checked 2026-08-16.
- Google Search Central, Page Indexing report and Discovered - currently not indexed. Checked 2026-08-16.
- Google Search Central, qualify your outbound links to Google. Checked 2026-08-16.
- Our own link graph measurement across five sites, tools/linkgraph.py. Checked 2026-08-16.
Run the free check on the page you care about. It reads the live HTML and reports what a crawler sees: status, noindex, canonical, headings, links and structured data.
Run the free check → Open the glossary