Содержание статьи

Протокол HTTPS считают по праву одной из ключевых технологией современного интернета и чтобы обезопасить личные данные своих пользователей, данная технология должна быть подключена на сайте обязательно. В нашей статье вы узнаете о том, что такое HTTPS, чем он отличается от протокола HTTP, которому он пришел на замену, как он работает, зачем нужен и как внедрить его на свой сайт?
Отличия HTTP и HTTPS
HTTP – это протокол для передачи гипертекста (аббревиатура образована от англ. слов Hyper Text Transfer Protocol). С этим протоколом мы сталкиваемся каждый день, когда открываем браузер. Так как гипертекстом являются всем нам знакомые web-страницы.
HTTPS – это специальная модифицированная настройка для протокола HTTP, которая использует механизмы шифрования при обмене данными между сервером и браузером. То есть любой сайт, который работает с HTTP может перейти на защищенный HTTPS, где буква S как раз и означает Secure (Защита). Для этого достаточно только правильно настроить существующий сервер и подключить к нему механизм шифрования.
Наличие HTTPS – фактор продвижения сайта в поисковой выдаче в Google, по сути это одно из стандартных требований в SEO.
Преимущества сайтов на HTTPS
Чем хорош HTTPS протокол и зачем его устанавливать:
- Личные данные пользователей передаются в зашифрованном виде.
- Безопасная аутентификация на сайте гарантирует защиту от атак с перехватом.
- Малейшие изменения или искажения данных в процессе подключения к серверу фиксируются и пресекаются, независимо от того случайно это произошло или преднамеренно.
- Сайт, который работает на протоколе HTTPS, повышает доверие со стороны пользователей и более релевантен для поисковых систем.
- Электронную платежную систему можно установить только на сайт с защищенным протоколом.
- Если на сайте есть поля ввода данных для обратной связи, а шифрование не поддерживается, в браузере он будет помечен как небезопасный
Недостатки HTTPS
Упомянем также и другую сторону медали. Из минусов HTTPS выделим основные:
- Сервер нужно перенастроить. Если нет панели управления или поддержки готовых решений по интеграции сертификатов шифрования, то понадобятся специальные знания и навыки, чтобы сделать это самостоятельно. Либо же можно нанять профильного специалиста.
- Шифрование данных отчасти повышает нагрузку на сервер и увеличивает время отклика сайта, так как ему требуется больше времени на обработку запросов.
- Сгенерировать SSL/TLS-сертификат можно хоть самому, но он не станет доверенным, пока его не утвердит специальная организация. Доверенные сертификаты чаще всего платные, а это дополнительные расходы на содержание сайта.
- Есть бесплатные альтернативы, например, от Let’s Encrypt или Cloudflare, но они подключаются на небольшой промежуток времени и требуют частой замены.
- После полного перехода с HTTP на HTTPS сайт может «вылететь» из поисковой выдачи до тех пор, пока не будет проиндексирована версия HTTPS, но это если неправильно провести подготовку к переезду.
Как подготовить сайт к переезду на HTTPS и соответственно подключить защищенный протокол
Чтобы обойтись без потерь в трафике, нужно тщательно подготовить сайт.
Первоначально must have сохранить резервную копию БД и файлов сайта.
Далее делаем следующее.
-
Заменяем все внутренние ссылки сайта с абсолютных на относительные
Пример:
- Полная ссылка – https://wedex.com.ua/uslugi/prodvizhenie-sajtov-seo/
- Относительная – //wedex.com.ua/uslugi/prodvizhenie-sajtov-seo/
Если коротко, то нужно удалить название протокола внутренних ссылок на сайте.
- Также стоит обратить внимание на скрипты
Если скрипт на сайте использует не защищенное соединение, в нем тоже нужно заменить URL на относительный.
Данная рекомендация относится к старым редко используемым скриптам, так как популярные сервисы уже давно пользуются защищенным соединением.
- Обратите внимание на контент
В принципе, нужно применить те же самые шаги, что и ранее — исправить ссылки каждого изображения, видео, документа. После переезда каждый медиафайл должен открываться по протоколу HTTPS.
Установка SSL-сертификата
Secure Socket Layer (SSL) необходим для работы HTTPS протокола. Значок закрытого замка в адресной строке браузера подтверждает его наличие. Это значит, что сайт сумеет защитить данные пользователя.
Бесплатные сертификаты (self-signed) подойдут для использования во внутренней сети или для служебных целей, но не годятся для публичных сайтов и интернет-магазинов.
Отличие между бесплатным и платным SSL в том, что во втором варианте данные проверены и подтверждены центром сертификации.
Самый простой способ заказать сертификат — обратиться к своему хостинг-провайдеру. Если это не вариант, вот самые популярные центры сертификации: Comodo, Symantec, Trustwave, Geotrust, Thawte.
Затем сертификат надо активировать, заполнив технические данные и указав контакты. Сделать это можно на сайте компании, где вы приобрели SSL.
Финальная настройка сайта
После установки SSL адрес сайта будет начинаться с HTTPS, но в индексе все еще будет находится старая версия сайта. Поэтому в robots.txt нужно исправить директиву Sitemap.xml:
Sitemap: http://site.com/sitemap.xml
на
Sitemap: https://site.com/sitemap.xml
Далее зайдите в Google Search Console и добавьте версию сайта с HTTPS .
Google понимает, что адреса с HTTP и HTTPS ведут на один и тот же сайт, и отдает приоритет при индексировании именно страницам с https.
Настраиваем 301 редирект
Для того чтобы при переходе на HTTPS сохранились позиции сайта и трафик, необходимо настроить 301 редирект.
Для настройки редиректа надо открыть файл .htaccess — он располагается в корневой папке сайта на FTP. Если файла .htaccess нет, то его надо создать.
Добавьте в файл такие строки:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Если этот редирект не сработает, попробуйте такой вариант:
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Если и теперь ничего не вышло, и имеет место циклическая переадресация, то есть третий вариант:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
В результате пользователи и роботы со всех страниц сайта с HTTP будут перенаправлены на страницы с HTTPS. Также будет передаваться вес сайта.





