Broken Links: Common Causes and How to Fix Them

A broken link (also called a dead link) is a hyperlink that points to a non-existent page. And they occur when a page you’re linking to is deleted without redirecting links that point to it. 

Users who click on a broken link will see an error. Like a 404 (not found) page error.

Here’s what one of those pages might look like:

Broken link opens Salesforce page that says "Oops, the page you're trying to view isn't here." And includes product shots.

Next, let’s explore why links break and how to fix them.

Deleted or Moved Pages

One of the most common reasons a link breaks is because the target page is deleted or moved to a new URL without updating the link. 

Deleted pages lead the user to a 404 error page.

For example, let’s say eBay creates a temporary sale page (www.ebay.com/new-years-sale) and links it across its site. 

After the sale, they delete the page but forget to remove the links.

Customers clicking the old links to this page will now land on an error page that looks like this: 

Ebay's 404 page says "We looked everywhere." And directs the user to the homepage or help pages.

The 404 error page shows users that the site couldn’t find the requested page. Potentially leaving users frustrated and confused. 

Incorrectly Formatted URL

An incorrectly formatted URL can lead to a 400 bad request error. Which is similar to a 404 error but occurs when there’s a problem with the requested URL.

How does this happen?

You may have misspelled the link when adding it to a page. Or someone may have mistyped the URL in their browser.

For example, say you want to link to a product page at “website.com/blue-sneakers.” But you accidentally include a “%” in the link, directing users to “website.com/blue-sne%kers.” 

The “%” symbol in the URL would give users a 400 bad request error that may look like this:

simple webpage with text that says "400 Bad Request"

This error occurs because the server cannot understand the request due to an invalid URL format.

Change in Website Structure or URLs 

Hard-coded links that contain the full URL can break if the site’s structure or URLs change.

For example, a page that moved from“example.com/products”to “example.com/store/products” could return 404 errors if any hard-coded links still point users to the first URL rather than the new one.

Outdated hard-coded links lead to dead ends. Because they weren’t updated when the site’s architecture changed. 

Broken Images

Links pointing to images can break when the image files are moved or deleted. Because the <img> link in the HTML code still points to the outdated location, but the image file is gone.

That displays the “broken image” icon that looks similar to this:

Broken image icon highlighted which looks like an image with a torn corner

When this happens, the page still contains the old image link pointing to the previous file location. But the image file itself is gone.

Domain Name Change

Links to redesigned, retired, or migrated external sites can cause outbound broken links that return 502 (bad gateway) errors. Which indicate their servers can’t be found. 

The resulting error page may look like this:

simple webpage says "502 Bad Gateway"

For example, your site may link to “company.com,” but visitors will get a 502 error if that domain no longer exists.

Why does this happen? 

Websites naturally change over time—their domains can be shifted, rebranded, or retired altogether. And if links to these sites aren’t updated to reflect changes, they continue pointing users to broken URLs.

Malfunctioning Plugins

Third-party plugins can lead to broken links if the code isn’t maintained.

For example, many websites use plugins to add social sharing buttons like the ones below.

X and Facebook icons highlighted on <a href='https://makemoneywithai.online/turning-ai-generated-blog-content-into-passive-income-streams' target='_blank' rel=blog post” data-original=”https://static.semrush.com/blog/uploads/media/e1/82/e18263ac4df774a4205af257620f31ee/c18661672ea51bc346b49342412a53a9/original.png” loading=”lazy” width=”1010″ height=”1121″ class=”lazyload ” data-src=”https://static.semrush.com/blog/uploads/media/e1/82/e18263ac4df774a4205af257620f31ee/c18661672ea51bc346b49342412a53a9/AD_4nXeWgaepTlDNCxo9c9SvwvZbqOAVQsxU5Q62l5szi2Ho2Qv-_CIrfMy0HnrJs1JlitdJOZ-n3GFfUIU-q-lbnUw0fY0ov2tRI2nj464x6xbQlfX2JrEpJyMP3cIQYuIQ8lLCfYMIOzzAiJ-mfRKzQtsX1ODH.png”>

But if the plugin used doesn’t maintain up-to-date code, that can result in an issue like a broken link error when a user clicks the button.

The Impact on SEO

Broken links can impact SEO in several ways:

  • Decreased site quality: Google wants to recommend useful, up-to-date sites. Too many broken links can signal that your site isn’t current or is poorly maintained.
  • More crawl errors: Google’s site crawlers (also called bots) crawl the web by following links between pages. When a bot hits a broken link, it creates a crawl error. Meaning that page can’t be fully crawled and indexed in search engines.
  • Wasted link authority: Internal links pass authority (known as link equity) between connected pages on your site. But when Page A links to a broken Page B, that authority doesn’t get passed on.

The more broken links on your site, the more significant the impact on your potential SEO rankings.

The Impact on UX

Broken links can severely harm the user experience (UX). Because visitors often get frustrated by dead links, making them likely to leave—and possibly never come back. 

Imagine a user is trying to find some information they urgently need, but they repeatedly land on 404 page errors due to broken links. That can lead to:

  • Confusion: Users who expect to see a particular resource when they click a link may become confused when they get an error message instead
  • Frustration: Users who click on numerous dead links will eventually get irritated. And probably perceive your site as untrustworthy and poorly maintained. 
  • Fewer visits: A user who leaves your site after having a bad experience isn’t likely to return in the future

It’s also important to keep in mind that UX can have an indirect impact on your SEO. So a poor experience can further harm your rankings. 

Site Audit 

Semrush’s Site Audit identifies more than 140 technical and on-page issues, including broken links. And you can set up regular site checks to stay on top of problems that arise.

Here’s how:

Open the tool and choose an existing project. Or create a new one by clicking “+ Create project.

create project button highlighted

Follow the prompts to finish setting up your project. 

If you need help, follow our guide for configuring Site Audit.

Then, click “Start Site Audit.”

site audit settings page

Once the audit is ready, click the “Issues” tab and enter “broken” in the search bar to find issues relating to broken links:

"broken" entered into Issues search bar

You may see a list with a few error types.

Click “# internal links are broken” if you see it.

list of broken link issues such as 17 internal broken links, 11 broken internal images, and 1 4XX status code

This will take you to a list of broken pages on your site.

Click one of the listed URLs for more information about it.

list of page URLs and the broken link URL

At the top of the next screen, click “# URLs” under “Incoming Internal Links” to see all the pages on your site that point to the broken page you’re analyzing.

148 URLs are incoming internal links to the broken page

Regular site audits with Site Audit can automatically detect broken links on your site.

In addition to detecting broken links and the pages that lead to them, Site Audit finds other issues affecting performance. Like:

  • Pages with slow load speed
  • Non-secure pages that pose security risks
  • Duplicate content (pages with identical or nearly identical content)

And it provides suggestions on the steps you can take to remedy any of those problems.

Google Search Console

Google Search Console (GSC) is a free tool from Google that allows website owners to monitor their site’s presence in Google Search results. And the Page Indexing report helps you identify broken links.

How do you find this report?

Log in to GSC and go to “Indexing” > “Pages” in the left-hand menu.

navigation in Google Search Console

The report shows indexed pages returning 404 or other errors. 

Why pages aren't indexed report shows 4xx status codes

Click “Not Found (404)” to see a list of pages returning 404 errors.

list of URLs with not found 404 code

Browser Extensions

Browser extensions like Check My Links and Broken Link Checker will automatically check links on pages as you browse. And highlight broken ones.

Simply install the extension in Chrome to add a plugin icon next to the address bar.

As you browse pages on your site (or another site), the extension analyzes all links in the background.

Any links that return 404 or other error codes will be highlighted on the page.

browser extension highlights error status codes on webpage UI

Manual Checks

Another option is manually reviewing site menus and pages to check for broken links or images. 

This gives you a user’s perspective of the broken links experience—but it can be pretty tedious. 

You may not need to fix all broken links immediately.

While broken links can frustrate users, a custom 404 page that communicates a page no longer exists and helps users navigate away can be OK for low-priority pages.

Google’s Search Quality Guidelines state that pages with a custom 404 error message page are often considered “medium quality” if they communicate the issue and help users navigate elsewhere.

You should address your site’s broken links that impact crucial pages and the overall user experience.

How?

Go back to the “Issues” report in Site Audit and click the “# internal links are broken” issue to see the list of affected pages. 

Site Audit internal broken links list

Assess whether these pages are crucial to your site.

If they are, consider them high-priority pages. Because this error prevents Google from properly crawling and indexing a page that you want to be discoverable in search results.

Update URLs for Pages That Still Exist

If the page still exists at a new location, you can update internal links pointing to it with the new URL.

There are a few options here:

  • Use a search-and-replace tool to update all instances of the old URL to the new URL in bulk. Many content management systems and plugins make it easy to do this.
  • Manually edit old links to point to the new URL. Double-check for additional occurrences on that page.
  • When linking to pages in your navigation menus, update the target URL in your menu builder/editor for page URLs that have changed

It’s also best to provide a close substitute for links to pages that no longer exist when possible.

For example, a link that used to go to “example.com/blog/types-of-cats” (which no longer exists) could be replaced with a link to “example.com/blog/kinds-of-cats” (which does exist).

For pages that no longer exist and don’t have a logical substitute, you’ll want to remove the links. 

Again, Semrush’s Site Audit tool will tell you exactly what broken links exist on each page.

You can then manually remove each of these broken links.

Redirect Broken Pages

Finally, use 301 redirects to forward visitors from broken pages to relevant new pages. Because these redirects indicate the content has permanently moved and tell search engines to pass link authority to the new URL.

And sending users to a relevant page with a 301 redirect improves the user experience compared to allowing them to land on 404 error pages. 

To create 301 redirects:

  • Use server rewrite rules if you have hosting access
  • Install a redirect plugin for content management systems like WordPress, Joomla, or Drupal
  • Use the built-in redirect manager for sites on Squarespace, Wix, etc.

Further reading: 301 Redirect: What It Is & How It Impacts SEO

Manually checking for broken links can be tedious. And easy to forget. 

For ongoing maintenance, automate broken link scans using Site Audit.

How?

When starting an audit, click on “Schedule” in the settings.

site audit setup with Schedule option highlighted

Then, select how often you want your site crawled to check for new issues like broken links. 

Site Audit schedule options include weekly for any day of the week, daily, or once

Regular website audits catch broken links early before negatively impacting users and SEO. 

Automating this process saves time over manual checks. And ensures a seamless experience for your visitors.

Leave a Reply

Your email address will not be published. Required fields are marked *