Internal Link Checker
Enter a URL and the crawler maps the internal link graph of up to 200 pages: how many pages link to each URL, how many links each page sends out, how many clicks each page sits from the start, and which pages nobody links to — orphans that only the sitemap knows about. The table sorts by incoming links so the pages your own site treats as unimportant are at the bottom. Download as CSV. Nothing is stored beyond 24 hours.
The crawl runs on our server: one request per second, robots.txt obeyed, no JavaScript. Only the start URL and this summary are kept, for 24 hours.
How it works
1. Our crawler (InsighthackerzBot, one request per second, no JavaScript) fetches robots.txt and any sitemaps it declares, then starts at the URL you give and follows internal links breadth-first — same host only, www and the bare domain counted as one site 2. Limits: 50, 100 or 200 pages per run, 2 MB per page, 15 s per request, 5 redirects per URL; URLs your robots.txt disallows for our user-agent are skipped and counted, pages marked nofollow are fetched but their links are not followed 3. Every HTML page goes through the same on-page engine as the on-page SEO checker: title, description, H1, canonical, robots directives, word count, images without alt — the warnings and fails are kept per page, the HTML is not 4. Internal links found broken during the crawl (4xx, 5xx, timeouts) are listed with the pages that link to them; external links are checked with HEAD only (one GET when the server refuses HEAD), at most 100 per run, nofollow links excluded 5. The result is one job on our own server: it holds only the start URL and the summary, expires after 24 hours and is never used for anything else 6. Incoming links count distinct crawled pages that link to a URL (one page linking three times counts once); depth is the shortest link path from the start URL, sitemap-seeded pages start at depth 1; an orphan is a crawled page with zero incoming links other than the start page
About internal links, click depth and orphan pages
Internal links are the one ranking signal entirely under your control. They tell crawlers which pages exist, tell search engines which pages you consider important, and pass whatever authority the linking page has. A page with many internal links from relevant pages is easy to find and easy to rank; a page with none is invisible until someone links to it from outside. The checker counts incoming links per page and sorts by that number, so the bottom of the table is where the neglected pages are.
Click depth is how many links a visitor — or Googlebot — has to follow from the home page to reach a page. Depth 1 is linked from the home page; depth 3 or more is where crawl frequency and perceived importance drop off on most sites. Deep pages are not wrong, but a product or a service page at depth 4 is usually a navigation problem, not a content one. The distribution chart shows how the site is shaped: a wide shallow site and a narrow deep one crawl very differently.
Orphan pages are pages the crawl found — via the sitemap, or because they were the start URL's redirect target — but that no crawled page links to. They exist, they may even be indexed, but the site itself does not point at them. Common causes: pages removed from navigation but never deleted, landing pages built for a campaign, old versions after a redesign. Each one either deserves a link or deserves to be removed; leaving it in the sitemap alone keeps it in a limbo where it is discovered but never endorsed.
A 200-page crawl sees a small site whole and a large site partially. Incoming-link counts on a partial crawl are lower bounds — pages outside the crawl may link too — and orphans on a partial crawl may just be pages whose linking pages were not reached. Read the numbers relative to each other, and rerun from a different start URL if a section looks suspiciously thin.
Frequently asked questions
- How many internal links should a page have?
- There is no number. Google has said it no longer enforces the old '100 links per page' guideline, and the checker does not set a threshold. What matters is that important pages have more incoming links than unimportant ones and that nothing you care about has zero. Use the sorted table to check that ordering, not a target count.
- What is an orphan page?
- A page that no other crawled page links to. The crawler finds it only because the sitemap listed it or because a URL redirected there. Orphans are discovered late, crawled rarely and carry no internal authority. Either link to them from a relevant page or, if they are obsolete, remove them and let them 404 or redirect.
- Why is my home page at depth 0 and my blog posts at depth 3?
- Depth is the shortest path of links from the start URL. Home → blog index → page 2 of the index → post is three clicks. Pagination is the usual cause; category pages that link to every post directly, or a 'latest posts' block on the home page, bring most posts to depth 2 without any new content.
- Does the checker count navigation links?
- Yes — every <a href> in the HTML, including header, footer and sidebar links, once per linking page. Nofollow links are counted for the linking page's outgoing total but do not add to the target's incoming count. Links inserted by JavaScript are not seen.
- Why do incoming links differ from what my SEO tool says?
- Three usual reasons: the other tool crawled more pages (this one stops at 200), it counts links rather than linking pages (a page with the same link in header and footer counts once here), or it renders JavaScript and sees links this crawler does not. None of these change the ranking of pages relative to each other much.
- Can I crawl a subfolder only?
- Start from the subfolder's index page. The crawler still follows links anywhere on the same host, so it will leave the folder if the pages link out of it, but the depth numbers will be relative to your start URL, which is often what you want when auditing a section.