ИНТЕРНЕТ-МАГАЗИНЫ ПОД КЛЮЧ
Переходим на HTTPS на примере CMS MODX EVOLUTION
Не так давно заметил, что в Яндекс-вебмастере появилось сообщение о новой проблеме с протоколом HTTPS. Теперь не только Google но и Яндекс считает недостатком работу сайта по старому не безопасному протоколу HTTP. Во и пришёл момент, когда я серьёзно задумался о смене протокола сайта на безопасный. Для работы по HTTPS обязательно нужен SSL-сертификат. Первым делом глянул что предлагает мой хостинг – там одни платные варианты от 800 руб.год. Нет мне платные варианты не подходят так как домен оформлен на физическое лицо, и лишние траты мне точно не нужны.
Поиск привёл меня к возможности получить бесплатный сертификат SSL для моего домена через сервис Let's Encrypt, единственным недостатком было то, что срок действия данного сертификата всего 3 месяца, далее надо генерировать новый. Решил поискать хостинги которые позволяют работать с этим сертификатом и автоматически продлевать его. Как оказалось таких достаточно много. В итоге я остановился на Багете (не реклама просто там мне дали целый месяц бесплатного тестирования). Перенёс туда свой сайт, поставил сертификат всё быстро и занимает не более 10-15 минут.
Так как сайт у меня на CMS MODX Evo опишу, как я переходил на протокол HTTPS именно для этой системы.
И так после получения бесплатного SSL-сертификата от Let's Encrypt и установки его на сервер заходим в панель Администрирования вашего сайта (CMS MODX Evo) далее Конфигурация – Сайт находим параметр Тип сервера и там выбираем https, сохраняем изменения.
Теперь нужно заменить все абсолютные пути ссылок на относительные (в чанках, шаблонах, некоторых не стандартных сниппетах и модулях если таковые имеются). Вместо полного адреса http://mysite.com/script.js вам нужно прописать //mysite.com/script.js, то есть убрать протокол.
Для моей системы управления это выглядит примерно так
Теперь необходимо настроить 301-редирект дабы люди, которые будут заходить на ваш сайт по старым ссылкам попадали на нужные страницы но уже по протоколу HTTPS. Для этого открываем файл .htaccess, который лежит в корне вашего сайта и добавляем такую запись (работает на хостинге Багет) на других возможно нужно будет настроить по другому исходя из работы самого сервера
#redirect http to https
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Проверяем есть ли редирект, если всё хорошо, то переходим в Яндекс-вебмастер открываем ваш сайт (если его там нет то добавляем сайт с новым протоколом https) во вкладе Индексирование _ переезд сайта можно указать нужный протокол для сайта который уже есть.
В принципе всё теперь нужно подождать какое-то время пока Яндекс выберет новый протокол в качестве основного зеркала. Я обычно ещё удаляю в вебмастере старую карту сайта xml и загружаю новую с https и в файле robots.txt меняю протокол на https в директории HOST и SITEMAP.