Link Analyzer

Free, no signup. Find crawlable links, images, stylesheets, and scripts on one page. Review structural anchor patterns first, then optionally batch-check the extracted URLs.

Checks run from our server; we fetch the URL you enter and don't keep the results. The page URL and, only when you choose status checks, its extracted public resource URLs are fetched; nothing is stored. Anonymous run-level outcome counters may be used for aggregate research; URLs, domains, IPs, and identifiers are never included, and no statistic is released below 100 runs.

Feedback
Report a bug

Found something broken in Link Analyzer? Let us know what happened — this goes straight to a private triage queue, not a public list.

What will be sent
 No tool inputs, uploads, pasted source, complete results, query parameters, or URL fragments are attached automatically. You can edit or remove the selected passage above. Browser and anti-abuse metadata is processed for spam prevention. 

Sample report

Illustrative example — deterministic output for the HTML below

<a href="/pricing">Learn more</a>
<a href="/support">Learn more</a>
<a href="#">Contact us</a>
<img src="/images/product.webp" alt="Product dashboard">
4 extractable URLs
  • Warning: 1 non-navigational link — href="#".
  • Warning: “learn more” points to two different targets.
  • Info: 2 generic anchor-text labels.
  • Extracted: three links and one image, with source line and resolved URL. HTTP statuses remain unchecked until requested.

How to use it

  1. Enter one public page URL and choose Analyze page.
  2. Review structural findings before checking network status; they come directly from the page source.
  3. Inspect each extracted URL, resource type, and source location.
  4. Choose Check HTTP status only when you also need live response evidence for the extracted destinations.

What the results mean

Warnings identify concrete ambiguity or non-navigation. Info marks patterns that need human context. A clean structural report means none of the implemented anchor rules fired; it does not prove every link is useful. Status numbers are live network observations, while a missing status or network error is not treated as a pass.

How it works

The page fetch returns raw HTML. A local extractor reads a, img, link, and script elements, resolves eligible relative URLs against the final page URL, and records source line and column. Anchor rules compare labels, targets, and rel values. Optional checks deduplicate public URLs and send batches of at most 25 to the status endpoint.

Features

  • Links, images, stylesheets, and scripts in one inventory.
  • Generic, empty, conflicting-label, and internal-nofollow findings.
  • Source locations for faster template debugging.
  • Opt-in, deduplicated status checks for up to 250 extracted items.

Limitations

This is a single-page raw-HTML audit, not a site crawler or rendered-DOM analyzer. It does not score PageRank, judge the editorial quality of a link, discover links created by JavaScript, or prove that a 200 response contains the expected content. Status checks can also be blocked or rate-limited by destination servers. Use Render Gap to compare links added after JavaScript runs →

Frequently asked questions

Does the Link Analyzer crawl my whole website?

No. It extracts links and resources from one page. Optional status checks request only the unique public URLs found on that page, in bounded batches.

What counts as a generic anchor?

Short labels such as “click here,” “read more,” and “learn more” are flagged because they provide little destination context when read alone.

Are internal nofollow links always wrong?

No. They are shown as informational findings for review. Nofollowrel="nofollow" is a value of the HTML link rel attribute that tells search engines you don't vouch for a linked page and don't want to pass ranking signals to it. Since 2019–2020 Google treats it as a hint, not a directive — and it does not reliably block crawling or indexing. may be intentional, but routinely using it on ordinary internal navigation can make the linking strategy harder to understand.

Why are some links missing from the report?

The analyzer reads raw HTML and does not execute JavaScript. Links inserted after renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM., links hidden inside application state, and resources beyond the 250-item display cap are not included.

Next stepContent Gap Analyzer — look up the exact spec and expected values.

Feature requests for Link Analyzer

Upvote what you want most. New ideas can be submitted from the floating Feedback menu; requests appear here once approved, and the most-wanted rise to the top.

Loading…

➕ Request a feature

New requests are reviewed before they appear here.

Where this tool helps

Inventory links on a page

Inspect internal, external, resource, and protocol links with their source locations in the fetched HTML.

Review anchor text

Find empty, generic, repeated, or unusually long anchor text as calibrated review candidates rather than automatic failures.

Check a bounded link batch

Optionally request HTTP statuses for selected links while keeping untested and unavailable targets visible.

Prepare a repair list

Export evidence for broken destinations, redirects, or weak anchors and verify each fix by rerunning the page.

Watch the full workflow

Link Analyzer walkthrough

Read the transcript

Link Analyzer

A page-level link audit is most useful when it separates source-structure findings from live network observations. I’ll show you how to analyze one public page, read anchor warnings and distributions, inspect resolved links and resources with source locations, opt into bounded status checks, interpret redirects and failures carefully, understand raw-H-T-M-L limits, and prioritize fixes.

Step 1

Use this tool when reviewing a template, debugging internal links, checking a launch page, or gathering a resource inventory. It extracts anchors, images, stylesheets, and scripts from one raw-H-T-M-L response—not from the entire site.

Step 2

Enter the complete public page U-R-L and choose Analyze page. The tool fetches the page once, resolves eligible relative paths against the final U-R-L, records line and column locations, and evaluates anchor structure in the browser.

Step 3

Start with structural findings because they come directly from the captured source. Status checks are optional and request each unique public destination separately. Keeping these phases distinct prevents a live network response from obscuring an obvious markup issue.

Step 4

This walkthrough uses fictional example dot com rows and explicitly illustrative statuses. A real run selects Analyze page and waits for the fetched raw H-T-M-L. Status numbers appear only after you separately choose Check H-T-T-P status.

Step 5

The summary identifies the final analyzed U-R-L, how many extractable items are displayed, and any acquisition warning. The table is capped at two hundred fifty items. A truncated response cannot prove links were absent or the remaining structure was clean.

Step 6

Warnings identify concrete problems such as empty destinations, hash-only placeholders, or the same generic label pointing to different targets. Information marks patterns needing context, including generic anchor text or internal nofollow. Nofollow is not automatically wrong.

Step 7

The anchor dashboard separates descriptive, generic, and empty labels, then shows the most-linked destinations. Use it to spot template-wide repetition, weak navigation wording, and unusually concentrated targets—not to infer PageRank or editorial quality.

Step 8

Each row records the resource type, source line and column, original path, and resolved public U-R-L. Source locations make it faster to find the responsible template or content block. Repeated rows can reveal component-level issues worth fixing centrally.

Step 9

Choose Check H-T-T-P status only when you need current response evidence. Unique public U-R-Ls are deduplicated and sent in batches of at most twenty-five. Network failures, blocking, and rate limits remain visible instead of being converted into a clean result.

Step 10

A redirect may be intentional, though avoidable internal redirect hops can waste time and complicate maintenance. A two-hundred response only proves successful delivery; it does not prove the destination contains the expected content. Inspect important targets directly.

Step 11

This is not a whole-site crawler, rendered-D-O-M analyzer, or PageRank model. It cannot discover JavaScript-injected links, judge a link’s editorial value, or guarantee destination content. Servers can also block or rate-limit optional status requests.

Step 12

Replace placeholders, clarify weak labels, correct wrong paths, and update avoidable internal redirects in the shared source. Reanalyze the page, then use Render Gap for JavaScript-added links or a dedicated crawler for site-wide coverage. Verify priority destinations manually before closing the issue.

Fix links at the source—and verify the destination.

Trace repeated findings to the shared template, replace non-navigational placeholders, make anchor labels understandable out of context, and update avoidable internal redirects. Then verify important destinations return the expected content—not merely a two-hundred status—and use rendered-D-O-M or site-crawl evidence when one raw page is insufficient.