Мы изучили все статьи на эту тему в топ-10 и топ-20, перечитали много форумов, слушали представителей поиска Google и Яндекс, досконально ознакомились со справками поисковых систем. Эта информация — практически все, что нужно знать о том как перейти на https, но как показала первая практика, внедрения этих инструкций по переносу, все же приводят к проседанию позиций в Google минимум на неделю и сайты терпят временные потери трафика со всеми вытекающими последствиями…
В этой статье мы решили поделиться с вами по настоящему интересным наблюдением из нашего опыта, который дает возможность перевести сайты на защищенный протокол без малейших потерь по трафику и позициям в Google и Яндекс.
Интересно то, что данной информации больше нет ни в одном блоге и справке! Только поэтому мы и решили написать данную статью.
Если вы уже прочитали достаточно информации и знаете что такое https, зачем он нужен, как подключить безопасный протокол https, тогда можете сразу ознакомиться с интересной техникой - о том, как правильно склеить зеркала http и https без потери трафика и позиций в Google и Яндекс.
Ну а если вы только начинаете изучать данную тему, тогда вам стоит прочитать нашу статью ровно с этого места и до последней точки.
Зачем переходить на HTTPS?
Ответ прост — так хотят поисковые системы и пользователи, которым важно чувствовать себя защищенными на просторах интернета. Зашифрованное соединение — это главное преимущество https, которое позволяет сохранить в безопасности данные пользователя. Логины, пароли, кредитные карты, адреса и месторасположения станет намного сложнее перехватить с помощью сторонних сервисов для дальнейшего использования в мошеннических целях. Кроме этого, поисковые системы считают это положительным фактором при ранжировании.
В чем разница http и https и почему стоит перенести сайт на https
Владельцу сайта следует также понимать, что подключение https — необязательная процедура, но поисковые системы хотят обезопасить своих пользователей, поэтому в дальнейшем, чаще будут отдавать предпочтение в пользу безопасных сайтов. Небезопасные же сайты помечены в браузерах следующим образом:
В Google Chrome
В Mozilla Firefox
кроме это, поисковые системы обещают сообщать пользователям о том, что сайт небезопасен и присылают такие сообщения:
Защищенные сайты (безопасные) в браузерах отображаются так:
В Google Chrome
В Mozilla Firefox
Как выбрать SSL-сертификат
Для перехода на HTTPS прежде всего необходимо получить SSL-сертификат. SSL (сокращение от англ. Secure Socket Layer) — это технология, используемая для обеспечения безопасного зашифрованного соединения между сайтом и web-браузером. SSl-сертификат является обязательным условием использования HTTPS протокола, который гарантирует безопасность данным передаваемым при взаимодействии с сайтом. Чаще всего, такими данными являются личные данные пользователей: имена, фамилии, данные кредитных карт и т. д. SSL-сертификаты бывают различных видов, которые различаются поддержкой доменов различных типов, дополнительными возможностями и ценой.
Для того, чтобы выбрать подходящий сертификат рассмотрим основные их виды:
SSL-сертификаты по количеству доменов:
- Стандартный сертификат. Таким сертификатом можно подписать (защитить) лишь один домен. Поддомены не поддерживаются, www — также. Такой сертификат подойдет для большинства сайтов, которые не используют поддомены.
- Групповые или WildCard сертификаты. WildCard сертификат будет незаменим в случае, если на Вашем сайте используются поддомены. Например, для отдельной мобильной версии, для различных языковых версий и региональных представительств.
- Мультидоменные, MDC или SAN (Multidomain Certificates или Subject Alternative Names) сертификаты. Они могут быть использованы для нескольких независимых доменов.
SSL-сертификаты по типу проверяемых данных:
- Самоподписные сертификаты. Такие сертификаты можно создать на сервере самостоятельно. Но вот использовать такой сертификат не рекомендуется (разве что для тестового домена), так как в этом случае любой браузер будет предупреждать пользователя, о том, что сайту доверять нельзя, ведь SSL-сертификат не подписан центром сертификации. Предупреждение в большинстве браузеров выглядит достаточно внушительно для того, чтобы существенная часть пользователей просто закрыла сайт.
- Сертификаты с проверкой домена. Базовый тип сертификата, который предполагает только проверку домена. Соответственно, при выпуске сертификата Вам необходимо будет подтвердить права на домен. Делается это обычно с помощью ссылки в письме, которое приходит на почту администратора домена. Важно помнить, почта администратора должна соответствовать таким требованиям: почтовый ящик должен быть в том же домене, для которого вы заказываете сертификат и должен начинаться на admin@, administrator@, hostmaster@, postmaster@ или webmaster@. Также можно использовать email указанный в WHOIS данных домена. В этом случае других требований к нему нет, это может быть любой рабочий email. Сертификаты с проверкой домена выпускают очень быстро, через 10-20 минут после успешной проверки на право владения доменом. В браузере такие сертификаты обозначаются значком замочка или надписью «защищено».
- Сертификаты с проверкой организации (OV – organization validation). Для получения такого сертификата необходимо проверить не только домен, но и организацию. Для проверки организации могут потребовать данные о гос. регистрации, могут проверить данные whois и даже публикации в прессе. Само-собой, если Вы частное лицо, то получить такой сертификат не сможете. В браузере такой домен обозначает зеленым значком замочка в адресной строке.
- Сертификаты с расширенной проверкой организации (EV – extended validation). Для получения такого сертификата необходимо пройти многоуровневую проверку: звонок на телефон организации взятый из открытых источников, проверка существующей документации (счета, акты и т. д.), проверка на исключительное право управления доменом, может быть проведена правовая проверка организации. Получить такой сертификат сложно, дорого и долго. Зато при этом, в браузере такой сертификат отображается в виде названия организации в адресной строке.
Для большинства владельцев сайтов будет достаточно стандартного сертификата с проверкой домена или организации.
Полезный совет: если у Вас есть собственный сервер, то вы можете получить бесплатный SSL-сертифат от Let's encrypt. Также такую услугу может предоставлять Ваш хостинг-провайдер.
Подготовка сайта к переходу на HTTPS
Итак, мы уже определились с типом SSL-сертификата и можем приступать к следующему шагу — технической подготовке сайта.
Все, что нам нужно сделать — всего лишь заменить все внутренние абсолютные ссылки на относительные. Сделать это лучше всего таким образом:
все ссылки вида https://q-seo.com.ua/blog/korrektnaya-nastroyka-paginatsii-na-sayte/ заменить на такие /blog/korrektnaya-nastroyka-paginatsii-na-sayte/, т.е. ссылки без указания протокола и доменного имени.
Сделать такую замену нужно и для всех ссылок, для медиаконтента (изображения, видео и т. д.).
Важно отметить, что для всех внешних скиптов и ссылок нужно использовать метод замены в таком виде:
заменяем http://widget.siteheart.com/apps/js/sh.js на //widget.siteheart.com/apps/js/sh.js.
Установка сертификата и настройка https
Ну что ж, SSL сертификат выбран и приобретен, сайт подготовлен к переходу на HTTPS. Теперь нужно установить сертификат на сервер и включить HTTPS.
Для установки SSL-сертификата необходимо, чтобы эту возможность поддерживал Ваш хостинг. К счастью, в большинстве случаев это именно так. Более того, в большинстве случаев хостер предоставляет возможность самостоятельной удобной установки сертификата на сервер через админ-панель.
Если с этим возникают сложности, то оптимальным решением будет обратиться за помощью непосредственно к хостинг провайдеру. Эта услуга может быть, как платной, так и бесплатной. Заменить SSL-сертификат на другой Вы можете в любое время.
Настройка сайта после включения HTTPS - что нужно сделать
Итак, все получилось, сертификат установлен. Теперь сайт доступен одновременно по протоколу HTTPS и HTTP. Это не очень хорошо, так как фактически мы имеем полный дубль сайта. Для борьбы с этим нужно «склеить» обе версии сайта. Для этого нужно сделать отличимые друг от друга процедуры относительно Яндекса и Google, но об этом немного позже. Для начала:
Проверьте все канонические ссылки (link rel="canonical"), они теперь также должны быть с HTTPS.
Проверьте ссылки на альтернативные языковые версии страниц (link rel="alternate" hreflang), наличие в них HTTPS обязательно.
Сделав это все, проверьте сайт полностью еще раз. Задействуйте десктопное приложение Screaming Frog Seo Spider:
- Введите адрес сайта в соответствующее поле и нажмите кнопку «Start». Подождите пока программа найдет и проанализирует все страницы нашего сайта.
- Первое, на что нам надо обратить внимание – все ли внутренние ссылки указаны с HTTPS. Для этого в правой области программы вверху ищем вкладку “Overview”. А в этой вкладке ищем раздел «Protocol». Здесь отображено общее количество страниц сайта, а также количество страниц сайта использующих HTTP и HTTPS. Если количество страниц, которые используют HTTP не равно 0, значит мы некорректно заменили внутренние ссылки во время подготовки сайта.
Если все же ссылки с HTTP писутствуют, перейдите на вкладку «Protocol» в левой части окна программы и выберите фильтр «HTTP», чтобы увидеть все страницы, на которые ведут некорректные ссылки.
Выберите отдельную страницу из списка и внизу перейдите на вкладку “Inlinks”, чтобы увидеть все страницы, на которых размещена некорректная ссылка. Помните, что все это касается и внутренних ссылок на изображения, и ссылок на загружаемые JavaScript.
- Проверьте 301-е редиректы. На Вашем сайте не должно быть ссылок, которые ведут на страницы с редиректом. Для проверки нужно перейти на вкладку “Response Codes” и в ней выбрать фильтр “Redirection (3xx)”. Внешние ссылки на страницы с редиректом допускаются.
- Проверьте все канонические ссылки. Для этого переходим на вкладку “Directives” и выбираем фильтр “Canonical”. После этого прокрутите вправо до столбца “Canonical link element 1”. Все ссылки в данном столбце должны быть корректными.
- То же самое делаем для ссылок на альтернативные языковые версии сайта, если такие есть. Для этого нужно перейти на вкладку “Hreflang” и проанализировать её содержимое.
Если все сделано верно, можно приступать к самому интересному.
Как правильно склеить зеркала http и https чтобы не потерять позиции
Как правильно перейти на https в Яндексе
То что касается склейки http и https в Яндексе, то как раз здесь все достаточно просто. Об этом подробно пишут здесь https://yandex.ru/blog/platon/2778 и отвечают на вопросы здесь https://yandex.ru/blog/webmaster/delikatnyy-pereezd-na-https-ili-o-chem-esche-stoit-znat.
Действительно это работает. Добавляем сайт с HTTPS в список своих сайтов в Яндекс.Вебмастере. Редактируем robots.txt (указываем новый Host и Sitemap). Отправляем запрос на переезд для версии HTTP, указывая что сайт переехал:
Как правило, переклейка страниц для среднего магазина или сайта услуг занимает около 2-10 дней. При этом, в большинстве случаев с нашими сайтами, позиции практически не проседали, если все было правильно настроено.
Когда запрос будет обработан, вы увидите в панели вебмастеров следующее:
Это будет означать что ваш запрос обработан. После этого необходимо настроить 301 редирект.
Как правильно перейти на https в Google
На время, когда сайт переклеивается в Яндексе, можно закрыть индексацию зеркала HTTPS в robots.txt для Google (и не забыть открыть когда склейка в Яндексе закончилась и редирект уже работает). После, достаточно часто рекомендуют просто добавить сайт с https, подтвердить права и указать новый sitemap.xml, в котором указаны адреса с https, а далее ждать. Но как показывает практика, происходит проседание позиций.
Все потому, что в таком случае Google идет на сайт по адресу https://site.com и сканирует все страницы с https, считая первое время этот сайт абсолютно новым. Это и приводит к проседанию позиций. Так как редирект робот не увидел, а вместо этого зашел на главную страницу сайта с https и в sitemap.xml, где нашел полные дубли всех внутренних страниц с https.
Как же сделать так, чтобы позиции в Google не проседали? Мы тоже стали думать над этим вопросом и нам в голову пришла идея поступать несколько иначе.
Основная задача состоит в том, чтобы робот Google увидел редирект с каждой страницы на каждую. А для этого самым правильным способом будет скормить еще раз старый sitemap.xml, в котором указаны ссылки на старые страницы с протоколом http:// и уже работает редирект на https версию.
Мы обратились за помощью к разработчикам. Она заключалась в том, чтобы он реализовал условие — редиректить все страницы с http:// на https:// кроме http://site.com/sitemap.xml. Здесь же, должен лежать старый sitemap.xml и со старыми адресами http://, а на новом адресе https://site.com/sitemap.xml – будет новый, с адресами https://.
После чего мы идем в Search Console Google и просим обработать карту сайта еще раз в старом аккаунте (относительно http), новый пока не заводим!
В это время редиректы уже настроены на всех страницах кроме http://site.com/sitemap.xml. На этой же странице существует старый сайтмап со старыми адресами.
Робот, обрабатывая каждый адрес, указанный в ней, видит 301 редирект на страницы с https и склеивает их. За два дня мы переклеили все страницы на своем сайте. При этом позиции и трафик абсолютно не ухудшились. В доказательство этому предоставляем динамику трафика до переезда и после на графике:
Тоже самое мы сделали еще с 40-ка проектами клиентов и наблюдали абсолютно такую же картину с трафиком и позициями. Поэтому сегодня мы можем смело сказать, что это метод работает лучше остальных, которые мы пробовали по инструкциям многих экспертов.
Так что не спешите добавлять сайт в Google Search Console с https. Google должен найти все редиректы сам. Поэтому стоит либо тихонько сидеть и ждать пока он это сделает, либо ускорить процесс переиндексации и склейки путем обновления старого sitemap.xml в вебмастере Google, где роботу пока известен только сайт с протоколом http://.
После того, как все страницы сайта склеились и в поиске вы не находите адреса с http://, можно выполнить следующие действия:
- Добавьте сайт с HTTPS в Google Search Console.
- Укажите новую XML-карту сайта, в которой все URL будут указаны с HTTPS.
- Если в Google Search Console ранее был загружен список ссылок для Disawov Tool, его нужно отправить еще раз для сайта на https//.
Поделитесь статьей с друзьями и коллегами, чтобы они тоже перевели свои сайты на HTTPS без потери позиций!