Use 301 or 303 to redirect http to https

34,624

When you redirect http to https, essentially you want to preserve the "link juice" from SEO perspective.

As you might know Google considers the number of backlinks a site has for ranking.

The main difference between the 301 and 303 redirect is essentially whether it passes link juice or not. There are technical differences like what you mentioned but from SEO perspective, 301 is a better choice.

Here is a blog post that shows how 303 might affect SEO of your site. https://digitalreadymarketing.com/303-redirect-effect-seo/

In case you are interested in learning more about duplicate content (http and https is a typical duplicate content issue), check this post. https://digitalreadymarketing.com/what-is-duplicate-content-how-to-find-solve-them/

Share:
34,624
garethb
Author by

garethb

Updated on July 22, 2022

Comments

  • garethb
    garethb almost 2 years

    I'm not sure which is the best to use for my site when redirecting from http to https. At the moment I am using IIS rewrite rules to do the redirect. The guides I've read on how to do this use either a 301 or a 303. And after reading up on 301 and 303, I'm still not sure which is best to use.

    My understanding is they are pretty much similar in what they do in regards to a redirect between http and https.

    Is there any difference and will it affect SEO in any way using one over the other?

    From the spec: 301

    The 301 (Moved Permanently) status code indicates that the target
    resource has been assigned a new permanent URI and any future
    references to this resource ought to use one of the enclosed URIs.
    Clients with link-editing capabilities ought to automatically re-link references to the effective request URI to one or more of the new
    references sent by the server, where possible.

    The server SHOULD generate a Location header field in the response containing a preferred URI reference for the new permanent URI. The
    user agent MAY use the Location field value for automatic
    redirection. The server's response payload usually contains a short
    hypertext note with a hyperlink to the new URI(s).

      Note: For historical reasons, a user agent MAY change the request
      method from POST to GET for the subsequent request.  If this
      behavior is undesired, the 307 (Temporary Redirect) status code
      can be used instead.
    

    A 301 response is cacheable by default; i.e., unless otherwise
    indicated by the method definition or explicit cache controls

    303

    The 303 (See Other) status code indicates that the server is
    redirecting the user agent to a different resource, as indicated by a URI in the Location header field, which is intended to provide an
    indirect response to the original request. A user agent can perform
    a retrieval request targeting that URI (a GET or HEAD request if
    using HTTP), which might also be redirected, and present the eventual result as an answer to the original request. Note that the new URI
    in the Location header field is not considered equivalent to the
    effective request URI.

    This status code is applicable to any HTTP method. It is primarily used to allow the output of a POST action to redirect the user agent
    to a selected resource, since doing so provides the information
    corresponding to the POST response in a form that can be separately
    identified, bookmarked, and cached, independent of the original
    request.

    A 303 response to a GET request indicates that the origin server does not have a representation of the target resource that can be
    transferred by the server over HTTP. However, the Location field
    value refers to a resource that is descriptive of the target
    resource, such that making a retrieval request on that other resource might result in a representation that is useful to recipients without implying that it represents the original target resource. Note that
    answers to the questions of what can be represented, what
    representations are adequate, and what might be a useful description
    are outside the scope of HTTP.

    Except for responses to a HEAD request, the representation of a 303 response ought to contain a short hypertext note with a hyperlink to
    the same URI reference provided in the Location header field.