An internal link checker that maps how your pages connect
This internal link checker crawls a small website the way a search engine would — starting from one page, following ordinary <a href> links on the same site and obeying robots.txt — then shows how the pages connect. Each page gets its click depth from the start, the number of pages linking to it and the links it sends out.
Problems are listed in priority order: internal links to broken pages or redirects, orphan pages that sit in your XML sitemap but are linked from nowhere, pages buried more than three clicks deep, internal nofollow links, and anchor text that is vague, empty or reused for different pages. It suits small sites, one section of a larger site, or a quick check after a redesign.
How to check the internal links of a site
- Enter the Start address — usually the home page, or the top page of the section to check.
- Choose Pages to crawl (up to 25) and the Click depth limit. Keep Compare with the XML sitemap ticked to find orphan pages.
- Press Crawl site. robots.txt is read first, then pages are fetched four at a time, nearest first; Stop keeps what is done.
- Read the prioritised list, the link graph and the Pages table, then open the sections below it for each problem link.
- Download Pages CSV or Links CSV to continue in a spreadsheet.
Internal Link Checker features
Crawls like a search engine
Applies the robots.txt Allow and Disallow rules for all crawlers — the longest matching rule wins — and follows only links Google can crawl.
Click depth and link counts
Breadth-first crawling gives every page its shortest path from the start, with linking pages and outbound internal and external links.
Orphan candidates
URLs from the sitemap named in robots.txt (or /sitemap.xml, including a sitemap index) that no crawled page links to, plus sitemap URLs that differ from the linked form only by a slash or www.
Anchor-text audit
Generic phrases such as “click here”, links with no text, the same words pointing to different pages, internal nofollow, and links built with onclick or javascript:.
Link graph and CSV
An SVG map of the crawled pages by depth, and CSV exports with one row per page and one per internal link.
Worked example: the built-in sample site
Show the example crawls a 13-page outdoor shop without any requests. Its findings:
| Where | Finding | Why it matters |
|---|---|---|
| /landing/spring-sale/ | Orphan candidate | In the sitemap, but no crawled page links to it |
| /about/team in the sitemap, /about/team/ in links | Address variant | Only the trailing slash differs — use one form everywhere |
| /about/team/history/1998/ | Deep page | Four clicks from the home page |
| /blog/winter-hiking/ → /blog/old-gear-guide/ | Broken link | The target answers 404 |
| / → /old-offers/ | Link to a redirect | It redirects to /shop/ — link there directly |
| “Read more” ×3 and “Click here” | Generic anchors | They don’t describe the destination |
| “About us” | Same words, two pages | Points to /about/ in the menu and /about/team/ in the blog footer |
| /private/staff/ | Blocked by robots.txt | Disallow: /private/ — not crawled |
Why internal links matter
Google’s link best-practice guide (updated 10 December 2025) puts it simply: “Every page you care about should have a link from at least one other page on your site.” It explains that Google can only crawl a link that is an <a> element with an href, and that good anchor text is descriptive — generic words such as “click here” or “read more” are its examples of what to avoid. Its guide to qualifying links (same date) recommends robots.txt, not rel="nofollow", for links within your own site.
Google publishes no maximum click depth. The three-click warning here is a widely used rule of thumb: pages linked from the home page or a hub are found sooner and are easier for visitors to reach.
How the crawl works, and its limits
- robots.txt rules for
User-agent: *are applied as Google describes (robots.txt documentation, updated 31 August 2026): the longest match wins and Allow wins a tie. A 4xx robots.txt means no rules; a 5xx or unreachable one stops the crawl, as Google pauses crawling in that case. - Same site only: www and non-www, http and https of one host count; other subdomains don’t. Addresses ending in a file extension (PDF, images, ZIP …) are not fetched.
- Up to 25 pages per run. This site’s server allows each visitor 60 page fetches per 10 minutes, plus 120 file fetches for robots.txt and sitemaps; if the allowance runs out, crawled pages stay and the message says when to continue.
- Scripts are not run, so links added by JavaScript are not seen. For outbound links use the Broken Link Checker; to list a sitemap’s URLs, the Sitemap URL Extractor; to write rules, the Robots.txt Generator.
Internal Link Checker FAQ
What does an internal link checker do?
It crawls the links between pages of one website. This internal link checker reports each page’s click depth and inbound and outbound links, plus orphan pages, links to broken pages or redirects, and weak anchor text.
What is an orphan page?
A page that no other page on the site links to. Visitors can’t navigate to it and search engines can only find it through a sitemap or links from elsewhere. Here, orphan candidates are sitemap URLs that no crawled page links to.
How many clicks deep should important pages be?
Google sets no limit, but a common guideline is three clicks from the home page. Link deeper pages from categories, hubs or related articles.
Should I use nofollow on internal links?
Usually not. Google suggests robots.txt for pages you don’t want crawled; nofollow is only a hint, and the page may still be crawled through other links or a sitemap.
Why were some pages not crawled?
robots.txt blocked them, their address ends in a file extension, or they were beyond the page cap, the depth limit or the fetch allowance. The Pages table gives the reason for each.
Does it check links to other websites?
It counts them for each page but doesn’t fetch them. Use the Broken Link Checker to test every outbound link on a page.