Open source · Technical SEO

Internal Link Orphan Finder

Analyze a declared page inventory and its extracted internal links to separate pages with no incoming links from disconnected groups and uncovered targets. Try the public synthetic captures locally without sending site data anywhere.

v0.1.0 · Node.js 22+ · MIT

Browse source and run locally · Technical SEO at Edilec

Compare two public page inventories

Both captures are synthetic and checked in. Run these commands from the repository root with Node.js 22 or newer.

Every page has a path

node bin/internal-link-orphan-finder.mjs --capture examples/site-clean.json --json

The clean capture checks 8 inventoried pages and 12 links. All 8 pages are reachable from the selected root; it reports 0 orphans, 0 unreachable pages, 0 errors and pass.

Inspect the clean capture

Orphan and disconnected group

node bin/internal-link-orphan-finder.mjs --capture examples/site-orphan.json --json

The failing capture checks 5 pages and 5 links. It reports 1 orphan (/press-kit), 2 unreachable pages in one disconnected group, 3 errors and fail. A self-link does not make the press-kit page reachable.

Inspect the failing capture

Monochrome conceptual page graph with a reachable cluster, an isolated page and a disconnected two-page loop
Generated concept illustration. The results below come from checked-in synthetic captures, not a crawl or screenshot of a live website.

What this reachability result can establish

This CLI analyzes only the page inventory and links supplied in a JSON capture. It does not crawl a live site, fetch a URL, prove that a page is indexed or measure traffic. A target absent from the inventory is unknown, not a broken link; uncovered targets or sources make the result incomplete. Client-rendered links, authenticated pages, redirects and URL variants require separate review. A deliberately unlinked page may be an intentional choice, so review each finding before changing navigation.

Read the exact rule definitions

Continue the review

Review the paths people can actually follow

Discuss a bounded internal-link QA workflow with Edilec. Share only site information you are permitted to disclose.

Discuss an internal-link QA workflow