Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

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

Broken links will frustrate your website visitors, leading them to ‘Page Not Found’ errors that leave them feeling lost. They can also hurt your WordPress SEO rankings, signaling to search engines that your site is outdated and poorly maintained.

The good news is that, using our recommended tools, identifying and fixing broken links in WordPress is easier than you might think.

This article 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 web 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.

Don’t want to fix broken links yourself? Let the experts at WPBeginner Pro Services handle it! We offer affordable Emergency WordPress Support to troubleshoot and fix common website problems like broken links, plugin and theme errors, image issues, and more. Schedule on-demand WordPress Support Services today!

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 WordPress 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 SEO 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 on search engine results pages (SERPs). 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 broken 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.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

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

68 CommentsLeave a Reply

  1. Mrteesurez

    Indeed, it is a bad experience for a using visiting a link and found it broken, it is disheartening. Thanks for your guide to find and fix broken link. I will have to stick the first method because it’s easy to fix with AIOSEO while it’s hard to fix broken links on Google Search console.

  2. THANKGOD JONATHAN

    I am using the free version of Broken Links Checker and it is the most easier to use broken links checker I have use. Very easy to find and fix broken links.
    Although it has a limit of 200 links but you can scan unlimited links strategically. That is, you can scan 200 links, fix them and then scan another 200 links, until you fix them all.

  3. Ahmed Omar

    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

    • WPBeginner Support

      You’re welcome, glad we could share this :)

      Admin

  4. Jiří Vaněk

    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.

    • WPBeginner Support

      Glad our guide could help :)

      Admin

  5. Ralph

    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.

  6. Ahmed Omar

    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!

    • WPBeginner Support

      Glad to hear you’re finding our guide helpful :)

      Admin

  7. Ethan Plunkett

    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.

    • WPBeginner Support

      Correct, thank you for sharing that information!

      Admin

  8. ian Kush

    You Rock! Thanks for making it easy

    • WPBeginner Support

      Glad our guide was helpful :)

      Admin

  9. Yash

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

    • WPBeginner Support

      It should check those links as well

      Admin

  10. Imran

    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.

    • WPBeginner Support

      Glad our guide was helpful :)

      Admin

  11. Raaz shrestha

    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.

    • WPBeginner Support

      You’re welcome, glad you’ve found our content helpful :)

      Admin

  12. Riky Fahri Hasibuan

    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.

    • WPBeginner Support

      You’re welcome, glad our tutorial could be helpful :)

      Admin

  13. Carol Mankin

    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.

    • WPBeginner Support

      Thank you, glad our content could be helpful :)

      Admin

  14. Janie

    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?

  15. Greg

    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 ;)

  16. Christopher

    Can Yoast Seo handle the same function of the broken link checker?

      • EFETACK

        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.

        • WPBeginner Support

          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.

  17. Andrzej

    One question: The best solution is unlinking or dismiss broken links?

  18. Sine Thieme

    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.

    • WPBeginner Support

      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

  19. SeLoRe

    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.

  20. Janie

    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

  21. MASI

    How can fix incoming broken back-links?

    • John Okosun

      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.

  22. AbbeyLashly

    I have tried this solution, but didnt work for me my website is thank you.

  23. Mazid Chowdhury

    I was really able to solve my broken links through this article. Thanks to the author.

  24. Ravi

    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?

    • Rick

      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.

  25. TJ

    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.

  26. Arieon Maison

    Just wondering if the plugin have some effect with the speed of the site.

  27. Jeanne Melanson

    Very helpful advice, thank you. Now I know what to do with my broken links. Cheers!

  28. kamal singh

    Thanks For Sharing this Great Plugins

  29. abhishek taneja

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

  30. Saurabh

    Is there any plugin available for the Blogger site??

  31. Amy

    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!

    • Editorial Staff

      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

  32. Corey

    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.

  33. Bongo

    Sounds useful, i wish it was around a year ago…

  34. Stijn

    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.

    • Mike

      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.

  35. Iris

    This will improve my work, a lot.

  36. Peter Gerwing

    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.

    • chathu

      Yes Same here. I have VPS with 1.5GB RAM. This plugin slowdown my blog.

      • Editorial Staff

        You’re not suppose to keep the plugin on. Use it during your spring clean up (like every 6 months). Turn it on. Check if everything is good, and then delete it.

        Admin

  37. Jeannette Paladino

    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.

  38. Ian

    Really realistic and useful.

  39. Martin Velthuizen

    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.

    • WPBeginner Support

      It is but running a script so many times particularly the one that keeps checking all your posts can be resource incentive on your website.

      Admin

  40. E.S. Ivy

    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!

  41. Monica

    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.

    • Frans

      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.

      • WPBeginner Support

        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.