Содержание
Google и Yandex ужесточают требования для сайтов и в скором времени сайты на протоколе HTTP будут обозначаться в выдаче как небезопасные, что значительно повлияет на кликабельность. Поэтому переход на HTTPS стал рассматриваться не как возможность, а как необходимость.
Массовый переход на https начался в 2014 году после того, как представители Google
Процесс переезда не совсем прост, а некорректные действия могут привести к весьма плачевным последствиям. Мы настоятельно рекомендуем досконально изучить этот вопрос, прежде чем приступать к внесению изменений в работу своего сайта.
1. Подготовительная работа
Прежде чем переходить на https, желательно подготовить сайт. Сначала необходимо заменить внутренние абсолютные ссылки относительными. Есть несколько типов относительных ссылок. Google советует использовать protocol-relative ссылки. Например, если у вас была ссылка:
http://site.ru/blogpost1.html
то protocol-relative ссылка будет иметь вид:
//site.ru/blogpost1.html
Аналогично надо поступить, если на сайте есть медиа-контент — изображения, видеоролики, аудиофайлы. Например, если ссылка на изображение имела вид:
http://site.ru/image1.jpg
то protocol-relative ссылка будет такой:
//site.ru/image1.jpg
Если вы загружаете контент с внешних ресурсов, то они должны тоже иметь https-протокол, иначе подобные соединения будут небезопасными.
Также надо использовать относительные ссылки во внешних скриптах. Например, для библиотеки jQuery надо использовать такой код:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
вместо:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
По этой же схеме необходимо изменить ссылки на другие скрипты (счетчики аналитики, партнерские программы и т. п.).
Указанные действия надо проводить только на собственном сайте — обратные ссылки из внешних источников оставляем без изменений.
2. Покупка и установка SSL-сертификата
По уровню защиты SSL бывают трех типов:
- Domain Validated. Такие сертификаты стоят от $10-12 в год. Они выдаются физическим и юридическим лицам только для одного домена. Проверяется лишь принадлежность домена тому, кто заказал сертификат.
- Organization Validated. Сертификаты выдаются только юрлицам. Стоимость уже составит от $40-50 в год. Проверке подлежат документы о государственной регистрации и принадлежность домена.
- Extended Validation. Использование этого сертификата позволяет получить зеленую строчку с названием компании в браузере. Стоимость — от $130 в год. В этом случае проводится наиболее тщательная проверка компании, поэтому такой сертификат вызывает наибольшее доверие.
Также SSL-сертификаты различаются по функциональности. Они могут быть:
- обычными (только для 1 домена),
- Wildcard (если требуется установка https на субдоменах) и SAN (для нескольких доменов),
- с поддержкой IDN (для кириллических доменов).
Основные поставщики SSL-сертификатов — GlobalSign, Comodo, Thawte, GeoTrust, Symantec, Trustwave. Купить их предлагает большинство хостинг-провайдеров. Они выдаются на срок от 1 до 3-х лет. Каждый провайдер прилагает подробную инструкцию по установке SSL.
После установки проверить корректную настройку SSL можно с помощью сервиса
Рекомендуем проверить вручную сайт в разных браузерах и на разных устройствах (ПК, планшетах, мобильных и т. д.), чтобы исключить некорректное отображение.
3. Склеиваем зеркала
После установки SSL адрес сайта будет начинаться с https, но в индексе поисковых систем все еще остается сайт с http. Для Яндекса это два разных сайта, поэтому нужно указать главное зеркало, чтобы он правильно переиндексировал сайт.
Для склейки зеркал в Яндексе, прежде всего, надо внести изменения в robots.txt. Откройте этот файл и исправьте директиву:
Host: site.ru
на
Host: https://site.ru
Аналогично исправьте директиву:
Sitemap: http://site.ru/sitemap.xml
на
Sitemap: https://site.ru/sitemap.xml
Далее переходим в
Остается ждать переиндексации, которая начинается через 2-3 недели после сохранения изменений. Как только главное зеркало будет изменено, об этом придет сообщение в Яндекс.Вебмастере. Если в процессе склейки обнулится тИЦ, переживать не стоит — через пару апдейтов все вернется на свои места.
Далее зайдите в
4. Настраиваем 301 редирект
Для того чтобы при переходе на https сохранились позиции сайта и трафик, необходимо настроить
Для настройки редиректа надо открыть файл .htaccess — он располагается в корневой папке сайта. Сделать это можно с помощью FTP-клиента типа FileZilla или любого другого. Если файла .htaccess нет, то его надо создать.
Добавьте в файл такие строки:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Если этот редирект не сработает, попробуйте такой вариант:
RewriteEngine On
RewriteCond %{HTTPS} =on
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]
В результате пользователи и роботы со всех страниц сайта с http будут перенаправлены на страницы с https. Также будет передаваться вес сайта.
Редирект с помощью .htaccess работает только для хостинга на Linux (для веб-серверов Apache). Если у вас хостинг на Windows, то надо настраивать файл web.config. Для редиректа основного домена и всех поддоменов добавляем такие строки:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
По окончании всех этих манипуляций надо проверить, все ли внутренние ссылки корректны. Обратите внимание, чтобы протоколы ссылок в rel=”canonical”, rel=”alternate”, sitemap.xml
были именно https. Кроме того, после склейки проверьте, правильно ли в Яндексе указан геотаргетинг. Если регион не определяется, надо написать в техподдержку для исправления вручную.
Если все сделано верно, то через пару месяцев зеркала полностью склеятся, страницы с http выпадут из индекса, а трафик, если была просадка, восстановится.
Как проверить безопасность соединения с сайтом
Чтобы понять, безопасно ли открывать тот или иной сайт, проверьте информацию в адресной строке. Если с сайтом нельзя установить защищенное соединение, вы увидите предупреждение.
- Откройте страницу в браузере Chrome.
- Посмотрите, какой значок появился слева от адреса сайта:
- Нажмите на значок. Откроется окно со списком разрешений сайта и сведениями о том, насколько защищенным является соединение.
Если вам нужна помощь
Процедура перехода на протокол https, безусловно, довольно сложна и требует должной экспертизы и практики. Если вы хотите безболезненно перейти со старого на новый протокол, но не имеете собственного опыта или программиста в штате, вы можете обратиться за помощью к специалистам службы «
- Деликатный переезд (или рекомендации Яндекса по переезду на HTTPS)
- Деликатный переезд на https или о чем еще стоит знать