Free, no signup, no credit card. One page per check.
This is a sample report for a fictional blog post, rendered from real checker output. Run the tool above on one of your own pages to get the same report for it.
https://www.example.com/blog/how-to-plan-a-content-calendar
| Metric | This page | Benchmark | Verdict |
|---|---|---|---|
| In-content internal linksNavigation and footer links excluded. | 7 | 8 | On par |
| Descriptive anchor textExact, partial or branded anchors. | 57% | 81% | Below benchmark |
| Generic or empty anchors"Click here", "read more", image-only links. | 43% | 15% | Below benchmark |
| Broken internal linksInternal links whose target answered 4xx or 5xx. Unverified targets are excluded. | 23% | 2% | Below benchmark |
| Links placed in main contentShare of all links sitting in the article body. | 53% | 35% | Above benchmark |
| # | Anchor text | Target URL | Scope | Position | Anchor type | Rel | Relevance | HTTP status |
|---|---|---|---|---|---|---|---|---|
| 1 | Blog | https://www.example.com/blog | Internal | Navigation | Exact | follow | 1.00 | 200 |
| 2 | Free tools | https://www.example.com/tools | Internal | Navigation | Partial | follow | 0.50 | 200 |
| 3 | Pricing | https://www.example.com/pricing | Internal | Navigation | Exact | follow | 1.00 | 200 |
| 4 | content audit checklist | https://www.example.com/blog/content-audit-checklist | Internal | Content | Partial | follow | 0.75 | 404 |
| 5 | editorial workflow | https://www.example.com/blog/editorial-workflow-tips | Internal | Content | Partial | follow | 0.50 | 200 |
| 6 | click here | https://www.example.com/blog/seo-keyword-research | Internal | Content | Generic | follow | 0.00 | 200 |
| 7 | content calendar template | https://www.example.com/templates/content-calendar | Internal | Content | Partial | follow | 0.50 | 200 |
| 8 | content calendar template | https://www.example.com/blog/content-calendar-template | Internal | Content | Partial | follow | 0.75 | 200 |
| 9 | read more | https://www.example.com/blog/repurposing-old-posts | Internal | Content | Generic | follow | 0.00 | 404 |
| 10 | (image link, no text) | https://www.example.com/guides/distribution | Internal | Content | Empty | follow | — | 200 |
| 11 | recent industry study | https://searchengineland.com/content-cadence-study | External | Content | Partial | nofollow | — | — |
| 12 | About us | https://www.example.com/about | Internal | Footer | Partial | follow | 0.50 | 200 |
| 13 | Contact | https://www.example.com/contact | Internal | Footer | Exact | follow | 1.00 | 200 |
| 14 | Privacy policy | https://www.example.com/legal/privacy-policy | Internal | Footer | Partial | follow | 0.67 | 500 |
| 15 | https://twitter.com/example | External | Footer | Partial | follow | — | — |
On your own report every column is sortable and the whole table downloads as a CSV.
An internal link audit answers three questions about a page: does it link out to enough relevant pages, do those links say something useful, and do they still work? Run the check above and read the report top to bottom.
Start with the issues. Broken internal links are always first — they waste crawl budget and dead-end your readers. Duplicate anchors come next: when the same phrase points at two different URLs, you are telling Google those two pages are the same thing. Generic anchors such as "click here" and empty image links are the cheapest wins on the list.
Then look at the in-content count. Navigation and footer links repeat on every page, so search engines discount them. A page with 40 links but only 2 of them inside the article is a thin page for internal linking purposes, whatever the total says.
Finish with relevance. A link from a page about content calendars to a page about invoicing is not helping anyone. The relevance column tells you how closely the anchor matches the target — the low scorers are the links worth rewriting or removing.
Repeating this page by page works, but it does not scale past a handful of URLs. That is what LinkStorm automates: it crawls every page, finds the relevant links you are missing and can add them for you.
Your report does not just list links, it compares them. The benchmark table is built from LinkStorm's 2.5 Million Internal Links study: How Websites Link Their Content, which analysed 2,500,000 internal links across 1,700 websites.
Contextual (main-content) internal links only — navigation, footer and sidebar links excluded.
Internal links are links from one page of your website to another page on the same domain. They tell search engines how your pages relate to each other and how important each page is, and they give readers a path to the next relevant page. Links pointing to another website are external links — this checker lists them too, but scores your internal linking only.
There is no hard limit, but the links that matter for SEO are the ones inside your main content, not the ones repeated in the navigation and footer on every page. Aim for at least 3 in-content internal links on any page you care about; the median page in our 2.5 million internal links study has around 8. This tool counts content, navigation, footer and sidebar links separately so you can see the difference.
A good anchor describes the page it points to, in the words a reader would use to search for it. Generic anchors such as "click here" or "read more" waste the link, and the same anchor pointing to two different pages sends a confusing signal. The checker classifies every anchor as exact, partial, branded, generic, naked URL or empty, and flags duplicates that point to different targets.
Run the check and look at the HTTP status column. Every unique internal target on the page is probed directly, and anything that answers with a 4xx or a 5xx is reported as broken and listed at the top of the issues. Targets that answer nothing at all, or that rate-limit our checker, are marked "could not verify" instead of broken — a slow server is not a dead page, and we will not tell you it is. A 3xx means the link still works but goes through a redirect: worth pointing straight at the final URL, never counted as broken. You can also download the full table as a CSV and hand it to whoever maintains the page.
The score starts at 100 and loses points for the problems that actually cost you rankings: broken internal links, duplicate anchors pointing to different pages, generic or empty anchor text, low anchor-to-target relevance, and too few in-content internal links. It is a page-level score out of 100 — use it to compare a page against itself before and after a fix, not as an absolute grade.
Yes. There is no signup, no email gate and no credit card — paste a URL and read the report. Checks are rate limited per IP so the tool stays available for everyone. If you want the same analysis across every page of your site, plus link suggestions and automatic implementation, that is what the paid LinkStorm plans do.
Yes. The checker first fetches the page directly, which is fast and covers most sites. If the HTML comes back empty or with no links — typical of a single-page app — it retries with full JavaScript rendering and analyses the rendered result instead. The report tells you which of the two was used.
Want the same checks on every page, plus the links you are missing? See LinkStorm pricing or grab the free internal link builder extension.
Get a complete picture of your internal linking.
Build relevant links. Fix internal link issues.
Try it with your website!