Link Analyzer

See every link on a page the way Google reads it: internal or external, followed or nofollow, sponsored or ugc, where each one really lands and which ones are broken.

Reads the page's HTML from our server · checks each URL with a GET request · bot walls told apart from broken links

Live status checks

A domain works too: example.org reads its homepage.

  • FetchReads the HTML once
  • RedirectsUp to 10, each checked
  • Robotsmeta + X-Robots-Tag
  • Links found<a> and <area>
Status checksA GET for each URL, 6 at a time
Try
Link analyzer result for a Wikipedia article: 1,117 links, internal and external, their status and the map of where they goLink analyzer result for a Wikipedia article: 1,117 links, internal and external, their status and the map of where they goThe answer firstHow many links the page has, how many stay on the site and how many leave it, and how many are broken.Notes with a fixBroken links, links that only bot protection stopped, redirects worth updating, empty anchors: each with its count and what to do.The page, top to bottomOne tick per link where it sits on the page: menus, the article, the references, the footer.Where the links goOne band per section and per site, as wide as its number of links, dashed when the links are nofollow.
The links of Wikipedia's Domain Name System article: the totals, the notes and the map of where they go. Select a number to see what each part shows.

Dofollow checker: nofollow, sponsored and ugc (and why “dofollow” isn't an attribute)

rel="nofollow" asks search engines not to count a link as your endorsement, rel="sponsored" marks a paid link or an ad, and rel="ugc" marks a link your users wrote. A link with none of them is followed: there is no dofollow value.

Since September 10, 2019 all three are hints, not commands, and since March 1, 2020 also for crawling and indexing (Google). Values can be combined, such as ugc nofollow, separated by spaces or commas.

The one that matters most: a paid link without sponsored or nofollow breaks Google's spam policies (Google). On the Wikipedia article we read, 267 of the 287 external links carry nofollow, which MediaWiki adds to every citation.

What each rel value asks
  • <a href>Followed by default: nothing to add
  • rel="nofollow"Don't vouch for it: when no other value fits
  • rel="sponsored"Paid or an ad: needed on paid links (or nofollow)
  • rel="ugc"Written by users: comments, forum posts
  • rel="ugc nofollow"Both: allowed, for older crawlers
  • rel="dofollow"Not a value: browsers and Google ignore it
  1. 2005Google introduces nofollow
  2. 2019-09-10sponsored and ugc arrive; all three become hints
  3. 2020-03-01hints for crawling and indexing too
wikipedia.org/wiki/Domain_Name_System267 nofollow20 followedMediaWiki marks every citation nofollow
dnsrobot.net/blog/hosting-com-coupon14 sponsored9 followedour own coupon post: paid links marked sponsored

What if the page itself says nofollow?

Then Google follows none of its links, whatever each link's own rel says. A robots meta tag or an X-Robots-Tag header with nofollow applies to the whole page; this tool marks each link “nofollow (page)”.

Google reads the robots and googlebot names in any case, even in the body, and none means noindex plus nofollow (Google). The same rules can come as a header, such as X-Robots-Tag: nofollow.

Wikipedia's revision history pages carry noindex,nofollow on purpose. The previous version of this tool never read the tag and counted 194 of a history page's first 200 links as followed.

One meta tag, every link
<meta name="robots" content="noindex,nofollow">
en.wikipedia.org/w/index.php?title=Example&action=history
The previous version counted
194 followed

of the first 200 links: the meta tag was never read

Read the way Google reads it
549

links, all nofollow (page): Google follows none of them

543 nofollow (page)6 nofollow
The same rule as an HTTP header
X-Robots-Tag: nofollow
X-Robots-Tag: none

“Blocked here, but it works in my browser”

Many sites put bot protection in front of their pages. It stops visitors that don't run JavaScript or look scripted, so our checker gets a 403 or a 429 while your browser passes. These links are listed as Blocked, not broken.

Cloudflare marks its challenges with a cf-mitigated: challenge header (Cloudflare) and challenges clients with unusual user agents by default; 429 means too many requests (RFC 6585).

We send an honest user agent and never try to get round a wall. On the article we read, 18 URLs were blocked: 17 by Cloudflare, AWS WAF, Akamai and rate limits, one by a plain 403. Open them yourself before you change anything.

Same URL, two visitors
Our checkerhonest user agent, no JavaScript403 · 429cf-mitigated: challenge
Your browserruns the challengebot protection200
The walls on the article
  • Cloudflare challenge7dl.acm.org · onlinelibrary.wiley.com · queue.acm.org · 403
  • AWS WAF6api.semanticscholar.org · ui.adsabs.harvard.edu · sgp.fas.org · 202 · 405
  • Rate limit (429)3search.worldcat.org · api.semanticscholar.org · 429
  • Akamai bot protection1dyn.com → www.oracle.com · 403

target=_blank and noopener: still needed?

Not in current browsers. A link with target="_blank" opens a new tab, and every major browser now treats it as rel="noopener": the new page can't reach back and change yours. Missing noopener is listed as a note, not a risk.

The HTML standard made _blank imply noopener in 2019 (HTML); Safari 12.1, Firefox 79 and Chrome 88 shipped it. noreferrer also hides where the visitor came from: a privacy and analytics choice, not a security fix.

A new tab can't reach back any more
your page<a target="_blank">no rel at all
openscan't reach back
new tabwindow.opener→ null
  1. 2019-02HTML: _blank implies noopenerwhatwg/html #4330
  2. 2019Safari 12.1implicit noopener
  3. 2020Firefox 79implicit noopener
  4. 2021Chrome 88implicit noopener
Pages we read today
  • dnsrobot.net/blog/hosting-com-coupon23 of 23 have noopener or noreferrer
  • github.com10 of 10 have noopener or noreferrer
  • developer.mozilla.org/en-US/10 of 10 have noopener or noreferrer

Link Analyzer FAQ

Is this link safe to click?

This tool doesn't judge whether a link is safe, and no tool can promise that from an address alone. It shows where a link redirected when we checked it, every hop included; a site can send our checker somewhere other than your browser, so treat it as a guide. To check a site's reputation, look its domain up in an IP blacklist and WHOIS lookup, and open anything doubtful only in a browser you keep updated.

How do I find all the links on a webpage?

Enter the page's address above and select Analyze links. We read the page's HTML once and list every link in it, from the menus to the footer, with its anchor text, where it points, its rel values and the status of each URL. Download the list as CSV or JSON, or copy all the URLs in one go, as a link extractor would.

What is the difference between internal and external links?

An internal link points to the same host as the page, such as another article on the same site. An external link points to a different website, and the External tab works as an outbound link checker. Links to another host of the same site, like a language subdomain, are counted separately and drawn beside the internal ones, so the split matches what you'd expect for your own site.

What does nofollow mean, and is dofollow a real attribute?

rel="nofollow" asks search engines not to treat a link as your endorsement; since 2019 Google reads it as a hint, not a strict rule. There is no dofollow attribute: a link without nofollow, sponsored or ugc is followed by default, so tools that list “dofollow links” simply mean links with none of those values.

When should I use rel="sponsored" or rel="ugc"?

Use sponsored on links you were paid for, affiliate links and ads included; Google's spam policies require sponsored or nofollow on them. Use ugc on links your visitors write, such as comments and forum posts. Values can be combined, like ugc nofollow, for crawlers that only understand the older nofollow.

Why is a link marked “Blocked” and not broken?

The site's bot protection stopped our checker, usually with a Cloudflare or Akamai challenge (403), an AWS firewall or a rate limit (429), or the server simply answered 403 to an automated reader. That says nothing about whether the page exists: a browser usually opens it. These links are listed separately so you don't delete links that work. Open them yourself to be sure.

Why does a link redirect, and should I fix it?

The site moved the page and sends visitors on to the new address. The link still works, but each hop costs a request and time. Fix links inside your own site first, since you control both ends, and update external links to their final address when you edit a page. A redirect that ends in a 404 counts as broken here.

Does it find links added by JavaScript?

No. It reads the HTML the server sends, which is what crawlers fetch first. Links that a script adds after the page loads aren't seen, which is why example.com shows no links here. Google can still find script-added links when it renders a page, as long as they are real <a href> links.

The page blocks automated readers. Can I still analyze it?

Yes. Open the page in your browser, view its source (Ctrl+U, or ⌘⌥U on a Mac), copy it all and select Paste a page's source. The HTML is read in your browser with the same engine; only the link addresses go to our server, which checks each one. Links a script adds after load still aren't included.

How many links does it check?

It lists every link on the page, up to 10,000, and checks each unique URL once: up to 1,000 in a run of at most 90 seconds. It asks six at a time, four per site and at most 100 URLs on any other site, and limits how often one site is checked across all visitors. Each check is a real GET with redirects followed one by one, because HEAD requests often get wrong answers.

How many links should a page have?

As many as help your readers. Google sets no limit and says there is no ideal number; the old advice to stay under 100 links dates from when Google read only part of a page. Make sure the important links are real <a href> links in the HTML and that the page stays well within the 2 MB Googlebot reads.

Is the Link Analyzer free, and do you store the pages?

Yes, it's free with no sign-up. We read the page once from our server, check each URL and send you the result; a finished analysis is kept 5 minutes so the same page isn't read twice, and nothing is kept about who asked. To share a result, copy the link: it holds the page's address, so anyone opening it sees the same analysis.

Missing something?Suggest a feature or a new tool