Переход с HTTP на HTTPS

Зачем переходить на HTTPS? Зачем этот бубен? И все кому не лень начинают кричать о безопасности, о SSL сертификатах! Знайте Вас запугивают! :-) Действительно протокол HTTPS более безопасен, но это не главная причина зачем нужно переходить на него. В интернете куча простых текстовых HTML сайтов и им по БАРАБАНУ будут они сильней защищены или нет!

Главная и единственная причина перехода на HTTPS это новый протокол Коды состояния HTTP. Методы и структура протокола HTTP/2 (изначально HTTP/2.0), который Google использует ТОЛЬКО с использованием Что такое SSL сертификат для сайта, почты сертификатов. Замечу стандарт HTTP/2 НЕ требует использования защищенного соединения.

Выводы:

  1. Переходом на HTTPS мы ускоряем наш сайт, разрешая использование протокола HTTP/2!!!
  2. Переезд вашего сайта c HTTP на HTTPS это просто хотелка корпорации Google. :-X Вынесем за скобки хорошо это или плохо :-D
SEO взгляд на HTTPS: С недавнего времени поисковые системы стали отдавать предпочтения сайтам, использующим защищенный протокол HTTPS. Поэтому, оценивая большие возможности появления нового фактора ранжирования по протоколу, настоятельно рекомендуется перевести сайт на защищенную версию.
  1. Покупаете SSL сертификат. Нам нужен обычный SSL-сертификат Domain Validation. Мой выбор бесплатный сертификат от Где получить SSL сертификат бесплатно? Использование центра сертификации Let’s Encrypt.
  2. Настраиваем, чтобы сайт был доступен ОДНОВРЕМЕННО по двум протоколам HTTP (порт TCP 80) и HTTPS (порт TCP 443)
  3. После перехода на HTTPS необходимо сообщить SEO специалисту, чтобы он в Инструменте для вебмастеров Google и Вебмастер Яндекс указал нужный домен.
  4. Настройка robots.txt и XML-карты сайта: правим в robots.txt параметр Host для Яндекса и параметр Sitemap:
    https://domain.com/sitemap.xml
    Host: https://domain.com
  5. Изменить главное зеркала на странице «Настройки индексирования — Переезд сайта» сервиса Яндекс.Вебмастер для http версии сайта.
  6. Ждем 2 недели 8-o 8-o 8-O !! Короче ждем Яндекс, пока он не разродится сообщением в Яндекс.Вебмастере, что он определил главное зеркало в группе зеркал сайта!!
  7. И только теперь 301 редирект с HTTP на HTTPS. Можно использовать эту инструкцию Перенаправление HTTP запросов на HTTPS в Apache, а лучше разобраться и автоматизировать при помощи Let’s Encrypt - полный листинг правильного редиректа.
  • Смена ссылок внутренней перелинковки с абсолютных на относительные. Для того чтобы начать переход на HTTPS, еще перед сменой протокола рекомендуем абсолютные внутренние ссылки на сайте заменить на относительные. Например,
    http://domain.com/landing/ заменить на //domain.com/landing/ или
     на формат URI /landing/
  • Исправление вложений медиа-контента. Изображения, видео, презентации, и др. необходимо тоже все перевести в относительные адреса, и тогда при переходе на HTTPS медиа-контент также должен подгружаться с защищенных сайтов:
  1. Если используемые картинки хранятся на нашем сайте, то просто используйте относительные адреса.
  2. Если подгружаются картинки с внешних ресурсов (CDN или других сайтов), то они также должны поддерживать HTTPS, иначе стоит отказаться от этих вложений.

Популярные сервисы, которые позволяют внедрять свой контент, типа YouTube, SlideShare, виджеты VK или Facebook, и другие, уже давно поддерживают HTTPS, поэтому с ними проблем не возникнет.

Но если есть медиа-контент с непопулярных сервисов, то уточните, будет ли этот контент работать/отображаться, если вы смените протокол.

  • Исправление подключений внешних скриптов. Необходимо во внешних скриптах также нужно использовать относительные URL. Например, для библиотеки jQuery, вместо кода:
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">
    </script>

    Нужно использовать:

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">
    </script>

Также и с другими скриптами: Яндекс.Метрика, LiveInternet, Google Analytics, Яндекс.Директ, различные javascript библиотеки и др. Здесь принцип тот же: популярные сервисы и библиотеки поддержкивают HTTPS, а вот с непопулярными могут возникнуть проблемы.

Важно: Также следует изменить URL в атрибутах rel=”canonical”; link rel="alternate" hreflang (при наличии нескольких языковых версий); rel="next" и rel="prev" (на страницах пагинации).

Существует несколько видов SSL-сертификатов по степени защиты:

  • Organization Validation. Подтверждает домен и организацию. Могут проверить информацию в прессе, наличие компании в Whois, свидетельство о государственной регистрации. Средняя цена колеблется от $40 до $200 в год.
  • Extended Validation. Сертификат с расширенной проверкой — для его получения проверяется наличие компании по адресу, свидетельство о регистрации, операционная деятельность, торговая марка. Все для того, чтобы получить зеленую строку в адресной строке браузера. Стоимость в среднем от $120 до $300 в год.

Существует и классификация сертификатов по функциональности:

  • обычные SSL-сертификаты;
  • Wildcard сертификаты — используйте, если хотите установить HTTPS на поддоменах;
  • SAN сертификаты — используется для нескольких доменов.

Нам нужен обычный SSL-сертификат, Domain Validation. После установки сайт должен стать доступен как по http, так и по https.

После получения сертификата и переходе на HTTPS необходимо сообщить SEO специалисту, чтобы он в инструменте для вебмастеров указал нужный домен.

После выбора сертификата необходимо установить его на сервере:

  • Сервер должен поддерживать SSL-протокол.
  • Установка выполняется через панель управления хостингом.

https://www.ssllabs.com/ssltest/analyze.html

Вот так будет выглядеть результат, если все хорошо:

и так, если есть проблема: в этом случае в настройках моего сервера Apache не был настроена опция Forward Secrecy (как исправить читаем Configuring Perfect Forward Secrecy и выбираем вариант без RC4).

Обязательно протестируйте настройку SSL и проверьте как отображается сайт в разных браузерах, в том числе на мобильных устройствах: отдельно проверьте сайт с iPhone и Android. Если есть критичные проблемы, необходимо провести настройки по их решению.

Необходимо создать карту сайта со ссылками на https-версии страниц сайта, и обеспечить ее доступность по ссылке https://domain.com/sitemap.xml. Указать адрес желаемого главного зеркала с помощью директивы Host в файле robots.txt. Например: Host: https://site.ru

Также нужно обеспечить доступность файла robots.txt по двум протоколам и привести к следующему виду:

Было для версии HTTPСтало для версии HTTPS
User-Agent: *User-Agent: *
Disallow: Disallow:
Sitemap: http://domain.com/sitemap.xmlSitemap: https://domain.com/sitemap.xml
User-Agent: YandexUser-Agent: Yandex
Disallow: Disallow:
Sitemap: http://domain.com/sitemap.xmlSitemap: https://domain.com/sitemap.xml
Host: https://domain.com/Host: https://domain.com

Сообщить роботу об изменениях в отношении главного зеркала на странице «Настройки индексирования — Переезд сайта» сервиса Яндекс.Вебмастер для HTTP версии сайта.

После выполнения всех выше указанных пунктов необходимо настроить постраничный 301 редирект с HTTP версии сайта на HTTPS.

Дождитесь склейки доменов, у Яндекса это может занять несколько недель, дождитесь сообщения в Яндекс.Вебмастере. И только после получения сообщения настраивайте 301 редирект.
PQ VPS сервера в 28+ странах.