Начиная с января этого года, Google Chrome помечает HTTPS сайты, как "Надежный".
Начиная с Chrome 56, все HTTP сайты, на которых размещены формы отправки данных, будут получать метку "Не надежный".
Исходя из этого, многие веб-мастера столкнулись с проблемой, что вроде бы уже время переводить сайты на HTTPS протокол для Google, но при этом Яндекс не очень положительно относится к HTTPS по следующим причинам:
1. Яндекс, в отличии от Google, не использует HTTP/2.
Если ваш HTTPS сайт доступен поддерживает HTTP/2, Яндекс будет все-равно использовать медленный HTTP/1.1 через механизм поддержки старых версий (fallback).
2. Многие веб-мастера неверно реализовывают поддержку HTTPS на своих сайтах.
Бывали даже случаи, когда сайты выпадали из индекса из-за неверной настройки сервера.
3. Возможны другие нюансы передачи веса ссылок HTTP зеркала.
Лично у меня, сайт внезапно выпадал за ТОП-100 по некоторым брендовым запросам, после выбора HTTPS, как главного зеркала.
Дальше я расскажу вам, как угодить клиенту, Google и Яндекс одновременно.
В результате, в поисковой выдачи Яндекс, у нас будет все тот же HTTP сайт, в Google HTTPS версия (по желанию), а клиент будет получать быструю HTTP/2 версию (если поддерживает, даже если он перешел по HTTP ссылке) или HTTP-версию, если он не поддерживает HTTP/2.
Первое, что нам нужно сделать, это включить поддержку HTTPS на сервере.
Опционально, я рекомендую включать поддержку HTTP/2, чтобы более 70% ваших пользователей, получали быструю версию вашего сайта.
Как это сделать на примере Ubuntu 16.04 LTS + Nginx + Let's encrypt (можно использовать любой другой сертификат, просто укажите на него путь и пропустите шаги для Let's encrypt)
https://www.digitalocean.com/communi...n-ubuntu-16-04
После включения поддержки HTTPS версии вашего сайта (предпочтительно HTTP/2), вы можете открыть ваш сайт, как по HTTP, так и по HTTPS протоколу.
Дальше, мы добавляем HTTPS версию нашего сайта в Яндекс вебмастер и Google Webmaster.
Открываем robots.txt и указываем (где site.com - адрес вашего сайта):
Host: http://site.com
Дополнительно, вы можете закрепить результат в Яндекс Вебмастер - Индексирование - Переезд сайта
Это означает, что Яндекс должен индексировать HTTP-версию сайта, как главное зеркало, несмотря на появления HTTPS-версии.
Если мы хотим, чтобы Google начал отдавать предпочтение HTTPS-версии, обращаем внимание на
<link rel="canonical" href="https://site.com">, который должна отвечать ваша HTTP-версия сайта.
То-есть, на странице http://site.com/1.html, должен быть указан <link rel="canonical" href="https://site.com/1.html">.
Многие CMS, например, WordPress, прописывают этот тег автоматически.
Просто убедитесь, что в настройках сайта, главным адресом указана HTTPS-версия, если вы хотите, чтобы Google ранжировал именно ее.
Яндекс будет игнорировать этот тег и использовать директиву Host.
Если вы хотите, чтобы Google тоже отдавал предпочтение HTTP версии сайта, тогда обязательно уточните наличие canonical, который указывать на HTTP версию вашего сайта.
Я рекомендую отдавать Google canonical на HTTP версию сайта ибо больших плюсов в ранжировании HTTPS вам не принесет, если вообще принесет сейчас.
Тема все таки направлена на угождение Google Chrome, в первую очередь и на минимальные колебания позиций в поисковых системах.
А теперь самое главное - ваш пользователь будет получать HTTPS версию сайта, даже если он перешел из результатов поиска, где указана HTTP ссылка.
Без редиректов!
И поможет нам в этом технология HSTS.
Это заголовок, который отправляет ваш сервер и говорит, что если клиент хотя бы раз открыл HTTPS версию, то любые запросы к HTTP должны обрабатываться, как к HTTPS.
Простыми словами, если вы зашли на HTTPS://site.com, набрав в адресной строке HTTP://site.com, вы получите все-равно HTTPS://site.com.
Это отличается от редиректа тем, что редирект отсутствует и клиенты, которые не поддерживают или не знают о HTTPS, все также будут получать HTTP версию.
HSTS поддерживают практически все браузеры, которые поддерживают HTTP/2 или SPDY/3.1
http://caniuse.com/#search=hsts
Ваш сервер должен возвращать следующий заголовок (именно такой, без нюансов - дальше объясню)
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
В инструкции от DigitalOcean, на которую я ссылался выше, уже включен HSTS, вам только нужно добавить preload после includeSubDomains;
Если вы следовали другой инструкции по установке HTTPS на сервере, вы можете отправить этот заголовок из вашей CMS следующим PHP кодом
header('Strict-Transport-Security: max-age=63072000; includeSubDomains; preload');
или установив соответствующий плагин для WordPress (там же можно запретить content sniffing и включить другие опции защиты перехвата и модифицирования трафика)
https://wordpress.org/plugins/security-headers/
Дальше, мы отправляем заявку, чтобы ваш сайт включили в список HSTS preload.
Если вы все правильно сделали, он будет включен в этот список в течение месяца.
Просто указываем адрес вашего домена
https://hstspreload.org/
Это означает, что все современные браузеры, которые поддерживают HTTP/2 или SPDY/3.1 (примерно 80% пользователей), будут получать HTTPS версию вашего сайта, даже если они никогда ее не посещали и запрашивают HTTP версию.
То-есть, Яндекс и Google (если вы так решите), будут сканировать HTTP версию.
В результатах поиска будет HTTP версия.
Но при переходе по ссылке из SERP, возможно два сценария:
1. Если пользователь использует современный браузер (такой, как Google Chrome/Opera Blink/Яндекс браузер/Firefox/Edge/IE11), он получит HTTPS версию по HTTP/2 (или SPDY/3.1) протоколу.
Без редиректов, с минимальной утереей производительности по сравнению с HTTP версией (HTTP/2 поддерживает сжатие заголовок, множество запросов по одному подключению и другие функции, благодаря которым, HTTPS версия будет работать все также быстро, как и HTTP).
2. Если пользователь использует старый браузер (Android 2.3, Nokia браузер, Opera Mini, Opera Mobile, IE8) пользователь получить HTTP версию сайта, которая будет у него работать гораздо быстрее, чем HTTPS на старом протоколе HTTP/1.1.
Таким способом, мы решаем следующие проблемы:
1. Google Chrome помечает ваш сайт, как безопасный.
2. Нам стают доступные новые технологии и преимущества HTTPS, типа Web Push, ServiceWorker, AMP без потери производительности и проблем с ранжированием в Яндексе.
3. Пользователи, которые выходят в сеть из старых и медленных браузеров (10-20%), будут получать HTTP версию, более производительную версию вашего сайта, тем самым, вы сохраните отличные поведенческие факторы.
4. Старые ссылки на HTTP версию и новые на HTTPS будут учитываться в одинаковой мере.
Я все-таки советую использовать HTTP ссылки по тем же причинам, что выше. - Пользователь всегда будет получать версию сайта, которая работает в его браузере лучше.
Но если кто-то из пользователь разместит ссылку на HTTPS, она будет ранжироваться, ничего страшного не случится.
Автора автора
Переход на HTTPS с сохранением позиций в Яндексе
Опубликовано Чт, 02/03/2017 - 19:32 пользователем wshurik