Recently, while reviewing my site on Google there were a couple pages highlighted as having Soft 404 errors. This didn’t make any sense as the pages were in fact available.
The traditional 404 error is used to indicate when a requested URI is not found. This can be informative if requests are made to locations or documents on your website that don’t exist, and will apprise a user that what they are looking for is not there. For this message in the response document header the first line appears as follows:
HTTP/1.1 404 Not Found
This is telling us that we are communicating via an HTTP/1.1 standard and the status code for the response is 404. The browser has a mapping of standard HTTP response codes and may chose to notify the user accordingly.
The first line of a normal successful response will appear as so:
HTTP/1.1 200 OK
This denotes that a 200 or successful response was provided for a request.
Interestingly enough, one of the pages on my website this was returning a successful response but Google has flagged my page as a Soft 404 error.
Upon inspection of the page, there was a link to another website that was returning a 404.
So because a document on my site was linking to a location that was now not found, Google had flagged my page as a Soft 404.
After removing the stale link and using the Google Search Console to “Test Live URL” it was successfully accessed and now is included on search.
There was one other page also returning a Soft 404. As it turned out, it was actually referencing the previous document and so it had been excluded because it pointed to the a page which had a link to a location that could no longer be found.
The moral of the story is that over time you may find it necessary to prune links on your site that no longer exist in an effort to keep your content visible on Google.