Try Dynamic Growth free for 7 days. 1 free credit. Cancel any time. Start free trial
Audits

Broken Link Checker: How to Find and Fix Broken Links on Your Website

8 min read

A broken link checker finds links that lead nowhere: pages that return an error, redirect in circles or never answer. Every site collects them over time, because pages get deleted, URLs change and other websites reorganize without telling anyone. Knowing how to find broken links on a website is a routine maintenance skill, and a Whole-Site Crawl does the finding for you, so the fixing takes most of the time.

Whole-Site Crawl100pages read3broken links2redirects/old-pricing404/blog/retired-post404/offer301/contact200

This post covers what counts as a broken link (it is more than the classic 404), why internal and external ones matter differently, how a crawler finds them and what it misses, the right fix for each type, and how to stop creating new ones when you move or rename pages. It ends with a routine you can run in about half an hour. For the wider context of site health checks, the technical SEO audit checklist lists the other items to review alongside links.

The familiar case is the 404, a response meaning the server has no page at that address. A 410 means the page is gone on purpose. Both are broken from a visitor's point of view, and a link checker reports them the same way. Server errors in the 500 range are different: they often point to a temporary fault, so recheck them before you edit anything.

Then there are the quieter kinds. A soft 404 is a page that says not found to the visitor but returns a normal success response to the browser, so many tools do not flag it. Redirect chains send one address through several others before it reaches the final page, and a redirect loop never reaches one at all, so the browser gives up with an error. Links to pages that time out or refuse automated visits can also look broken to a crawler when a person with a browser would get through.

The last kind is the broken anchor. A link such as a page address followed by a hash points to a specific section, and if that section was renamed or removed, the page loads but the visitor lands at the top. Most link checkers do not test anchors, so these are usually found by hand on your most visited pages, such as a table of contents.

Internal broken links point from one of your pages to another. You control both ends, so you are responsible for them, and they hurt in two ways. Visitors hit a dead end in the middle of a journey, often on a page you wanted them to reach, such as a product or contact page. Search engines also follow your internal links to discover pages, so a dead one wastes some of that attention and leaves the target page with fewer routes to it.

External broken links point to other websites. You cannot repair the target, so your options are to update the link, replace it with a better source or remove it. They matter less for crawling and more for trust: a guide that cites sources that no longer exist looks neglected. They also appear on their own, because the other site changed something. A page that worked in spring can be dead by winter with no edit on your side.

That difference sets the order of work. Fix internal links first, starting with those in menus, footers and templates, since one bad link there repeats on every page. Review external ones afterward, and weigh each by where it appears: a dead source in a popular article is worth more of your time than one in an old news post.

Kinds of broken link404 page not found410 page goneSoft 404 (error shown as a normal page)Redirect chain or loopLink to a missing page sectionTimeout or blocked page
A crawler reports each kind differently, so check which one you have before fixing it.

A website crawler works like a search engine would. It starts from a page, usually the homepage, reads the links on it, visits each one, records the response code, and repeats on every new page it finds. A link that returns an error is added to the broken link list, along with the page the link sits on, which tells you where to edit.

This is why a site crawler is better than checking by hand. You rarely notice a dead link three levels down in a blog archive, and a crawler visits every page it can reach. It also catches patterns: if 60 pages show the same broken link, the cause is probably one menu item or one template, and a single edit clears all 60.

Dynamic Growth's Whole-Site Crawl works this way from your public URL. It starts at your homepage, follows the links it finds and checks up to 100 pages. The report lists broken links with the page each one sits on, shows redirect chains hop by hop, and includes a CSV of every page visited so you can sort and filter. It is a good first pass on a small or mid-sized site, and the 7-day free trial costs nothing to start.

A crawler can only follow links that it can see and reach. Links that appear only after a script runs, such as a menu built in the browser or content loaded when you scroll, may not be seen by every crawler. If your site relies on heavy scripting and the report finds far fewer pages than you expect, that is the likely reason. Compare the page count to your sitemap or your CMS.

Pages behind a login, a paywall or a form are out of reach too. A crawler that reads public pages cannot check your member area or the links inside it, and it does not see pages that no link points to. A page nobody links to will never be found by following links, so a list of published pages from your CMS is a useful cross check.

Size limits and politeness also matter. Crawls stop at a page limit or a time limit, and some tools slow down or stop when a server pushes back. A crawl of up to 100 pages gives a full picture of a small site and a sample of a larger one. For a large site, run the crawler on its most important sections first and compare the results with Google Search Console, which reports the errors Google itself has met.

For each broken link, choose from four fixes. Restore the page if it was deleted by accident and still has value. Redirect the old address with a 301 to the closest relevant live page when the content moved or was replaced. Update the link so it points directly at the right address. Or remove the link when there is no sensible destination left. Pick the first fix that fits, in that order.

Fix an internal link by editing the link itself, not by adding a redirect. A redirect is a good safety net for old addresses that other sites or bookmarks still use, but your own pages should point straight to the final URL. That also clears redirect chains: change the first address to point to the last one, so a visitor makes one hop instead of three. If a loop appears, look at the redirect rules in order, because two rules usually point at each other.

Redirect with care. Sending every dead page to the homepage is tempting and generally a poor match for the visitor's intent, and search engines may treat it like a soft 404. Redirect an old product page to the replacement product or its category. For a soft 404, make the page return a real 404 or 410 status, or redirect it if a close substitute exists. For a broken external link, check whether the page moved by searching for its title, then update the address, swap in another source or delete the sentence. A custom 404 page with a search box and links to your main sections helps visitors who arrive from links you cannot control.

Four ways to fix a broken link1Restore the page2Redirect with a 3013Update the link4Remove the link
Pick the first option that still makes sense for visitors.

Most broken links are made in a few predictable ways. The biggest is a site migration or redesign, where URLs change and nobody maps the old ones to the new. Before a move, export a list of your current URLs, decide where each should go, set up 301 redirects, and crawl the new site afterward to confirm. Keep the redirects in place for a long time, as old links linger on other sites.

The second cause is changing a page slug or deleting a page. When you rename a URL, update the internal links to it and add a redirect from the old address. When you delete a page, check what linked to it first. Many CMSs show incoming links or let you search for the URL in your content, and a quick search before deleting saves a later cleanup.

The third is slow decay on external links, which no process prevents. What helps is limiting how many you add: link to stable, authoritative pages, prefer a source's main page when a deep link is likely to change, and record the date you checked important references. Your editors should know the rule that deleting or renaming a page needs a redirect and a link check.

The Marketing Audit gives a broader score across ads readiness, tracking, SEO and site speed if you want context first. Run a crawl after every migration, redesign or large content change, and on a schedule in between. For most small sites monthly is enough, and a larger site with many editors may want it more often. Between runs, links break silently, so a regular crawl is the only way to catch them before visitors do.

Keep the process the same each time. Run the crawl, then sort the broken links by the page they sit on. Fix links in templates and menus first because they repeat. Apply the four fixes above, then recheck only what you changed. Log how many broken links you had before and after so you can see the trend. Your SEO Audit covers links alongside titles, indexing and sitemaps, and the guide to reading an SEO audit report explains how to rank the results against everything else.

If you would rather not remember, Monitoring re-runs the Marketing Audit every 7 days on up to 5 websites and alerts you by email and in the dashboard when checks start failing, though it is a broader check than a dedicated crawl. Your next step is to run a crawl of your site this week, fix the broken links found in menus, footers and templates first, then book a recheck for the same day next month.

Frequently asked questions

What is a broken link checker?

A broken link checker is a tool that visits the pages of a website, follows each link it finds and reports the ones that return errors, loop through redirects or fail to respond. The report usually shows the page each broken link sits on so you know where to edit.

How do I find broken links on a website?

Run a crawler that starts at your homepage and follows every link, then review the links that return errors such as 404. Google Search Console also lists crawl errors Google found. For a small site you can crawl up to 100 pages and sort the results by page.

Do broken links hurt SEO?

A few dead links are normal and will not cause a penalty. Many broken internal links waste crawling, leave pages with fewer routes to them and frustrate visitors, which can hurt results indirectly. Fix internal ones first, especially those in menus and templates, then review external links.

Should I redirect a broken link or remove it?

Redirect an old address with a 301 when a close replacement page exists. Update the link itself so it points to the new address directly. Remove the link when nothing relevant is left. Avoid redirecting everything to the homepage, which rarely matches what the visitor wanted.

How often should I check for broken links?

Check after every migration, redesign, URL change or major content update. In between, a monthly crawl suits most small sites. Sites that publish often or have many editors can check more frequently, because new broken links appear whenever pages are renamed or deleted.

Keep reading

Run the Whole-Site Crawl on your own site

This article covers the checks. The Whole-Site Crawl runs them on your page and gives you the report.

7 days free · 1 free credit · cancel any time