X

Перевод сайта на HTTPs

👁1 007 просм.

Сегодня использование HTTPs протокола в интернет проекте является необходимостью. Этот факт стал очевидным после заявления специалистов Google, в котором сообщается что с января 2017 года все страницы сайтов, на которых не используется HTTPs протокол и собираются данные кредитных карт или пароли, будут помечаться в браузере Chrome версии 56 или более поздней как небезопасные. А в будущем планируется помечать любые страницы, не использующие протокол HTTPS, как небезопасные.

Более подробно мы рассматривали этот вопрос в статье «Зачем переходить на HTTPs протокол» .

Рассмотрим теперь, как правильно перейти с HTTP на HTTPs протокол, с наименьшими потерями для сайта.

Подготовка сайта к переходу на HTTPs протокол

Эта часть может занять довольно много времени, и потому лучше все подготовить до перехода на новый протокол.

Во-первых, нужно изменить все ссылки внутренней перелинковки с абсолютных в относительные.

Относительные ссылки могут быть двух видов:

относительные вне зависимости от домена
https://web-specialist.info/wordpress/vidy-ssl-sertifikatov — абсолютная,
wordpress/vidy-ssl-sertifikatov — относительная

относительные вне зависимости от протокола
https://web-specialist.info/wordpress/vidy-ssl-sertifikatov — абсолютная,
//web-specialist.info/wordpress/vidy-ssl-sertifikatov — относительная.

Лучше использовать относительные вне зависимости от протокола, поскольку эти ссылки не привязаны к протоколу, и не важно на HTTP или на HTTPs сейчас ваш сайт. Они все равно будут ссылаться на указанную страницу.

Ссылки на внешних сайтах менять не нужно, после установки SSL сертификата, мы настроим редирект со старых страниц, использующих HTTP на HTTPs протокол.

Во-вторых, нужно изменить все ссылки медиа-контента с HTTP на HTTPs протокол. Если контент расположен на вашем сайте, то их нужно изменить на относительные вне зависимости от протокола. Такие популярные популярные сервисы, которые позволяют внедрять свой контент, как YouTube, VK или Facebook давно используют HTTPs протокол, и с ними проблем не будет. Если же вы пользуетесь сервисом, на котором защищенный протокол шифрования еще не внедрен, то стоит подыскать ему замену. Если не поменять внутренние ссылки на HTTPs протокол, то есть опасность появления «смешанного содержимого». В этом случае, даже при установленном SSL сертификате, ваш сайт будет помечен как незащищенный.

В-третьих, нужно изменить подключение внешних скриптов. Здесь так же нужно изменить абсолютные 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>

Тот же принцип нужно применить и к остальным скриптам.

Приобретение SSL сертификата

Для того чтоб использовать защищенный HTTPs протокол для соединения с сайтом, необходимо приобрести SSL сертификат, который обеспечивает зашифрованное соединение с сайтом и установить его на хостинг, на котором расположен сайт. Какие бывают сертификаты и где их лучше купить мы рассматривали в статье «Виды SSL сертификатов«, потому заостряться на этой теме здесь не будем. Рассмотрим, что нужно делать после покупки сертификата.

Установка SSL сертификата на хостинг

В основном, если вы приобретаете SSL сертификат в той же компании которая обслуживает хостинг вашего сайта, то помощь в его установке оказывает их служба поддержки. Если у вас не получается самостоятельно установить сертификат, то можно заказать отдельную услугу по установке SSL сертификата на ваш хостинг.

После установки сертификата обязательно проверьте чтоб ваш сайт был доступен и по http:// и по https:// протоколам. Если хотя бы одному сайт не доступен, срочно ищите ошибку.

Так как разновидностей панелей управления хостингом довольно много, я не смогу описать здесь все возможные варианты установки сертификата безопасности. Но в ближайшее время планирую написать статью, как установить пробную версию SSL сертификата Comodo в панели управления хостингом ISP manager.

Настройка сайта для использования HTTPs протокола

После установки SSL сертификата на хостинг и его подключения к сайту, необходимо провести настройки для правильной работы сайта на HTTPs протоколе.

Во-первых, нужно настроить директиву в файле robots.txt. Поскольку сайт на HTTP и на HTTPs для поисковых систем два абсолютно разных ресурса, нужно указать, какое из всех зеркал является главным. Для Яндекса мы это указываем откорректировав запись «Host», в случае с моим сайтом это выглядит так:

Host: https://web-specialist.info

Во-вторых, нужно настроить 301 редирект с HTTP с HTTPS

Для этого в большинстве случаев в файл .htaccess, находящийся в корневом каталоге сайта, достаточно добавить такие строки:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Если это не сработает, то обратитесь в службу поддержки своего хостинга за помощью.

Оповещение поисковых систем о переходе на HTTPs

После того как вы все правильно настроили на сайте и HTTPs версия работает без проблем, для ускорения индексации и устранения возможных конфликтов с зеркалами сайтов, нужно добавить новую версию протокола в панель вебмастеров Гугл и Яндекс.

В Google и Яндекс нужно добавить и подтвердить новый https:// сайт. Для Гугла дополнительных настроек в определении основного зеркала домена делать не нужно, достаточно 301 редиректа на хостинге.

В панели управления Яндекс Вебмастер необходимо для HTTP сайта указать главное зеркало HTTPs. Для этого переходим в раздел «Индексирование» → «Переезд сайта» и ставим галочку в чекбоксе «Добавить HTTPs».

Так же нужно перенести все настройки в панели вебмастера на новую HTTPs версию сайта:

  • настройки региона
  • файлы Sitemap.xml
  • список ссылок в Disawov Tool для Google
  • исключенные параметры URL для Google
  • другое.

На этом наши манипуляции с переносом сайта на новый HTTPs протокол завершены. Проверяем еще раз, чтоб на сайте все работало, и ждем результатов индексации.

Категории: WEB разработка
Сергей Коваленко: @BlessSergeyКонсультирую и делюсь своим опытом Поисковой оптимизации (SEO), WEB разработки, настройки контекстной рекламы и рекламы в соцсетях. С 2007 года я занимаюсь работой в сфере информационных технологий. Начинал с работы мастером по ремонту компьютеров и компьютерной техники в небольшой компании. Затем, повысив уровень своих знаний и навыков, занялся удаленным администрированием информационно технических сетей предприятий. Побывал на должности руководителя отдела инженерно технических средств безопасности. Сейчас нашел себя в такой многофункциональной среде как WEB разработка. Развиваю свои навыки в проектировании и обслуживании сайтов на различных платформах. Изучаю WEB разработку на популярной CMS Wordpress, занимаюсь SEO оптимизацией сайтов, контекстной рекламой в поисковых системах Google и Yandex, а так же в социальных сетях Facebook и Vkontakte.