Описание основных моментов при переносе сайта на защищенный протокол HTTPS
1. Подготовка сайта
1.1. Изменить внутренние ссылки на сайте с абсолютных на относительные
Есть два типа относительных ссылок:
- ссылка относительна корневого каталога -
/page/
- ссылка относительна протокола -
//sait.com.ua/page/
Желательно использовать ссылки второго типа (относительно протокола), когда исключается название протокола. В свою очередь, ссылки на внешние сайты не меняем, они остаются как и были.
1.2. Проверить ссылки в медиа (изображения, видео и прочее)
Проверяем, какой медиа-контент используется на сайте и по какому протоколу он запрашивается.
Если присутствуют абсолютные адреса - проверяем доступны ли они по HTTPS и если доступны также переводим в относительные.
Если используемые изображения хранятся на нашем сайте, тогда используем относительные адреса типа //site.com.ua/img/image.jpg.
Если изображения подгружаются с внешних ресурсов (CDN или других сайтов), проверяем или они также поддерживают HTTPS, в противном случае возможнос стоит отказаться от таких вложений. Популярные сервисы, типа YouTube, виджеты VK или Facebook, и другие, уже поддерживают HTTPS, поэтому с ними проблем не будет.
1.3. Проверить способ подключения внешних скриптов
Внешние скрипты также переводим на относительные URL. Например, для библиотеки jQuery, вместо кода:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
Нужно использовать:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
А поскольку, как упоминалось выше большинство популярных сервисов и библиотек уже сами давно перешли на защищенный протокол HTTPS, то их скрипты которые подключаются на сайтах клиентов уже используют данное правило, так что и с этим проблем быть не должно.
2. Установка SSL-сертификата
Важный момент, перед выбором и установкой SSL-сертификата на сервер необходимо уточнить у хостера, поддерживают ли они SSL и как они предлагают его установить.
2.1. Выбрать подходящий SSL-сертификат
Доступно несколько видов SSL-сертификатов:
- Обычные сертификаты - выдаются на один домен и их выпуск занимает несколько минут. Здесь происходит лишь проверка принадлежности домена тому, кто запрашивает сертификат;
- EV (Extended Validation) - сертификаты с расширенной проверкой компании. Помимо принадлежности домена, также проверяются наличие организации, свидетельство о государственной регистрации, наличие названия компании в whois домена, проверочные звонки и многое другое. EV-сертификат дает возможность получить зеленую строку в адресной строке браузера с названием компании;
- Wildcard cертификаты отличаются от выше указаных тем что выдаются на ВСЕ поддомены одного домена;
- Сертификаты с поддержкой IDN - с поддержкой кириллических доменов. Если домен, выглядит например так:
компания.укр
- устанавливаем сертификат данного типа.
В зависимости от специфики проекта, выбрать наиболее подходящий сертификат.
2.2. Установить сертификат на сервере
Установка сертификата занимает не более пары минут, но при этом, как упоминалось выше, сам сервер должен поддерживать SSL протокол. Обратите внимание, что в основном сертификат не привязывается к IP или хостингу, поэтому, его можно установить на любой выбранный хостинг. Исключением выступают сертификаты, которые предлагаются к установке самими хостерами, там условием действия сертификата будет обслуживание у данного хостера.
2.3. Проверить доступность сайта через HTTPS-протокол
После готок, как SSL-сертификат установлен, необходимо проверить его работоспособность по двум протоколам, с http://
и https://
. Если по какому-то из них он оказался недоступным, ищем причину и устраняем ее.
3. Настройка сайта
3.1. Указать директиву Host в файле robots.txt
Яндекс требует явно прописать используемый протокол. Поэтому, в самом низу файла robots.txt
последней строкой (если записи Host еще нет) прописываем следующее:
Host: https://sait.com.ua
где, вместо site.com.ua
указать свой домен.
Теперь Яндекс будет знать, что среди всех зеркал, указанное с протоколом HTTPS – самое главное.
3.2. Прописать 301 редирект с http на https
Для большинства серверов подойдут такие строчки кода в файле .htaccess
:
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://site.com.ua/$1 [R=301,L]
Если после сохранения изменений в .htaccess
сайт недоступен и запросе в браузере, меняем выше указанные строки на такие:
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*) https://site.com.ua/$1 [L,R=301]
3.3. Исправить найденные ошибки (если есть)
Проверяем доступность сайта, работоспособность внутренних и внешних ссылок, коректную подгрузку скриптов и стилей, а также наличие замочка в адресной строке браузера. Если что-то работает неправильно - ищем и исправляем.
Короче, все должно выглядеть и работать как до момента переноса сайта на протокол HTTPS.
4. Информируем поисковые системы о переносе
4.1. Добавить https-версии сайта в панель вебмастеров
И в Google и в Яндексе необходимо добавить и подтвердить новый сайт, указав версию https. Теперь в списке сайтов будет две версии.
Для Google больше никаких дополнительных настроек делать не надо, достаточно присутствия 301 редиректов.
4.2. Изменить адреса в панели Яндекса
У HTTP-сайта указываем главное зеркало HTTPS: заходим в панель вебмастера в меню “Настройка индексирования” > “Главное зеркало” > “Установить протокол HTTPS”.
4.3. Переносим дополнительные настройки в панели вебмастера со старого хоста на новый
Если для старой версии сайта в панели присутствовали дополнительные настройки, то их нужно перенести на новую версию, чтобы она воспринималась аналогично. Например, одни из важных настроек, которые надо проверить и перенести, это:
- Настройки региона (геотаргетинг)
- Файлы Sitemap.xml
- Список ссылок в Disawov Tool для Google
- Исключенные параметры URL для Google
5. Ждем переиндексации
Все что зависило от нас - сделано. Cайт и пользователи защищены. Осталось подождать, когда Google и Яндекс поменяют адрес сайта в поиске.