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

Вот как выглядит это в браузере на нашем сайте:

HTTPS протокол на nivaks studio

А вот как выглядит адресная строка у независимой газеты, например:

сайт без ssl сертификата

Вы сразу видите разницу — в нашем случае присутствует надпись «Защищено», а это сразу даёт понять как браузеру, так и пользователю, что сайту можно доверять.

Как подключить HTTPS на HostCMS?

Для начала вам нужно купить SSL сертификат или использовать бесплатный от Let’s Encrypt. Наш любимый хостинг Beget по-умолчанию выдаёт сертификаты на все домены и поддомены аккаунта в 2 шага:

Первый:

Заказ SSL сертификата в Beget

Второй:

После этого нужно перейти к настройкам в HostCMS.

Меняем ссылки у скриптов и стилей

Необходимо убрать у всех ссылок тегов <link> и <script> указание протокола. Вот так:

Включаем SSL сертификат на сайте

Как только хостинг сказал вам, что HTTPS протокол доступен — нужно сделать редирект с http на https в файле htaccess, который находится в корне сайта. Это нужно для того чтобы исключить дублирование сайтов, потому что сейчас по факту у вас два сайта — с http и с https. Есть несколько способов это сделать:

Первый:

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

Второй:

RewriteEngine On
RewriteCond %{HTTPS} =off 
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]

Чаще всего на большинстве хостингов срабатывает именно третий вариант. Попробуйте, а если будут проблемы или вопросы — пишите мне и я вам всё быстренько настрою.

Итак, сайт теперь открывается только по HTTPS и мы переходим к настройкам в HostCMS.

Заходим в раздел «Структура сайта» и выбираем пункт, который необходимо отредактировать. Обычно придётся редактировать все.

открываем редактирование узла струтуры

Включаем у узла структуры доступ по HTTPS:

включаем https в структуре сайта hostcms

Так нужно проделать для всех страниц. Делать это вручную достаточно проблематично, поэтому используем небольшую хитрость.

Переходим в раздел SQL-запросы и выполняем такую инструкцию к базе данных (site_id — это номер вашего сайта, укажите ваш, а если не знаете какой ставить, то ниже рассказывается как узнать):

UPDATE `structures` SET `https` = 1 WHERE `site_id` = 3;

Установить HTTPS для всех страниц Hostcms через SQL

Как узнать номер сайта

Заходим в раздел Сайты и ищем код напротив нужного сайта:

Как найти номер сайта в Hostcms

Переезд сайта на https в Яндекс.Вебмастер

Одним из трёх заключительных шагов для включения https на hostcms будет смена протокола через Яндекс.Вебмастер. Заходим в раздел Настройка индексирования → Переезд сайта и нажимаем галочку «Добавить HTTPS».

Переезд сайта на https в яндекс вебмастере для hostcms

Указание хоста в robots txt на Hostcms

Вы знаете, что файл robots txt редактируется прямо из админки? Сейчас покажем:

Переходите в раздел Сайты и нажимайте на редактирование сайта. Переходите на вкладку «robots.txt»:

Hostcms добавляем host с https в robots.txt

В самом конце файла вам нужно указать директиву Host с https протоколом.

Добавляем константу в HostCMS

Заключительным шагом настройки HTTPS на HostCMS будет добавление константы USE_ONLY_HTTPS_AUTHORIZATION. Переходите в раздел константы:

Добавляем константу в HostCMS

Добавляем константу со значением true и не забываем поставить галочку:

Добавление HTTPS константы в Hostcms

На этом настройка HTTPS для hostcms закончена. Задавайте вопросы.