1

I have created a brand new website in which I publish various computing services I suggest to potential customers.

As far as I know, no other website on the World Wide Web links to that website and today in nearly mid 2021 when people create backinks, they normally just make them "example.com" (no http:// or https:// and no www.).

After testing the website in Google Pagespeed Insights I got only one error about slow loading times due to the specific reason of four redirects:

http://example.com | 630 ms
https://example.com | 480 ms
http://www.example.com | 630 ms
https://www.example.com | 480 ms

While I need the www. for a CDN to protect from possible DDoS attacks and using HTTPS as a web standard, principally I would never create non HTTPS backlinks to my website and don't worry from anyone on the planet doing that.

Given the current HTTPS culture and my site being currently backlinkless, should I remove HTTP to HTTPS redirects to fix performance problems reported by Google Pagespeed Insights?

Update --- current .htaccess redirection directives

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
8
  • When you say there are four redirects, is that a redirect chain where you hit the 1st, it redirects to the 2nd, then the the third, and finally to the fourth? – Stephen Ostermiller May 20 at 17:57
  • @StephenOstermiller I think that this is what happens ; I am not 100% sure myself... – RAMOS May 20 at 18:02
  • If it matters, my hosting is shared (namecheap, Stellar Business plan). – RAMOS May 20 at 18:02
  • If this is your redirect chain, then it is wrong to do it like that, as you switch from HTTPS to HTTP in the middle of things. You should stay in HTTPS all the time (and if possible collapse all redirects to just one). Other than that for anything new I think you shouldn't even bother to provide an HTTP version of the site, and just run out of port 443. – Patrick Mevzek May 20 at 19:04
  • @PatrickMevzek thanks, I wish I knew how to change my hosting partition to the scheme you have described; as this is a shared hosting environment I doubt that I have any control about this, but please allow me to update the question with an example of the current .htaccess redirect pattern. – RAMOS May 20 at 19:15
2

You should not remove HTTP to HTTPS redirects.

  • Removing them won't fix performance problems. Redirects only make it slower when users encounter them and most users should never see the redirects. Once a user is on your site (https://www.example.com/), all the links should keep the https and www. Users should never need the redirects once they are on the site.
  • Some other sites may be linking to you with http or without www. If you stop serving http those links would break.
  • Type-in traffic typically hits http before getting redirected to https. Users that type in "example.com" typically don't go straight to https. A few browsers can now be configured to try https first, but it isn't the norm yet.
  • If you are on shared hosting, you don't have the ability to turn off http. Shared hosting web servers are configured for http and https, there is no site-specific way to turn off just one of them. You could configure your site to serve an error for http, but you wouldn't be able to stop the webserver from responding to http requests.

The best thing to do is remove redirect chains. Your .htaccess rule currently has non-www traffic redirecting to http with the www. You should change it to redirect to https:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

It is usually desirable to also redirect http to https in the same rule:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule (.*) https://www.example.com/$1 [L,R=301]

You'd have to edit your site in place of example.com when using the rule.

5
  • Much thanks Stephen; I find this topic a bit confusing (why can't Apache PCRE be more simple and intuitive like Bash or modern JavaScript are?...) – RAMOS May 21 at 6:41
  • I understand the combined rule as: REDIRECT HTTP-NON_WWW, HTTP-WWW and HTTPS-NON_WWW to HTTPS-WWW is that correct? – RAMOS May 21 at 6:41
  • that is correct. It redirects any combination except for the desired one directly to the desired one. – Stephen Ostermiller May 21 at 8:16
  • @RAMOS "why can't Apache PCRE be more simple and intuitive like Bash or modern JavaScript are?" - the regex engines used by Apache, Bash and JavaScript are all very similar. In fact, in the context of the directive above, they would be "the same". (Maybe you are not referring to regex, but to the syntax of the directives instead?) – MrWhite May 21 at 10:21
  • @RAMOS For simple needs, Apache RedirectX directives are enough, you should look at them instead of RewriteX. I never understood why everyone uses mod_rewrite for needs completely fulfilled by mod_redirect. – Patrick Mevzek May 21 at 18:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.