Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Find and Fix Broken Links in WordPress (Step by Step)

Everyone agrees that broken links are bad for user experience. But did you know that broken links can significantly hurt your WordPress SEO rankings?

Yes, it’s proven that having broken internal links on your website negatively impacts SEO.

In this article, we will show you how to easily find and fix broken links in WordPress so that you can improve your user experience and SEO rankings.

How to Find and Fix Broken Links in WordPress (Step by Step)

What Is a Broken Link?

A broken link, also known as a dead link, is a link that no longer works.

Broken links can happen for many reasons, but the most common reason is when a page is either deleted or moved to a different location, which causes the server to show a ‘404 not found’ error message.

On WordPress sites, broken links typically occur when moving a site to a new domain name or when deleting a post or page without proper redirection.

Sometimes, broken links can also happen due to a typo, and they can go unnoticed for months, if not years.

This is why it’s extremely important to regularly monitor broken links on your WordPress website and fix them so you can keep them from hurting your SEO rankings.

In this guide, we will share the top 5 methods to find broken links in WordPress. After that, we will show you an easy way to fix those broken links.

Here’s a table of contents for easy navigation:

Ready? Let’s get started.

The Broken Link Checker plugin by AIOSEO is an essential tool for making sure all of the links on your WordPress site are functioning correctly.

It regularly scans for broken links on your website, including internal and external links that result in a 404 error.

Unlike some other broken link checker plugins, it’s built as a SaaS service, so it won’t slow your website down. It also won’t be blocked by managed WordPress hosting companies like WP Engine because it uses an external private server to ping for broken links.

First, you will need to install and activate the Broken Link Checker plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Note: The free version of Broken Link Checker allows you to scan up to 200 internal links. You can upgrade to the Pro version to scan more internal and external links.

Upon activation, the Broken Link Checker Setup Wizard will start automatically to help you set up your account.

The Broken Link Checker Setup Wizard Will Start Automatically

On the next page, you can choose to create a free account or connect to a plan that you already purchased.

To create a new free account, simply click the ‘Create a Free Account’ button. You will need to fill in your name, email address, and phone number. You will also need to enter your credit card details so you can be upgraded when you go over the free 200 link limit.

Connect Your Site to a Free Broken Link Checker Account or an Existing Account

If you already purchased the Pro version, then you can click on the ‘Connect to an Existing Account’ button. You will be asked to sign in to your account, and then you can click the ‘Connect’ link next to your plan.

The plugin will now start working in the background to find links in your posts, pages, and custom post types.

You can go to the Broken’ tab to view the full report. The links are categorized into broken, redirects, and dismissed.

Find broken links and edit URLs with Broken Link Checker by AIOSEO

If you have been running your WordPress blog for a long time, then this report will include broken links to third-party websites as well.

You can quickly fix any broken links right inside of the plugin by clicking the ‘Edit URL’ link. Or, you can remove the link by clicking ‘Unlink.’ Once you are finished, don’t forget to click the ‘Update’ button.

Editing a Broken Link Using Broken Link Checker

Broken Link Checker will also give you ‘Status Details’ about each link when you click the Information ⓘ icon.

The information displayed includes how long the link has been broken, its HTTP status code, response headers, and more.

View status details on broken links

The plugin’s Settings tab lets you control which post types (posts, pages, custom post types) and statuses (published, draft) you want to monitor or exclude.

Broken Link Checker by AIOSEO will automatically scan your site every 3 days, so you won’t have to worry about broken links in the future.

Semrush is one of the best SEO tools on the market. It allows you to easily monitor your website’s SEO rankings and overall health.

It also includes a powerful site audit tool that crawls your website to find common errors and prepare a detailed report for you.

First, you will need to sign up for a Semrush account.

It is a paid service, but they offer a limited free account that allows you to crawl up to 100 pages on one domain name. Paid plan limits start from 100,000 pages a month.

Once you are logged in, you need to click on the ‘Site Audit’ link from the left menu.

This will bring you to the Site Audit page. From here, click on the ‘Create project’ button at the top to add your website.

Adding a New Site Audit Project in Semrush

You will be asked to enter the domain name you want to audit, and then you need to click the ‘Create project’ button.

After that, you will be asked to configure the site audit settings.

Type a Domain for Your New Site Audit Project

Semrush will now begin crawling your website for the site audit. This may take a few minutes, depending on how many pages you selected for the crawl.

Once finished, you can click on your domain under the ‘Site Audit’ section to view your report.

Semrush Report Showing Broken Links

Notice that the number of broken links is written in blue. That’s because it’s a link you can click to see more information.

You will see a list of broken links found on the crawled pages of your domain.

Broken Links Report in Semrush

You can now click on the ‘Export’ button at the top right corner of the screen to download your crawl report. You will need it when fixing broken links on your website.

Ahrefs is an excellent all-in-one SEO tool for marketers, businesses, and SEO professionals. It offers detailed SEO insights into your own website or any of your competitors.

You can use it for keyword research, competition analysis, organic and paid keyword ideas, and site health monitoring, including broken links. With the Site Explorer tool, you will get a complete backlink profile of your website.

First, you will need to sign up for an Ahrefs account. Note that it is a paid service.

Once you are logged into your Ahref’s dashboard, you need to enter your domain name into the ‘Site Explorer’ tool.

The Site Explorer tool will now crawl your website to prepare reports. This may take some time, depending on how much content you have on your website.

Once it is finished, you will see an overview of your Site Explorer results. From here, you need to click on the Pages » Best by links menu and then sort your report by 404 status.

Finding Broken Links Using Ahrefs

You can now export your report in CSV format to find and fix the broken links on your WordPress website.

MonsterInsights is the best analytics solution for WordPress. It automatically tracks broken links and 404 errors on your website by using Google Analytics.

Using the plugin, you can set up Google Analytics without editing code. It also lets you set up link and button click tracking, eCommerce tracking, author tracking, and more.

To start, you will need to sign up for a Google Analytics account and connect it with your WordPress website using MonsterInsights. For more details, you can follow our detailed guide on how to install Google Analytics in WordPress.

Note: MonsterInsights is a premium WordPress plugin, but we will be using the free version for this tutorial. However, you can upgrade to its Pro version for advanced tracking features, dashboard reports, popular posts features, and more.

Once MonsterInsights is active on your website, the plugin will start to track broken links and show you a report in Google Analytics. However, it might take up to 24 hours before you see any data.

To find broken links, you need to create an Exploration report in Google Analytics. This will take information about your broken links from MonsterInsights and display them in a list.

Once you log in to Google Analytics, you will need to navigate to the ‘Explore’ tab and choose a Blank report.

Create a Blank Explore Report in Google Analytics

Now, under Exploration Name, you can type a name for the report, such as ‘Broken Links’.

Next, you need to click the ‘+’ button next to Dimensions.

Creating a New Explore Report in Google Analytics

You will see a full list of the available dimensions for your report.

You need to search for the ‘Page title’ dimension and check its box. After that, you should do the same thing for the ‘Page path + query string’ dimension.

Importing Dimensions to Your Report

Once you’ve done that, just click the ‘Import’ button at the top right of the screen.

Next, you need to import a metric. This time, you should click on the ‘+’ button next to Metrics and import the Sessions metric.

Import the Sessions Metric to Your Report

Now, you can add the items you imported to your report.

First, you need to drag both Dimensions to the Rows box in the second column. After that, drag the Sessions metric to the Values box.

Drag the Variables to the Settings Column

Next, scroll the second column down to the Filters section.

You need to click the box that says ‘Drop or select dimension or metric’. After that, click on ‘Page title’ from the menu.

Create a New Filter Using the Page Title

Now, under Conditions, you need to select ‘contains’ from the dropdown menu and then type the page title for your website’s 404 page, such as ‘Page not found’.

Tip: If you are not sure of the title of your website’s 404 page, then type a random URL after your domain name, such as https://example.com/xyz and then check your browser’s tab for the title.

Page Title Filter Conditions

Once you’ve done that, you can click the ‘Apply’ link.

On the right of the page, you will now see a report of all of the 404 errors that occurred during the report’s time frame. However, in most cases, the ‘Page page + query string’ column will be cut off so that you can’t see the full URL.

404 error pages in Google Analytics 4

To see the URLs, you will need to download the data. Simply click the ‘Download’ icon at the top right of the page.

When you view the downloaded data, you will see that most of the URLs look like this:

/404.html?page=/error-page-url/&from=http://example.com/page/

The part of the URL that shows your broken links comes after ?page=. In the example above, this is https://example.com/error-page-url.

The part of the URL that shows the page containing the broken link comes after &from=. In the example, this is http://example.com/page/.

You can use this information to fix the broken links. We show you how to do that in the last section of this article.

To see this report in the future, simply visit the ‘Explore’ tab in Google Analytics.

Google Search Console is a free tool offered by Google to help webmasters manage their sites’ visibility in search results. It also notifies you about errors, including 404 errors that are caused by a broken link.

First, you will need to set up Google Search Console for your website. For step-by-step setup instructions, see our ultimate Google Search Console guide.

After you have logged in to your Google Search Console account, just click on the ‘Pages’ link from the left menu.

Google Search Console Pages Report

Next, make sure the box next to ‘Not indexed’ is checked.

This will make sure that you will see any 404 errors that were encountered by users when visiting your website.

Google Search Console Pages That Aren't Indexed

When you scroll down to the section titled ‘Why pages aren’t indexed’, you will see one reason listed as ‘Not found (404)’.

When you click on this item, you will see a list of all broken links that caused a 404 error.

A List of Pages Not Found in Google Search Console

We have shown you 5 different methods to find broken links in WordPress. Now, let’s talk about how to easily fix broken links in WordPress.

The best way to fix a broken link is to redirect it to another page.

For example, if you moved the contents of an article to a different address, then you will need to redirect it to the newer article.

Similarly, if an article does not exist anymore, then you will want to point users to a similar page that is closely related to the contents of the old article.

You can do this by setting up 301 redirects.

The easiest way to fix broken links and set up redirection is by using the All in One SEO (AIOSEO) plugin for WordPress. It offers a powerful redirection manager that helps you track 404 error pages and create 301 redirects.

Note: We will be using the AIOSEO Pro version because it includes the redirection manager addon and offers multiple types of redirections.

First, you will need to install and activate the AIOSEO Pro plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, you need to visit the All in One SEO » Redirects page and then click the ‘Activate Redirects’ button.

Activate AIOSEO Redirects

Next, you will need to go to the ‘Settings’ tab under Redirects and enable 404 logs. You can find the option in the ‘Logs’ section.

AIOSEO will also let you set the time period to record your 404 logs using the dropdown menu. We suggest that you select no longer than one month for smooth and optimal performance.

Enable 404 Logs

After that, go ahead and click the ‘Save Changes’ button.

You will now see a ‘404 Logs’ tab appear in the Redirects section in AIOSEO. Go ahead and click on the tab.

When you first enable the 404 logs option, there will be no data on this page. The plugin will only start to monitor and record 404 pages after enabling the settings.

However, once it’s active, AIOSEO will show a list of broken links on your website under the ‘URL’ column. It will also show you how many people visited the link under the ‘Hits’ column and the last accessed date.

404 Logs Under Redirects

You can now click the ‘Add Redirect’ button for any broken link you want to fix. When you click the button, you’ll see redirection options for your 404 error URL.

Simply enter the Target URL where you’d like to redirect your visitors and select ‘301 Moved Permanently’ as the redirection type from the dropdown menu. Once you’ve done that, you should click the ‘Add Redirect’ button.

Redirecting a 404 Error Using AIOSEO

You can now test this by visiting the old broken link, and you will be redirected to the new page.

Just repeat the process for all broken links on your website.

For more information, see our guide on how to set up redirects in WordPress for beginners.

Now that you have found and fixed the broken links on your WordPress site, you may be wondering about other ways to use internal links to improve your site’s SEO. Here are our best guides on internal links:

We hope this article helped you learn how to easily find and fix broken links in WordPress. You may also want to see our guide on how to set up an SEO-friendly URL structure and our expert pick of the best internal linking plugins for WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

67 CommentsLeave a Reply

  1. Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. recently, I faced a problem like this, and I did not know that the link is not working till one of the visitors contacted me I had to correct it manually.
    Now with theses option it will solve the problem and guarantee that it will not happen again.
    Thank you

  3. After reading this article, I realized that I hadn’t actually tested my own website for the presence of broken links for a very long time. All this while, I assumed everything was fine. Upon scanning, I discovered an error even in my own links. I had modified the URL structure by adding CS and EN to the URL due to the new Polylang setup. Naturally, it found dozens of links that were incorrect and that I had to adjust. So, it really makes sense to periodically scan the website for this issue. Not just for internal links but also for external links that may eventually lead to discontinued pages. At least now, it cleaned up my website from non-functional links. Great.

  4. Google Search Console looks like best bet for me, at least, the easiest as i don’t use other provided solutions. This will help me fix some errors.

  5. I’m particularly using Google Search Console for tracking and resolving these issues of broken links.
    but the other methods is good as well but I think some of them needs premium.
    This guide will undoubtedly help me enhance my website’s overall health.
    Much appreciated!

  6. Heads up. Google search console’s 404 links only include broken internal links (back to your site) and will not detect broken outgoing links to other sites.

  7. I am using broken link check WordPress plugin. Is it possible to check broken link for custom buttons?
    Please help me.

  8. This article was super helpful in solving 404 errors on our website as we switched from joomla to wordpress, thank you so much, now our website is doing great.

  9. Thanks for the great stuff on link broken. The article were amazing. It not just only shows to find the broken link but the way you give the solution for the problem is always the best part.

  10. This is what i’m looking for! i have 301 redirecy plugin in my website but i have no idea how to use it properly.

    thank you so much for this useful tutorial.

  11. Thanks for sharing this blog. Your blog is very informative regarding broken websites. The points you shared, are very useful for broken website repair services. It is important that everyone must follow some good tips for their broken website.

  12. I installed this plug in and it says no broken links detected. I cannot imagine that is accurate because the site is big and definitely has some broken links. Do I need to reconfigure something to get it to run accurately?

  13. Thank you for this great post !

    Do you know how to bulk export broken links with this plug-in ?
    Or maybe, if you have one in stock, even a MySQL request could be used to export them within phpmyadmin.

    Cheers ;)

      • Well, I have just read that Yoast SEO has this function, too. It detects and corrects broken links, even directly from Google Console, if wanted, and with a easy button in tool bar, but only Premium version. So have to pay for it.

        I am wondering, if I can keep trusting you guys, seeing that you don’t answer to all questions here, and also how can you review a plugin when it is not updated for over a year???
        In WP > install New Plugin > the thumbnail is even missing of this plugin.

        Wow.

        • Thank you for your feedback, we are working on improving our answers to comments. For clarification, this article was updated in August, we will certainly look into updating articles such as this one as we find they need updates so thank you for letting us know that we should look into this article.

  14. I’m pretty sure I already know the answer but I’ll ask anyway: This is just for self-hosted sites on WordPress.org, not WordPress.com, correct? Is there ANY way to check broken links on a WordPress.com blog? I am in the process of converting from Blogger and I have over 700 blog posts that ALL have internal links. In other words, a big pain. I suppose I’ll eventually have to manually fix them in any case, but seeing the broken links would give me a priority of which ones to fix first.

    • Hi Sine Thieme,

      Yes, this is for WordPress.org websites. We will suggest that you export your blog posts in XML format using the built in WordPress.com export tool. After that you can use an advanced text editor like Notepad++ or TextWrangler (for Mac), use simple search and replace tool in the editor to replace old blogger URLs with your WordPress.com URLs.

      Admin

  15. After I activate that plugin I got error.

    The plugin generated 1690 characters of unexpected output during activation. If you notice “headers already sent” messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.

  16. Hi-

    I use Link Cloaker and it seems that Broken Link Checker is not picking up the links that are not good because those bad links are directed to my homepage. I don’t want those links to be directed to my homepage. I want them to come up as broken so I can fix them.

    How can this be fixed?

    Thanks

    • You can fix that by performing a 301 redirection.

      So whenever such a link is access from another site, your site simply redirects the person to a new URL.

      A plugin for this is redirection WordPress plugin

      Hope that helps.

  17. Thanks! I’m running Broken Link Checker now to fix dozens of broken links on my site. My google organic search traffic plummeted this year after moving to a new domain…and wasn’t sure why. I think broken links is the reason (just realizing a lot of my old posts are busted).

    Has anyone had direct experience with improved google ranking SEO after fixing broken links? What was the before/after result?

    • I’ve been using broken link checker for a while at this domain. After fixing them, seems fairly frequently, I need to do so again, say a few weeks after fixing a bunch.

  18. I do not recommend this plugin. It is a serious CPU hog that will slow down your site and possibly use up your CPU allocation. A number of host providers have banned it. If you want to check your links you are better off running an app from your computer to check run an external check.

  19. I found 34 broken links in my blog..Thanks for sharing this article , it has been useful for me

  20. Broken Link Checker has been very handy for me – but what is that Green Tab (shown in this post’s last screenshot and is there any way to hide it?

    This is extremely confusing for clients and I find it even worse than sidebar ads.

    Any ideas on how to manage this? Thanks!

    • Unfortunately, no way to get rid of it without editing the plugin (at least that is our understanding). You can always contact the plugin author and make a suggestion.

      Admin

  21. What do you do if it tells you that some links are broken but they are not? I went to the pages and double checked the link and it works fine.

  22. Used BLC in the past. It’s good to use from time to time, but creates a lot of bloat in your database. That’s probably because of my massive post archive.

    • STUN, did the same on my site…over 6,000 posts. However after running the WP-Optimize plugin, the database was nice and clean again.

  23. I use wpengine.. This is what they have to say about:

    “There’s another class of plugins that we disallow simply because they cause a high load on our servers or create an unnatural number of MySQL queries.

    Broken Link Checker — Overwhelms even our robust caching layer with an inordinate amount of HTTP requests.”

    On their hosting service it is a disallowed plugn!

    “wpengine” reccommends:

    To track traffic in a more scalable manner, both the stats module in Automattic’s Jetpack plugin and Google Analytics work wonderfully.

  24. I use Broken Link Checker and it is very useful. But why would you disable the plugin after using it the first time? I receive notifications every few days that the plugin has found a couple of more broken links. Usually, because when an a site I linked to has shut down, or the link has become corrupted or a blogger removed a post, — any number of reasons. It is not helpful for SEO — or to your visitors — when they click on a bad click. I believe Broken Link Checker should be active all the time.

  25. Thank you for letting us know about this great plugin! Started to use it on some website right away.

    I don’t understand why I should disable the plugin after initial use and wait 6 months to run it manually again. It appears to me that I can leave it Active, and it will check the links automatically every so many hours and send me a mail if it has found a broken link. Much better, isn’t it?

    Thanks in advance for your opinion on this.

  26. I want to finish seeting up my .org site first, but as I’m moving from .com this will be a great tool! Thank you!

  27. I installed the Broken Link Checker plugin a few months ago and immediately following the installation my site crashed. I would love to have it but I am afraid to install it again.

    • I had the same problem, I had to delete the plugin by FTP, because the rest of my screen was whit and it was nog possible to active or deactive it.

      Sad, because in my other site it worked well, both site are on the same server.

      • You can temporarily switch to a default WordPress theme like twenty twelve and then activate the plugin. If it works you can then check for broken links, fix them, and then revert back to your own theme.

        Admin

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.