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

Инструкция по переносу сайта с протокола HTTP на HTTPS.

(В рамках этой статьи мы не будем обсуждать Что такое протокол HTTPS, кому, когда и зачем он нужен или не нужен переход с http на https.)

Инструкция для переезда на новый протокол или адрес:

1. Установите SSL-сертификат на сайт/сервер

Получите бесплатный или купите платный SSL-сертификат, установите и проверьте, что сайт открывается по адресу https://site.ru

Убедитесь, что SSL-сертификат настроен корректно. Сделать быстрый анализ можно здесь https://www.sslshopper.com/ssl-checker.html, а подробный анализ конфигурации SSL можно с помощью этого сервиса:
https://www.ssllabs.com/ssltest/analyze.html

2. Исправьте внутренние ссылки на сайте

Если вдруг на сайте есть абсолютные ссылки (хотя лучше использовать относительные), то необходимо изменить протокол с http на https (или на //). Проверьте ссылки:

  • на страницы сайта
  • на файлы (css, js, картинки)
  • на подключаемые скрипты (плагины, счётчики, карты и т.д.)
  • в файле sitemap.xml
  • в robots.txt

3. Разные работы

В файл robots.txt добавить директиву "Host: https://site.ru".

Добавляем сайт в Вебмастер Яндекса, обе версии: http и https. 

Добавляем сайт в Google Search Console с протоколом https и http.

Дополнительно:

а). В код сайтов https желательно добавить:

< meta name="referrer" content="origin-when-crossorigin" > (удалить пробел после < и перед >)

чтобы в статистике учитывались переходы с них на http сайты.

б). Можно к ссылкам добавлять utm-метки типа http://site.ru?utm_referrer=https://вашсайт.ru для учёта переходов в системах аналитики (Яндекс.Метрика и т.п.)

в). //www.youtube.com/ - относительный протокол, который очень удобно использовать, если вы не знаете, доступен ли сайт по защищенному протоколу. В таком случае браузер сам выберет с каким протоколом открыть этот сайт.

4. Настройте перенаправления с http на https

Настройте 301-е редиректы со всех страниц вашего "старого" http-сайта на аналогичные страницы "нового" https-сайта (это самая важная и ответственная процедура, постарайтесь выполнить её без ошибок или обратитесь к специалистам, которые грамотно выполнят весь комплекс работ по переезду Вашего сайта).

По возможности: в исходный код каждой страницы старого сайта добавьте ссылку на аналогичную страницу нового с атрибутом rel="canonical".Это позволит передать новому адресу сайта некоторые накопленные показатели (например, оригинальных текстов и внешних ссылок).

 

Редирект с http на https через htaccess:

Можно найти различные варианты настройки перенаправлений (редиректа). Но не все из них могут заработать на произвольном хостинге. Жирным мы выделии 2 работающих варианта для популярных хостинг-провайдеров:

RewriteCond %{HTTP:X-HTTPS} !1
RewriteCond %{REQUEST_URI} !^/robots.txt
RewriteCond %{REQUEST_URI} !^/sitemap.xml
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

#RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/robots.txt
RewriteCond %{REQUEST_URI} !^/sitemap.xml
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

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

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

RewriteCond %{REQUEST_FILENAME} !^robots.txt
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTP_HOST} ^www.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

 

5. Завершение

Используйте инструмент в Яндекс.Вебмастере «Индексирование — Переезд сайта», чтобы указать боту (роботу поисковой системы) на сделанные изменения, адрес в поиске будет изменён в течение нескольких недель.

Google понимает, что http и https это разные протоколы одного и того же сайта. Если Google обнаружит работающий протокол https, то он по мере переиндексации контента будет заменять http на https даже без перенаправления и добавления https-версии в Google Search Console.

Ждём... (сроки "переезда" зависят от размера Вашего сайта).

В результате должно получиться вот так.

 

Полезные статьи от Яндекса:

Что такое протокол HTTPS, и как он защищает Вас в интернете

HTTPS как знак качества сайта

Деликатный переезд (или рекомендации Яндекса по переезду на HTTPS) (23 октября 2015)

Деликатный переезд на https или о чем еще стоит знать. (20 марта 2017)

Инструкция по переходу на HTTPS

 

перенос сайта, переезд с http протокола на https без потерь