Serving HTTP version of site to those who don't support HTTP2
Asked Answered
M

2

2

I'd like to move my client's site entirely to HTTPS in order to allow HTTP2 to work, however I was wondering is it ok (in the eyes of search engines) to serve older traffic (of which there is a lot and which would otherwise suffer a perf hit) that do not support HTTP2?

Is this dangerous to do from an SEO point of view? and

could you do the detection with tools like WURFL?

I want to stay current and offer improved perf/security to those on newer browsers but don't want those on older browsers in developing countries to suffer.

Myall answered 4/6, 2015 at 11:48 Comment(0)
S
2

For what is worth, I did some tests a few weeks ago and I got the impression that Google's spiders don't see HTTP/2 yet. But as @sbordet pointed out the upgrade to HTTP/2 is optional, so just be sure to have a site that also responds to HTTP/1.1. Here are a few thoughts more:

  • Google's algorithms will penalize slower sites, but it is unlikely that you will take a big performance hit from using HTTPS in your servers.
  • Using HTTPS can actually boost your SEO. Doesn't have anything to do with HTTP/2.
  • Popular browsers that don't support HTTP/2: Safari and IE. Safari doesn't support any TLS crypto-suite compatible with HTTP/2, AFAIK. But that won't cause problems as long as you list HTTP/2-compatible suites first in your TLS server hello: ECDHE-RSA-AES128-GCM-SHA256 and ECDHE-RSA-AES256-GCM-SHA384 are the ones I know of. Then you can list weaker suites.
Sibilate answered 10/6, 2015 at 17:30 Comment(2)
Thanks, do you have refs to this - Using HTTPS can actually boost your SEO ? Trust me i've done some perf tests and there is a massive hit. Is there a way to do it do you know? Nobody has suggested a way yet.Myall
I updated the answer to show you what I meant. I'm very interested on performance hits caused by HTTPS. Can you tell me more about your setup?Sibilate
E
0

You don't need to serve different content depending on whether you use HTTP/2 or HTTP/1.1, as your question title may hint (sorry if I misunderstood).

Also, just because you updated to HTTP/2, it does not mean that your server cannot serve HTTP/1.1 anymore.

You can easily update to HTTP/2, and retain HTTP/1.1 support for older devices or networks that do not support or do not allow HTTP/2 traffic.

Whether a client and a server can speak HTTP/2 is negotiated: only if the server detects that the client supports it, then it will use it, otherwise the server will fallback to HTTP/1.1. Therefore you don't risk to make your site unavailable for older browsers in developing countries.

Then again, HTTP/2 implementations may vary, but typically they have to be prepared to clients that don't speak HTTP/2, and use HTTP/1.1 for those (because otherwise they won't be able to serve content and it will appear that the service is down).

Excruciation answered 4/6, 2015 at 12:34 Comment(2)
Thanks for your reply sbordet , I think you're missing the point though. The site is currently on HTTP mainly due to the fact that serving it on HTTP is a quite a bit faster than HTTPS, despite being less secure. HTTP2 in implementations requires HTTPS. The content would still be the same, just on different protocols. From what I've read however, HTTP2 will be faster than our current HTTP setup for users that support it.Myall
@alexrogins You can have two connectors, one clear text and one SSL. With Jetty, both can speak either HTTP/1.1 or HTTP/2 . The issue then becomes one of how/when you might redirect a client from the plain text connector to the SSL connector (as most browsers will not speak HTTP/2 over plaintext)Conscript

© 2022 - 2024 — McMap. All rights reserved.