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

Активный переход на HTTPS начался еще в 2016 году. Это было связано с тем, что Google начал помечать сайты без SSL-сертификатов как небезопасные.

Чтобы помочь пользователям правильно перенести сайты на HTTPS, Google опубликовал рекомендации и принципы по переезду. Но несмотря на это, у пользователей все равно возникают проблемы после переезда на HTTPS — сайты теряют трафик, а их рейтинг в поисковиках падает. Кроме этого, люди часто не знают, чем отличаются SSL-сертификаты, и какой выбрать для своего сайта.

В этой статье мы расскажем, что такое HTTPS, чем он отличается от HTTP и зачем переходить на HTTPS, а также дадим подробный чеклист, как перевести сайт на HTTPS безболезненно.

как перейти на HTTPS

Что такое HTTPS

HTTP и HTTPS — это протоколы передачи данных в интернете. HTTP работает на сайте по умолчанию. Вы вводите на странице личную информацию, а браузер передаёт её на сервер в открытом виде.

HTTPS — усовершенствованная версия HTTP. Если вы зашли на сайт с защищенным протоколом HTTPS, то информация на нем передается в зашифрованном виде. Чтобы подключить HTTPS к сайту, нужно установить SSL-сертификат.

По данным Google об HTTPS-шифровании доля защищенного трафика растет во всех операционных системах.

Процент страниц, загружаемых по HTTPS в Chrome, по операционной системе:

Процент страниц загружаемых по HTTPS в Chrome по операционной системе

На 4 июля 2020 года 87 % страниц, которые посещали в Chrome пользователи Windows, открывались по защищенному соединению.

Также в Google проанализировали 100 самых популярных сайтов в мире, на которые приходится 25 % всего веб-трафика. В число этих сайтов вошли amazon.com, booking.com, twitch.tv, linked.in и другие крупные ресурсы. Статистика показала, что все 100 самых посещаемых сайтов мира работают по протоколу HTTPS:

Статистика сайтов с HTTPS

Зачем переходить на HTTPS

Безопасность

Если пользователи вводят детали своей банковской карты, адрес и другую личную информацию на вашем сайте без протокола HTTPS, то злоумышленники легко могут перехватить эти данные в открытом виде на пути к вашему серверу. Если же злоумышленники и перехватят такие данные по протоколу HTTPS, то вместо номера карты и CVV-кода они получат набор цифр и букв, на расшифровку которого могут уйти годы.

SEO

Если вы сомневаетесь в том, нужно ли переводить сайт на HTTPS, когда на нем не передается личная информация посетителей, то стоит посмотреть на плюсы этого протокола со стороны SEO.

Поисковые системы мотивируют владельцев сайтов использовать защищенный протокол передачи данных. Так Google начал учитывать наличие SSL-сертификата при ранжировании еще с 2014 года. В 2019 году Яндекс в своем блоге тоже сообщил, что наличие HTTPS-протокола влияет на позиции сайта в поисковой выдаче. Это значит, что при прочих равных условиях сайт с протоколом HTTPS будет выше в результатах поиска, чем сайт без него.

Предупреждения в браузерах

Многие браузеры при попытке открыть ресурс без HTTPS-протокола отображают предупреждение о том, что сайт не безопасный. Вот пример такого предупреждения в Chrome:

Предупреждение в Chrome о том, что сайт не безопасный

Это уведомление может повлиять на решение посетителя остаться на странице.

Доверие и надежность

В конце 2014 года крупный центр сертификации GlobalSign провел опрос среди пользователей. Целью опроса было выяснить, насколько посетители сайтов задумываются о безопасности при интернет-покупках.

В ходе опроса 85% пользователей сообщили, что не будут покупать через веб-сайт, если они не уверены, что их данные передаются безопасно.

Посетитель сайта может не знать, что такое SSL-сертификат, но он точно обратит внимание на предупреждение, например, от Firefox при заполнении формы с паролем:

Предупреждение от Firefox при заполнении формы с паролем

Реферальные данные

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

Производительность

В 2015 году был создан протокол HTTP/2, вторая глобальная версия протокола передачи данных HTTP. При прочих равных условиях сайт по протоколу HTTP/2 будет работать быстрее, чем по HTTP. Для большинства браузеров использование HTTP/2 возможно только поверх защищенного соединения. Поэтому требуется SSL-сертификат.

Выбрать SSL для сайта

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

1. Выбор SSL-сертификата

Есть три основных вида сертификата:

  • Domain Validation — сертификат с проверкой домена. Для выпуска такого сертификата не нужны документы. Вы получите его в среднем в течение 15 минут после оплаты и проверки владения доменным именем. Рекомендуем сертификат с проверкой домена для сайта-визитки, блога или форума.
  • Organization Validation — сертификат с проверкой организации. Для выпуска нужно дополнительно предоставить регистрационные документы организации и пройти проверочный звонок. Такому сертификату больше доверяют, так как он подтверждает реальное существование вашей компании. Поэтому сертификат с проверкой организации подходит для интернет-магазинов, страховых или туристических агентств.
  • Extended Validation — сертификат с расширенной проверкой. Для получения сертификата нужно предоставить регистрационные документы компании и пройти проверку по телефону организации. Рекомендуем сертификат с расширенной проверкой для крупных интернет-магазинов, финансовых компаний, банков и государственных организаций.

Также SSL-сертификаты могут защищать один домен, домен и его субдомены или несколько доменов.

Если вам хочется попробовать SSL-сертификат и не хочется тратить деньги, то можно рассмотреть бесплатный SSL-сертификат от Let`s Encrypt.

Преимущества SSL-сертификата от Let`s Encrypt:

  • бесплатный;
  • надежная степень шифрования.

Недостатки такого сертификата:

  • выпускается на короткий срок;
  • нет клиентской поддержки;
  • низкая совместимость с операционными системами и мобильными платформами;
  • нет компенсации убытков от центра сертификации в случае некорректной работы сертификата. Если злоумышленники украдут данные посетителя сайта из-за уязвимости в сертификате, то Let`s Encrypt не возместит ущерб.

Подробнее о плюсах и минусах можно прочитать на нашей инфостранице о сертификате от Let`s Encrypt.

Альтернативный вариант — протестируйте наши сертификаты в течение 10 дней бесплатно. Для этого нажмите на кнопку «Тест 10 дней» под сертификатом, который вам понравился, и оформите заказ.

2. Установка SSL-сертификата

После активации SSL-сертификата и его выпуска можно переходить к установке на сервер. Для установки сертификата обычно требуется 3 файла:

  • Сертификат / Certificate — это файл с расширением .crt из архива, скачанного в панели SSL по нажатию на кнопку «Скачать архив с сертификатом» в правом верхнем углу.
  • Приватный ключ / Private key / RSA — ключ, который был отправлен вам на почту во время активации сертификата (если CSR и RSA не были созданы на сервере). Он начинается тегом:
    -----BEGIN RSA PRIVATE KEY-----
  • Промежуточные сертификаты / Intermediate certificates / Цепочка сертификатов / CA Chain — содержимое файла с расширением .ca-bundle из папки Linux скачанного архива сертификата.

Подробные инструкции по установке сертификата на разные хостинги и в разные панели управления вы найдете в разделе базы знаний «Генерирование CSR и установка SSL-сертификата».

3. Проверка SSL-сертификата

После установки сертификата проверьте, как он работает. Сделать это можно с помощью бесплатных онлайн-сервисов, например, decoder.link. Укажите имя вашего домена и нажмите Check.

Если все установлено корректно, вы увидите надпись: «It’s all good. We have not detected any issues».

Проверка SSL-сертификата

4. Перенаправление с HTTP на HTTPS

После установки SSL-сертификата по умолчанию сайт доступен и по защищенному протоколу HTTPS, и по незащищенному HTTP. Для перенаправления трафика на HTTPS нужно установить постоянный 301 редирект с HTTP на HTTPS. Если у вас нет в этом опыта, то перед внесением таких настроек посоветуйтесь со службой поддержки хостинг-провайдера.

– Редирект с HTTP на HTTPS на Nginx

Для редиректа на защищенный протокол откройте конфигурационный файл Nginx. В большинстве случаев вы найдете этот файл в каталоге /etc/nginx/sites-available. Если его там нет, попробуйте следующие варианты: /etc/nginx/nginx.conf, /usr/local/nginx/conf или /usr/local/etc/nginx.

В конфигурационном файле для одного домена может быть одна директива server или сразу несколько. Если у вас в файле двe отдельных директивы для домена, то обычно вторая директива server — для SSL. Тогда для перенаправления на HTTPS внутри первой укажите такую строку:

rewrite ^ https://$server_name$request_uri? permanent;

Если в конфигурационном файле одна строка server, укажите эту запись:

if ($ssl_protocol = "") {rewrite ^ https://$server_name$request_uri? permanent;}

Сохраните изменения и перезагрузите веб-сервер Nginx командой:

service nginx restart

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

– Редирект с HTTP на HTTPS на Apache

Найдите файл дополнительной конфигурации .htaccess в корневой папке вашего домена. Добавьте вверху файла такие строки:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Сохраните изменения и проверьте работу редиректа.

5. Проверка множественных редиректов

Множественные редиректы — это сразу несколько перенаправлений одной страницы на другую. Их нужно остерегаться, потому что:

  • есть риск возникновения циклической переадресации, где вместо вашего сайта у пользователей будет отображаться ошибка ERR_TOO_MANY_REDIRECTS;
  • количество редиректов влияет на скорость загрузки сайта, больше перенаправлений — дольше загрузка;
  • поисковые системы выполняют только ограниченное число редиректов. Google в своем руководстве по переносу сайта на новый URL сообщает, что в идеале перенаправлений вида страница №1 -> страница №2 -> страница №3 должно быть не более трех, в крайнем случае — пять. Если их число будет больше, поисковый робот может не проиндексировать следующие страницы сайта.

Проверить количество перенаправлений можно с помощью онлайн-сервисов. Вот несколько бесплатных вариантов:

Укажите ссылку, которую хотите проверить. После этого убедитесь в том, что редирект один, он ведет на нужную страницу и код ответа сервера — 200 ОК: запрос выполнен успешно.

6. Обновление абсолютных HTTP ссылок

Абсолютная ссылка — это ссылка в содержимом сайта, которая направляет на конкретный адрес, например, https://ssl.com.ua/blog/wp-content/uploads/2020/01/smartphones-steal-our-minds.png. В ней указан протокол, домен и путь к нужному файлу.

Абсолютные ссылки неудобны тем, что при изменении протокола сайта, имени домена или другого элемента URL они могут работать некорректно или не работать вообще. Поэтому вместо них рекомендуют использовать относительные ссылки вида /blog/wp-content/uploads/2020/01/smartphones-steal-our-minds.png

Если у вас на сайте есть абсолютные ссылки и вы не хотите менять их на относительные, измените в них протокол с HTTP на HTTPS. То, как это сделать, зависит от того, с помощью чего создан сайт. Для большинства «движков» есть специальные плагины и модули по замене ссылок. Например, у WordPress самый популярный плагин в этой категории — Better Search Replace.

7. Обновление скриптов и сторонних библиотек

В хедере, футере или любой другой части вашего сайта могут содержаться ссылки внешних скриптов. Это могут быть виджеты YouTube, SlideShare, Facebook и прочие элементы. Убедитесь, что все ссылки передаются по защищенному протоколу HTTPS. Почти у каждого сервиса уже есть версия HTTPS, на которую можно переключиться. Поэтому обычно достаточно изменить протокол в ссылке скрипта на HTTPS.

8. Проверка сайта на ошибки смешанного содержания

Если на странице остался контент, который все еще передается по HTTP, браузер не покажет замочек в адресной строке и отобразит предупреждение о том, что подключение к сайту защищено не полностью:

Проверка сайта на ошибки смешанного содержания

Получить информацию о том, какие элементы передаются по незащищенному протоколу, можно так:

В браузере Chrome:

  • перейти на сайт;
  • нажать кнопку F12 на клавиатуре;
  • в открывшейся консоли перейти на вкладку «Безопасность»;
  • перезагрузить страницу кнопкой F5.

В браузере Firefox:

  • перейти на сайт;
  • нажать на значок замка слева от адресной строки;
  • нажать на стрелку вправо;
  • кнопка «Больше информации»;
  • в открывшемся окне перейти на вкладку «Медиа»;
  • нажать на «Адрес» для сортировки элементов по HTTP/HTTPS.

Так вы увидите ошибки на странице сайта, найденные браузером. О смешанном контенте говорит ошибка «Mixed Content». В ошибке указана ссылка на элемент, подгружающийся по незащищенному протоколу. Чаще всего это изображения. Найдите проблемный элемент в содержимом сайта и измените протокол в ссылке на него с HTTP на HTTPS.

9. Обновление информации в Google Search Console и Google Analytics

Google Search Console расценивает страницы HTTP и HTTPS как разные, поэтому при переходе на HTTPS нужно еще раз добавить ваш сайт на сервис и подтвердить права владения на него. Укажите версию с защищенным протоколом главным зеркалом сайта.

Для Google Analytics измените протокол сайта на HTTPS в разделе «Настройки ресурса», поле «URL по умолчанию». Также откройте «Настройки представления» и измените протокол в поле «URL веб-сайта».

10. Обновление информации в Яндекс.Вебмастер и Яндекс.Метрика

Робот Яндекса тоже воспринимает один и тот же сайт по протоколу HTTP и HTTPS как разные ресурсы. Поэтому при переезде на HTTPS Яндекс рекомендует объединить старый и новый адрес сайта в группу зеркал.

В Яндекс.Метрику изменения вносить не нужно.

11. Дополнительно

  • обновите или создайте новый файл sitemap.xml, указав ссылки в нем с протоколом HTTPS.
  • если вы решили сгенерировать новый sitemap.xml, не забудьте указать его в файле robots.txt. Для этого в строке после Sitemap укажите актуальную ссылку на xml-файл.
  • если вы используете CDN-сервис, то в нём тоже нужно перевести сайт с HTTP на HTTPS. Вот инструкция по настройке защищенного соединения для тех, кто использует CloudFlare.
  • обновите ссылку на сайт в социальных сетях и других внешних источниках трафика.

Шпаргалка: как перевезти сайт на HTTPS

  1. Выберите сертификат для домена. При выборе отталкивайтесь от специфики своего сайта и того, сколько доменов нужно защитить. Также определиться с сертификатом поможет фильтр на странице https://ssl.com.ua/
  2. Установите сертификат на хостинге. Инструкции ищите на нашей инфостранице «Как установить SSL-сертификат».
  3. Укажите перенаправление для сайта с протокола HTTP на HTTPS. Проверьте, чтобы перенаправлений было не больше двух.
  4. Обновите ссылки на сайте, чтобы они передавались по протоколу HTTPS. В этом помогут плагины. Не забудьте про ссылки на внешние ресурсы.
  5. Проверьте сайт на наличие смешанного контента. Если он есть — вернитесь к четвертому пункту.
  6. Обновите информацию о новом протоколе сайта в сервисах веб-мастера. Обновите карту сайта и файл robots.txt.

Чеклист по переходу с HTTP на HTTPS

Чтобы вы не потеряли позиции в поисковиках после переезда, мы перевели для вас чеклист по переносу сайта с HTTP на HTTPS. В нем рассказываем, что нужно делать до переезда, во время и после:

👉 Чеклист по переходу с HTTP на HTTPS

Чеклист вы можете только просматривать. Чтобы сделать копию, нажмите на ФайлСоздать копию. Готово — у вас есть свой чеклист, с которым вы можете делать все, что захотите.

Источник: чеклист от SEO-консультантки Aleyda

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

Выбрать сертификат для сайта