{"id":3165,"date":"2006-03-26T23:46:19","date_gmt":"2006-03-27T04:46:19","guid":{"rendered":"http:\/\/www.yummy-wakame.com\/archives\/2006\/03\/26\/3165"},"modified":"2006-03-26T23:46:19","modified_gmt":"2006-03-27T04:46:19","slug":"the-most-common-problem-with-custom-404-pages","status":"publish","type":"post","link":"https:\/\/yummy-wakame.com\/weblog\/2006\/03\/the-most-common-problem-with-custom-404-pages\/","title":{"rendered":"The most common problem with custom 404 pages"},"content":{"rendered":"<p>I&#8217;ve had custom error pages for ages and never realised until today that custom error pages need to be set up correctly in order to work according to web standards, and to keep search engines crawling your site happily.<\/p>\n<p>Basically my custom-created <strong><a href=\"\/errormsg\/404.php\" rel=\"external\">404 File Not Found page<\/a><\/strong> (and all the others) returned a status of <strong>200 (OK)<\/strong> in the header. A status of 200 means that the server was able to return content for the URL you requested. Usually a normal web page returns 200, saying all is ok &#8211; as is the case with my custom 404 page. I didnt realise I also need to return the correct status of 404 in the header of that page by using PHP.<\/p>\n<p><strong><a href=\"http:\/\/gsitecrawler.com\/articles\/error-404-200.asp\" rel=\"external\">GSiteCrawler<\/a> explain the whole thing in detail with instructions on how to adapt your custom pages &#8212; whether they be in PHP, ASP or ASP.NET &#8212; to return the correct status in the header.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve had custom error pages for ages and never realised until today that custom error pages need to be set up correctly in order to work according to web standards, and to keep search engines crawling your site happily. Basically my custom-created 404 File Not Found page (and all the others) returned a status of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[212],"tags":[],"class_list":["post-3165","post","type-post","status-publish","format-standard","hentry","category-blogalog"],"_links":{"self":[{"href":"https:\/\/yummy-wakame.com\/weblog\/wp-json\/wp\/v2\/posts\/3165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yummy-wakame.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yummy-wakame.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yummy-wakame.com\/weblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yummy-wakame.com\/weblog\/wp-json\/wp\/v2\/comments?post=3165"}],"version-history":[{"count":0,"href":"https:\/\/yummy-wakame.com\/weblog\/wp-json\/wp\/v2\/posts\/3165\/revisions"}],"wp:attachment":[{"href":"https:\/\/yummy-wakame.com\/weblog\/wp-json\/wp\/v2\/media?parent=3165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yummy-wakame.com\/weblog\/wp-json\/wp\/v2\/categories?post=3165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yummy-wakame.com\/weblog\/wp-json\/wp\/v2\/tags?post=3165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}