Перенос сайта с http на https

Общие действия

Так как этап заказа и настройки ssl сертификата зависит от множества условий, в данной статье рассказывается о том как перенести сайт после получения сертификата. 

  1. Исправляем все ссылки на сайте (лучше изначально устанавливать относительные ссылки). Особенное внимание уделяем файлам библиотек которые могут подключаться с других сайтов, т.к. файлы http не прочитаются через протокол https.
  2. В файле .htaccess устанавливаем редирект с http на https (у разных хостингов могут быть разные правила для редиректа) и настраиваем 301 редиректы страниц; 
  3. В файле robots.txt меняем директивы sitemap и host дописывая протокол https;
  4. Настраиваем sitemap.xml, так, чтобы в адресах был https (способ изменения зависит от способа создания файла);

Немного подробностей от Яндекса

.htaccess

Для редиректа с http на https конструкции могут быть разными, в зависимости от настроек сервера. 

Для Timeweb

RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

Timeweb вообще отличный хостинг для тех кто только начинает разбираться в сайтостроении, панели администратора удобнее мне еще не встречалось. Хотите иметь минимум проблем с настройкой хостинга, подключайтесь.

MODX

В системных настройках идем на вкладку «Система и сервер» (System and Server), находим там «тип сервера» (ключ server_protocol) и устанавливаем https. Очищаем кеш.

В папке менеджера (/manager) раскомментируем файл .htaccess, и прописываем туда редирект на https. Это необходимо для нормальной работы функции предпросмотра.


Sitemap.xml

Если для генерации карты сайта используется pdoSitemap, то могут возникнуть проблемы с тем что в ссылках останется http. Чтобы это исправить, карту можно вызвать так 

Fenom
Теги MODX
{'pdoSitemap' | snippet : [ 'scheme'=>'https' ]}
[[!pdoSitemap? &scheme=`https`]]

Тонкости

Т.к. склейка сайтов у яндекса процесс длительный, во избежании потери Тиц, редирект на https устанавливают не сразу, а только после полной переиндексации сайта яндексом.

С марта 2018 года яндекс перестал учитывать директиву host для определения главного зеркала. Теперь главное зеркало определяется за счет 301 редиректов.