Fixing Broken Links on a WordPress Website
While maintaining a WordPress website, one of the things to regularly check is whether your site has any broken links. Broken links are not only a bad experience for the visitors but they can also have a negative impact on your site’s SEO. Luckily, there are a few tools you can use to quickly check and fix any broken links on your site.
Broken Link Checker
Broken links are essentially links that don’t work. If you click on them, they lead to a 404 page or to a page that doesn’t load at all.
Every couple of months, I perform a quick audit on my website to see if any broken links appeared. I use a free online tool called Broken Link Checker. You simply enter the URL of your website into the field and it will scan your site and check for broken links.
There are two main different types of broken links you’ll encounter:
Outbound Broken Links
When there’s a link on your site which leads to another site, that’s an outbound or external link. If that external site or that particular external page you linked to stops working at some point, your site is left with a broken link.
Example: While writing a post about chocolate, you linked to an article that provides a fantastic recipe for making homemade chocolate. After a couple of months, you check your site with Broken Link Checker and you find out that the homemade chocolate recipe link you added is broken. Their site doesn’t exist anymore. This is bad news for folks after that excellent recipe that’s not there anymore but it’s also bad news for your site because it now has a broken link.
When this happens, I suggest going into your article and manually fixing this. Try checking whether they changed their domain name and let the old one expire. Or maybe they just changed the slug of their article but forgot to add a redirection (we’ll touch this subject later in the article). There probably won’t be many cases like that one but if you linked to the same link (or domain) that’s now broken in quite a few articles, you can then use either a plugin or WP-CLI to fix this relatively quickly.
Fixing With a Plugin
If you opt for the plugin solution, I can suggest installing Velvet Blues, and once you activate it, navigate to Tools -> Update URLs inside your WP Admin area. You’ll see the following screen where you can update all references of the old URL to the new URL.
Fixing With WP-CLI
wp search-replace oldurl.com newurl.com
(I’d suggest always running a
--dry-run first, though, to quickly check on how many places the link appears)
Inbound Broken Links
Whenever you write a post, it will gain a unique slug. For instance, when you check the URL of this article:
fixing-broken-links-wordpress-website would be the slug. You can change the slug of an individual article inside the Permalink box of the Edit screen of an article:
However, if you were to change the slug of your article, the old permalink containing the old slug would lead to a 404 page not found. And if the post was already indexed by Google or linked on another site, someone who clicks on the link would not be able to find that post.
This might be the very case of our aforementioned chocolate recipe example. They might have ended up with a broken inbound link which in turn caused your site to have a broken outbound link. No good!
Whenever you change a slug of any post or page on your site, I’d suggest always adding a 301 redirection. Until recently, I was using the Simple 301 Redirects plugin for this but when I started using the RankMath SEO plugin (h/t to Milan), I found that it can automatically import all redirections from Simple 301 Redirects and then have you manage them directly inside RankMath’s settings.
This is what the redirections screen looks like on my site now:
Whenever I changed a post’s slug in the past, I added a redirection to the new slug thus making sure there are no broken internal links. However, RankMath automatically adds a new redirection from the old permalink to the new one so I don’t even need to do this manually anymore. That’s absolutely amazing, RankMath!
I can now be sure that if someone linked to any of my posts with the old slug on their own site (or found the old link on Google), that link would no longer be broken and it would automatically redirect to the new link. Something that the homemade chocolate recipe author should have done as well!
Another case of broken inbound links happens after you perform a site migration and change your domain name. To remedy the broken links on your site, you would need to use the aforementioned Velvet Blues plugin or WP-CLI command.
Having broken links is something everyone should avoid. Performing a regular audit with Broken Link Checker and fixing broken links, improves the visitors’ experience and also makes the relationship between Google and your WordPress website just a bit better 😎