1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

soft 404 instead or normal 404 pages

Discussion in 'XenForo Pre-Sales Questions' started by diego222, Mar 9, 2013.

  1. diego222

    diego222 Member

    In Vbulletin 4 when a post is deleted, we get a "soft 404 error" (or 200, its the same) instead a normal 404 not found. Maybe that's good for the user, but not for google, because they want (and I understand it) that when a page doesn't exist, the server has to return a 404 page not found error instead of redirecting to another (soft 404 or 200).

    And.... what about Xenforo and this problem? By default it returns a soft or a normal 404 error?
     
  2. Arty

    Arty Well-Known Member

    For soft deleted threads:
    Code:
    HTTP/1.1 403 Forbidden
    Page exists, but users can't access it, so it shows 403 error
     
  3. melbo

    melbo Well-Known Member

    When i delete a thread in XF, it returns a 404
     
  4. diego222

    diego222 Member

    hehe the title can be confusing... I want normal 404, but Vbulletin throws me soft 404 (200 OK) when I delete a post and access that url, and Google Webmasters Tools alert me of that.

    Melbo, and that is by default? you didn't modify nothing?

    I don't know how god are IPB, but Vbulletin every day/each day sucks more. For the static part of the web I have personalized 404 error pages but all returns a normal 404 error instead of 200, and with a little line of code in .htaccess, its not so difficult (at least in the static part, I don't know in the forums).

    VB response for this problem: "We think in users, not in google"
     
  5. Teapot

    Teapot Well-Known Member

    XenForo's error pages nearly always return a proper error code. Missing pages return a proper 404 Page Not Found header, permissions errors return 403 Forbidden, and specifically disabled features (like if you turn off the News Feed) return 503 Service Unavailable.

    For curiosity's sake, XenForo actually allows you to set the error code explicitly; for example:
    PHP:
    $this->_response->setHttpResponseCode(404);
    makes the page return a 404 header in a View.

    Similarly, the code that fires the "News Feed Is Disabled" exception in the newsfeed controller looks like this:
    PHP:
    throw $this->responseException(
                    
    $this->responseError(new XenForo_Phrase('news_feed_disabled'), 503// 503 Service Unavailable
                
    );
     
  6. diego222

    diego222 Member

    (y) that's good, because the way it does VB ... it's not the way. I thought that having a personalized 404 page was no compatible with having a "real 404 error" and was obligatory a "200 OK error" (with the page personalized), but obviously that's not true and VB team are not interested in fix that and they only say something like "for code modifications go to vbulletin.org"...
     
  7. Teapot

    Teapot Well-Known Member

    Yeah, a page being a 404 error has absolutely nothing to do with the content. :) The 404 error code is set in the HTML headers - normally it's always 200 OK if the server hasn't set it otherwise, but applications can and should change it to reflect what the page says in human-readable terms - whether that be a 404, a 500 Server Error, a 301 Permanent Redirect, etcetera. In essence, the error code is what machines (Google) read, and the text on the page explaining the error ("We couldn't find this page. Maybe it was eaten by a grue?") is what human beings read. They should usually match.
     

Share This Page