My guess is that the reason so many SEOs ask the wrong questions is because they don’t have a technical background. I’m not sure how good Barry Schwartz’ technical knowledge is, but today he’s asked, “404 or 301 Your Old Pages? Which is Best For SEO?“
There are two questions here and there’s a fundamental problem with each. I’ll start with the latter for reasons you’ll discover later on.
Asking which option is best for SEO shows the typical SEO mind set; “will it affect my search engine rankings?” It’s a valid concern for any web site when you consider the huge percentage of traffic driven by search engines everyday, but it neglects the most important consideration for any web site owner: the visitors.
I guess I could be sparking a chicken-before-egg debate here but, it’s no good having great rankings that deliver lots of good traffic if the site doesn’t adequately serve the needs of those visitors, because too much emphasis has been placed on optimisation rather than usability. All that effort optimising the site will be wasted because the visitors just won’t convert.
So rather than asking, “what is best for SEO?”, ask “what is best for my visitors?”
This leads us nicely to the first question, “404 or 301 your old pages?” The issue here is that there are old pages that no longer exist and need a replacement.
First, though, what does a 301 and a 404 actually mean? The HTTP/1.1 Status Code Definitions define these as;
- Moved Permanently. The requested resource has been assigned a new permanent URI.
This effectively means that the page still exists but can be found somewhere else.
- Not Found. The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.
This tells us that the page that we’ve asked for isn’t available, but not the reason why.
If the page in question is still in existence but has just moved to a different web address (such as a new domain name) then a 301 should be used. If the page no longer exists, though, a 404 status should not be used. This is because we do know the reason why the page isn’t available and so we should use a status code that reflects that.
The status code that should be used is a 410.
- Gone. The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent.
Now we know that the page definitely doesn’t exist anymore and that we should stop our search for that page. It’s mainly common sense, but you need that technical knowledge of the different status codes, too.
In conclusion then; If you’re going to do business on the web effectively, you need to follow some basic rules.