Watch out for sneaky 404s!
Removing 404 “Not Found” pages linked on a website is a basic, necessary and recurrent SEO task. Most of these errors are quite straightforward to identify and correct, by listing pages that contain a link to a 404 (many SEO tools allow to do so), and replacing or removing the link. But this may not be enough, as some 404s are sneakier than others: those linked on the website through redirections will remain. These dead ends can be identified with Botify Analytics.
Botify Analytics allows you to identify redirects to 404s easily, using the URL Explorer.
In the report, HTTP codes tab, click on the client errors block:
This displays a sample list of 404 (Not Found) and other client errors (such as 410 – Gone, 401 – Unauthorized, 403 – Forbidden), along with pages that link to them (their referrers).
Click on “Explore al URLs” to see the full list and explore results.
Let’s select only URLs which are the target of a redirection (add a filter to indicate that the “redirected from” flag must exist), and display redirections source URLs (start typing “redirected from” in the fields to display and select from the drop-down list – and remove some of the preselected display fields to get a leaner results table).
If there are different types of client errors, it’s also a good idea to filter on “HTTP 404”, then reiterate with other error types, as they will most probably have different causes.
Click on “Apply”.
In this example, we can see that some 404s are only found through redirects: they don’t have any internal incoming links.
In some cases, it can make sense to also check if there are redirect chains to 404s. This typically happens when:
We’ll need to first identify all redirect chains, and then match the results to the 404s above.
Going back to our example, if we change the selected HTTP status codes to 3XX, we’ll get all redirect chains (URLs that return a redirection, and are themselves the target of a redirection). Let’s also add “redirects to” to the fields to display and click on “Apply”.
As all information in the URL Explorer is URL centric (related to the URL in the first column), the first line in this example means:
[URL from “redirected from” column] — 302 redirect –> [URL from “URL” column] — 301 redirect –> [URL from “redirects to” column].
These results cover all redirect chains, whatever the HTTP status code of the redirection target (“redirects to” column).
If, as in our example, there are many redirect chains, we can narrow the results down by adding filters to :
In our example, it makes sense to:
If there are few results, looking at these results and the 404s from redirects will be enough to understand the situation. If there are quite a few results, then we’ll have to export redirect chains, export 404s from redirects and consolidate data with spreadsheet software to get redirect chains ending with 404s.
What if the redirect chain is longer than 2 redirects? This is more unlikely, but it can happen. We will also be able to detect that it’s the case as longer redirect chains will appear split into lines.
For instance, A → B → C→ D will appear as:
So to check for these, all we need is an additional consolidation step: build full redirect chains first, then consolidate with 404s from redirects.