- Rep Power
hard vs soft 404's
I have a personalized 404 for my website. Google tells me that there are a number of pages that showing as soft 404's. Meaning they do generate the typical 404 error code therefore don't show up as your typical bad linked 404 page.
How do I turn my 404.html page into a 404 page that returns the proper error message. I imagine it is something you put in the pages header?
The key is that your site must respond with status code 404 on pages/URL that you want to be considered as "Not Found". Since you have a custom 404 page installed, you can use one of the many online server response checkers to test how your site responds to various URLs. The conventional way to implement a custom 404 page is to add a command to your .htaccess file such as:
ErrorDocument 404 /404.html
which tells the server to send your custom page when a 404 error is detected.
"Soft 404s" are sometimes caused by scripts instead of the server software detecting an issue. For example, a script that depends on input from the user might generate a "soft 404" if the user's input was invalid or the request simply couldn't be fulfilled because a product was no longer available or some other issue. It's always best practice to insure that your site responds with an appropriate status code, but it's not always practical for individual webmasters to deal with every conceivable situation or to understand all of the technical issues involved.
Keep in mind that the Soft 404 warnings from Google are intended as advisories to help webmasters know about website issues that affect user experience. They're not intended as warnings that your rankings are in serious imminent jeopardy. If you understand why the warnings were generated, you can usually tell when they might actually cause problems for users and fix the problem. But if they only involve rare or unimportant situations, then you can keep things as they are without further concern. Good luck!
- Rep Power
Thanks for the response.
I am concerned about static html pages not generated php pages for the most part.
My custom 404 page is implemented via htaccess
ErrorDocument 404 http://www.******.***/404.html
I did a check on a status checker you talked about by putting in a bogus url. It didn't give me the 404 response instead I got a 302 redirect. "HTTP/1.1 302 Found" to be exact.
So how do I make invalid urls respond with the proper 404 response if I am redirecting them with .htaccess?
I found out the problem is with having the full url spelled out. Testing to see if moving my domain name will clear this up.
Ok that fixed it. I removed the http://www.mydomain.net part of the url and just left /404.html and it worked even in subdirectories.
Use a relative URL in the ErrorDocument command: "/404.html". When you use a complete URL in .htaccess, the server responds with a redirect code like 301 or 302 because it has to accommodate URLs from other domains. Good luck!