All free tools Checked from VPSLake

Broken Link Checker

Enter a page address and every link and image on it is tested from a VPSLake server. Dead links, redirects and blocked requests are sorted to the top, so you can see what needs fixing at a glance.

Scan a page for broken links

Live test
One public page per scan. The first 50 unique links and images on it are tested; mail, phone and JavaScript links and same-page #anchors are skipped.

The scan runs on the VPSLake server. The page and its links are fetched only for this check and nothing is saved. Private, local and reserved network addresses are never fetched, even when a page links to them.

Find dead links in four steps

No crawler to install and no account. Point it at the page you care about and read the list.

  1. 1

    Paste the page URL

    Use the exact page you want to audit, such as a blog post, a resources page or your homepage. A bare domain like example.com is treated as https://example.com/.

  2. 2

    Run the scan

    Select Check Links. The server downloads the page, collects every <a href> and <img src>, and tests them in parallel within about ten seconds.

  3. 3

    Read the status column

    Broken links come first, then links that were refused or could not be confirmed, then redirects, then links that answered 200 OK. Use the filter buttons to focus on one group.

  4. 4

    Fix and re-test

    Update or remove each dead link, point redirected links at their final URL, and download the CSV if you need to hand the list to someone else. Run the scan again to confirm.

What the checker treats as broken

A link is marked broken when its final answer is a client or server error, such as 404 Not Found, 410 Gone or a 5xx error, or when there is no answer at all because the domain no longer resolves, the connection is refused, the TLS certificate is invalid or the request times out.

A redirect is not broken, but every extra hop costs your visitors time. Where a link redirects, the table shows the address it finally lands on so you can link there directly.

Why some links show as unsure

Large platforms often refuse automated requests from data-centre addresses. LinkedIn answers with its own 999 code, others return 403 Forbidden or 429 Too Many Requests, and social networks sometimes send a 400 even for a live page.

Those results are grouped as unsure instead of broken, because the page probably works in a normal browser. Open them yourself before deleting anything.

Broken internal links on your own server

Internal 404s usually appear after a migration, a permalink change or a deleted page. On a VPS you fix them at the web server: add a return 301 rule in the Nginx server block, or a Redirect 301 line in Apache, from the old path to the closest live page.

Internal links matter more than outbound ones, because they carry crawlers and ranking signals between your own pages.

How the scan works

Each link is tried with a light HEAD request first. If the server rejects HEAD, the checker asks for only the first few kilobytes with a normal GET, so large files are never downloaded. Redirects are followed by hand, up to three hops, and each new address is checked before it is requested.

Links on the same host are tested a few at a time so the scan never floods one website.

Limits of a single-page scan

The checker reads the HTML the server sends, so links that a page builds later with JavaScript are not seen. It tests the first 50 unique links and images on one page and stops at a ten-second time budget; anything left over is marked as not checked. Results come from one VPSLake server location, so a link that is geo-blocked or rate-limited may behave differently for your visitors.

Broken Link Checker FAQ

No. It checks one page per scan, which keeps it quick and light. Start with pages that matter most: your homepage, top landing pages and any post with a long list of outbound links. For a full-site audit, run a crawler such as a link-check plugin or a command-line spider from your own server on a schedule.
Every scan runs inside one short request with a ten-second budget, so the tool stays fast and cannot be turned into a load generator. Fifty unique links covers most articles and landing pages. When a page has more, the result tells you how many were left out.
Some sites block requests from data-centre IP ranges, require cookies, or serve different content by country. Others time out under load. If a link answers for you but not for the checker, it is probably reachable, but it is worth checking whether search engine crawlers, which also come from data centres, get the same error.
A handful of dead outbound links will not sink a page, but they make it look neglected and frustrate readers. Broken internal links do more damage: crawlers waste time on dead ends and link value never reaches the page it was meant for. Fix internal ones first, then tidy outbound links.
Yes. Every <img> source on the page is tested alongside the links, including lazy-loaded images that keep their real address in data-src. CSS background images and files loaded by scripts are not included.
No. The page is fetched, its links are tested, and the result is sent straight back to your browser. Nothing about the scan is written to disk except a short-lived, anonymous rate-limit counter. The CSV is generated in your browser.
About ten link scans every ten minutes per visitor, and only a couple run at the same moment across the whole site. If you see a busy message, the tool retries on its own; if it still fails, wait a few seconds and try again.