How to Find and Fix Broken links on Your Website – Are a problem that periodically afflicts any website: in fact, when we periodically edit our site by writing content, arranging the structure of internal links differently and so on, the links that work today they may, in theory, no longer work tomorrow. For example, if I link a source from another site, the other site is generally independent of me and could, in some time, change the URL without redirecting it, change the URL for various reasons or, again, delete the page .
This leads to linking to error pages which, in fact, can produce various problems:
- on the UX side , a non-exciting experience or a nuisance for users who visit us, who could always click on those links and arrive at inconsistent pages;
- SEO side a problem for Google which, one day, could scan that page and detect an inconsistent link.
To solve the problem, one should take the links leading to error or 404 pages one by one, edit them manually and repeat the operation to avoid the problem globally affecting our website. The options that we will see below are the ones that I use most often in my activities, and that I generally carry out – except in exceptional cases – at least once a month for each site that I manage.
How to Find and Fix Broken links on Your Website
Plugin WordPress (Broken Link Checker)
For WordPress, Broken Link Checker is a real must : it allows you to track broken links, and also offers you a very convenient interface to correct errors even in a massive way (that is, by groups of links at once). It is an excellent tool, but it must be used in the correct way : the plugin requires a fair amount of resources precisely because it has to scan the entire site, with the so-called Atomic option , which basically restarts the scan from scratch every time .
But this plugin crawls periodically, hogging a chunk of your site’s CPU and RAM resources, and all of that, of course, while your visitors keep coming to your site. So if you do a scan like this, first of all, it is advisable to stop any Google Ads or Facebook Ads campaigns in progress: the problem is that the site could go down during the scan .
When you go to the settings, I usually set it as follows, to have maximum efficiency and minimum impact on the site:
- Check links: every 168 hours
- Email notifications: disabled (they risk becoming too many)
- Link tweaks: enable only the first one (Apply custom formatting to broken links)
- Suggestions: Suggest alternatives enabled
- Alerts: Enabled
- Save the changes on this first page!
Then in the Search for links in box , select only the types that interest you to avoid overloading, then Posts , Pages and Comments , and then possibly other types where there may be 404 errors or broken links. As Article Statuses , select Published only . Which links to check is the same: select only what you need, don’t put too much stuff in between because your site could already go¹ during the crawl, otherwise.
In the Advanced panel there is the important part to avoid crashing the plugin:
- Timeout: at least 30 seconds (45 on less powerful servers or shared hosting)
- Link Monitoring: Both options ticked, in case of very cheap shared hosting uncheck Run in background every hour
- Maximum execution time: 420 seconds
- Server load limit: 2.0 seconds (must be slightly higher than the value next to Loading )
- Destination resource usage: 1% (generally it’s always good like this: detection is slower but at least it won’t disturb the site in its ordinary functioning)
If so, consider scanning for and fixing 404 errors only at certain times, such as at night or only while the site is undergoing maintenance .
A must-have software for any SEO: an autonomous crawler which in the free version scans up to 500 URLs at a time for each site, and which allows you to collect the scanned links by groups (code 404, 500, and so on). If you group all the 404 pages , in fact, you will automatically filter all the broken URLs on your site, with an indication of the page that contains it.
For professional SEO tasks on large sites you almost always need the paid version . Again, the tool is able to detect corrupted links in real time, even if it does not provide suggestions on how to fix them: you will always have to fix things in the best way, based on your own decision-making criteria.
Google Search Console
Even inside the Google Search Console there is a section to detect broken links on your site, obviously those that Google has “seen” during its scans. Just enter the site properties, go to Coverage , and click on the Error panel which will appear red. The histogram at the bottom will show how many and which 404 errors there are: but the graph still seems to be the result of internal evaluations by Google, so “according to him” there are errors but on the actual seriousness there is always a need for the opinion of a expert SEO technician.
Attention, therefore, that they are not all serious errors in the same way , so much so that sometimes Google SC shows soft 404s that are different from hard 404s, the difference between the two lies in the fact that the former are estimated as possible 404s , while hard 404s are almost certainly to be corrected.
In the screenshot below, errors due to broken links are generally related to the line corresponding to the 404 code, not to other errors (which depend on the server and can, however, be temporary in nature).
If there is a soft 404 it should be examined critically: in half of the cases I know of, it can be an accidental and minor error.
If the URL contains a noindex tag and it is detected, it is possible that Google got there accidentally (e.g. via badly set XML sitemap, but also via unverifiable external backlinks).
If there is a 5xx error , it is almost certainly a 500 error .
Finally, if there is a crawling problem , it may depend on poorly set robots.txt, incorrect visibility of the site at the <meta> level and so on (these are typical problems of many sites on which SEO has never been done, generally )