This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Universal Internal Link Structure Viewer

Developer Tools · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryDeveloper Tools
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

This script scans the current page for all internal links—links to pages within the same domain—and analyzes the link structure including source URL, destination URL, link text, anchor position, and parent section. It displays a floating panel showing a hierarchical view of internal links organized by source page, with counts of outgoing internal links per page. The internal linking structure is visualized as a list with depth indicators (dots showing how many directory levels deep each link goes), highlighting the current page. The panel provides a summary of total internal links, unique pages linked to, and average link depth. Users can filter by section, sort by link count or depth, copy the link structure report, and export data as CSV. Internal link snapshots are stored per domain locally for tracking link structure changes over time.

WHERE IT RUNS

Works on any webpage—content sites, blogs, documentation, e-commerce, or any site with internal navigation. The script uses DOM traversal to find all anchor tags and analyzes each link's destination, path depth, parent section, and link text.

HOW TO USE

The panel appears automatically when you visit a page. The summary shows total internal links, unique pages linked to, average depth, and maximum depth. The "Link Hierarchy" section displays links grouped by parent section (header, footer, main, etc.) with depth indicators. Each link shows its path, link text, depth level, and a "current" marker if it points to the current page. Use the "Sort" dropdown to order by Depth, Path, or Section. Click "Copy Report" to copy a full text report with all links organized by section. Export all data as CSV with path, depth, link text, parent section, and current status. The "Clear History" button removes stored snapshots for the current domain. The panel automatically saves a snapshot each time you visit, building a history of your site's internal link structure.

TECHNICAL MECHANISM: DOM TRAVERSAL WITH PATH DEPTH ANALYSIS AND SECTION GROUPING

The script uses DOM traversal to find all a[href] elements, excluding mailto:, tel:, javascript:, and anchor-only (#) links. Relative URLs are resolved to absolute URLs using the URL constructor. Each link's domain is extracted and compared to the current site's domain (normalized by removing www. prefix) to identify internal links. For each internal link, the script captures: the full URL, normalized path (with trailing slashes removed), path depth (number of directory segments), link text (or title/aria-label fallback), parent section via closest() method (section, article, nav, header, footer, main, aside), and page position via getBoundingClientRect(). The path depth is calculated by splitting the path by '/' and counting non-empty segments. Links are sorted by depth and then by path alphabetically. The hierarchical view groups links by parent section, then displays each link with a depth indicator (dots) and indentation. The summary calculates total links, unique paths, average depth (one decimal), and maximum depth. Each snapshot stores the full link list with all attributes, capped at 30 entries per domain. The "current" page is identified by comparing the normalized path of each link to the current page's path.

THE PANEL

The internal link structure viewer appears in a draggable, resizable panel that remembers its position per site. The panel shows summary stats, a hierarchical link list grouped by section with depth indicators, and history. Drag by the header to reposition, collapse to a compact icon with a click, and resize using the bottom-right corner. The panel snaps to screen edges for tidy placement and closes with the Escape key. All settings—sort order and panel position—persist per website using GM_setValue, so your view returns exactly as you left it.

PLEASE NOTE

This script requires the free BotGentz extension to run. The script only scans links that are present in the DOM at the time of the scan—dynamically loaded links may not be detected without a manual refresh. The depth calculation is based on URL path segments; it does not account for URL parameters or anchors. The "orphaned pages" detection is limited to the current page's links—it cannot detect pages that exist on the site but are not linked from the current page. To get a complete picture of your site's internal link structure, visit multiple pages and allow the script to build a history of snapshots. All data is stored locally in your browser via GM_setValue and never transmitted.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.