Переезд на HTTPS: как сохранить позиции в Яндексе и Google

9 комментариев
Переезд на HTTPS

Введение

Вопрос переезда сайтов с HTTP на HTTPS волнует все больше пользователей. Тех, чей сайт занимает лидирующие позиции в поисковиках, больше всего пугает подобное изменение – а вдруг позиции сайта значительно просядут? О том, как правильно организовать переход на HTTPS, и будет рассказано в этой статье.

Начнем с того, зачем это вообще нужно? Если кратко и в пределах поисковых систем, то использование на вашем сайте протокола HTTPS повышает рейтинг сайта в глазах Google и Яндекс. Это логично – сайты, обеспечивающие надежную передачу данных, вызывают большее доверие, чем остальные, и поэтому имеют право получать некое преимущество в поисковых системах.

Сейчас, если у сайта есть две версии (HTTP и HTTPS), то Google в первую очередь показывает версию сайта с безопасным протоколом. Более того, в январе 2017 года браузер Chrome начнет помечать как небезопасные все сайты, которые передают данные о паролях и банковских картах, и при этом работают по протоколу HTTP (по крайней мере, такая информация в сентябре появилась в блоге компании). Но это будет лишь шаг к тому, чтобы в будущем помечать как сомнительные все сайты с небезопасным протоколом.

Переход на HTTPS – это уже не возможность, а необходимость, если вы хотите развивать свой сайт и привлекать на него новых пользователей.

Следующим будет логичный вопрос: почему смена протокола так важна для поисковых систем? Дело в том, что хотя чисто внешне меняется немногое (название-то сайта остается прежним, как и его содержание!), но передающиеся по двум разным протоколам (HTTP и HTTPS) сайты поисковая система воспринимает как два разных ресурса. Поэтому происходит то же самое, что и при смене одного домена на другой – позиции сайта могут просесть, количество страниц в выдаче и их позиции также могут измениться.

Подготовка

Теперь давайте разберемся в том, как максимально правильно и безболезненно осуществить перенос своего сайта на HTTPS. В данной статье я делаю акцент именно на самый комфортный перенос с точки зрения поисковых систем Google и Яндекс.

Первым делом вам необходимо начать с главного – приобрести и установить SSL-сертификат. Если вы являетесь клиентом Timeweb, то у вас есть два основных варианта: Comodo Positive SSL и Let’s Encrypt. Более подробно о них вы можете прочитать в этой статье. Перейдем к самому процессу перехода.

1. Создайте новую версию, копию вашего сайта, которая будет работать по протоколу HTTPS. На данном этапе у вас должно работать два сайта: один по HTTP, другой по HTTPS. Обязательно проверьте, что они оба работают корректно (особенно сайт, доступный по HTTPS!).

2. Оба сайта должны содержать файл robots.txt (который помогает ботам индексировать сайт); в нем необходимо прописать сайт, который будет являться главным зеркалом вашего ресурса.

Речь о директиве Host, в которой вы можете задать главное зеркало вашего сайта, которое и будет в итоге показываться в поисковой выдаче (в данном случае речь, конечно, идет о HTTPS-сайте).

Обратите внимание, что в файле robots.txt должно быть указано только одно доменное имя в одной единственной директиве Host! Если вы укажете несколько директив Host, то к рассмотрению будет принята только первая. Если же вы захотите в одной директиве написать сразу несколько доменов, то такая директива будет проигнорирована.

В итоге ваша директива должна выглядеть примерно вот так:

User-Agent: Yandex
Disallow:
Host: https://mysite.ru

Обязательно пропишите протокол – собственно, это основное, ради чего вы и прописываете эту директиву. Но на этом работа с файлом robots.txt не заканчивается.

3. В robots.txt закройте HTTPS-версию вашего сайта от индексации в Google и других поисковых системах. Это необходимо сделать для того, чтобы исключить появление копии вашего сайта в поисковой выдаче. При этом ваш сайт останется в выдаче – его HTTP-версия.

Для этого в robots.txt необходимо прописать следующее:

User-Agent: *
Disallow: /

4. Также проверьте, что в атрибутах rel=”canonical” и rel=”alternate”, а также в файле sitemap.xml в HTTPS-версии сайта все ссылки были прописаны по соответствующему протоколу.

Яндекс

Следующий шаг – известить о тех изменениях, которые вы произвели, поискового бота Яндекса.

1. Новый сайт необходимо добавить в форму «Переобход страниц» (addurl): http://webmaster.yandex.ru/addurl.xml

Либо добавить сайт отдельно в список своих сайтов в Яндекс.Вебмастере: https://webmaster.yandex.ru/sites/add/

2. И рассказать о переезде своего сайта в Яндекс.Вебмастере в разделе «Настройка индексирования» -> «Переезд сайта»: https://webmaster.yandex.ru/site/index-setup/mirrors/

Далее нужно понимать, что на индексирование и процесс склейки зеркал потребуется время, которое может варьироваться от одного до трех месяцев. По сути, вы должны заметить, что HTTP-сайт пропал из выдачи, в то время как сайт, работающий по протоколу HTTPS, наоборот, попадет в нее. При этом в это время оба сайта должны работать параллельно.

Google

1. Откройте для индексации сайт, работающий по HTTPS-протоколу, и добавьте его в Google Search Console. Вам больше ничего не нужно делать, т.к. система Google воспринимает HTTP- и HTTPS-сайт как один и тот же сайт, доступный по двум протоколам, поэтому после переиндексации вы автоматически увидите в выдаче ссылки не на HTTP, а на HTTPS-версию сайта.

2. Если на HTTP-сайте вы использовали Disavow Tool (инструмент для отклонения обратных ссылок), то обязательно добавьте его и для HTTPS-версии сайта.

После склейки зеркал

После того, как в Яндексе ваши сайты были склеены, нужно настроить редирект с HTTP-сайта на HTTPS-сайт.

Установите серверный 301 редирект; при этом, если это возможно, желательно для каждой страницы старого сайта прописать редирект на соответствующую страницу нового сайта.

Для данной настройки лучше обратиться к специалистам, т.к. вам необходимо отредактировать важный конфигурационный файл .htaccess.

Обычно для перенаправления нужно добавить вот эти строки:

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

Если этот вариант оказался нерабочим, посмотрите другие возможные варианты в разделе "Типовые перенаправления" Справочного центра Timeweb.

Если же самостоятельно решить данные вопросы не получилось, тогда вам точно лучше обратиться с этой работой к программистам.

После всех правок проверьте, что все работает корректно!

Поздравляю, теперь ваш ресурс полностью перешел на HTTPS-протокол. Даже если позиции сайта все-таки просели, не стоит сразу отчаиваться – скорее всего, через некоторое время они восстановятся.

Проблема смешанных протоколов

Когда ваш сайт начинает работать сразу на двух протоколах – и HTTP, и HTTPS – есть вероятность возникновения проблемы смешанных протоколов. Это происходит обычно тогда, когда на HTTPS-странице доступны ресурсы, запрос которых происходит по небезопасному HTTP-протоколу.

На деле это выглядит примерно так: у вас есть страница https://mysite.com/, на которой должен загружаться скрипт http://mysite.com/script.js или картинка http://mysite.com/image.png. Оба этих элемента относятся к смешанному контенту и, скорее всего, будут заблокированы вашим браузером (если речь идет о скриптах, то страница просто не будет отображаться).

Что же делать в таком случае?

Нужно заменить все полные ссылки на относительные.

Вместо http://mysite.com/script.js вам нужно прописать //mysite.com/script.js, то есть убрать протокол, либо даже /script.js, убрав также и домен. Ваш код будет выглядеть примерно так:

<h1>Пример, мир!</h1>
<script src="/script.js"></script> 
<link rel="stylesheet" href="//assets.mysite.com/style.css"/> 
<img src="1450829848287066165294"/> 
<p>Обязательно прочитайте <a href="/2016/12/20/">новую статью о кошках!</a></p>

Имейте в виду: ссылки нужно менять только на свои ресурсы, менять адреса чужих сайтов не нужно! Однако если вы не знаете, доступен ли данный сайт по защищенному протоколу или нет, поставьте ссылку без указания протокола – браузер самостоятельно выберет подходящую версию.

Если же вы используете чьи-то чужие скрипты, то желательно у них также изменить адреса на ссылки без указания протокола либо вообще загрузить их себе на сервер.

Удачи!

Комментарии

Бородин Алексей 0
01 янв в 2017
Зачем создавать копию сайта? Просто делается две копии robots, каждая из которых отвечает по своему протоколу.
Свернуть ответы
Eleanor Rigby +40
09 янв в 2017
Ни разу не слышала, чтобы у сайта было две версии robots.txt, можете объяснить, как это технически работает?
Сергей +9
02 янв в 2017
Хочу дать пару наводок тем кто не особо шарит, как перевести на хттпс сайт на движке вордпресс.

0. Сделайте бэкап базы и всех файлов сайта.

1. Выгружаем все базу данных в файл sql экспортом, открываем блокнотом и заменяем все http: на https: и сохраняем.

2. Загружаем исправленный файл sql импортом в бд, предварительно удалив все таблицы с загружаемой базы.

3. В .htaccess файл добавляем строку SetEnvIf X-HTTPS 1 HTTPS=1

Надеюсь мой коммент кому-то поможет) Сами вчера с этим долбались
Свернуть ответы
Комментарий автора
Евгений +37
10 янв в 2017
Спасибо за то, что поделились опытом, это полезный комментарий.
Алексей +1
27 янв в 2017
Интересно, но как понимаю, ещё нужно в файлах самого сайта везде изменить на относительные пути?
Алексей +1
27 янв в 2017
Что есть копия сайта? Сделать копию на другом доменном имени? на другом поддомене? Можно подробнее, всё таки хостинг то у всех одинаковый, и можно подробнее описать процедуру, что как и куда тыкать.
Свернуть ответы
Eleanor Rigby +40
30 янв в 2017
Позволю себе ответить вместо автора: сейчас уже нет необходимости делать два отдельных сайта, вы можете просто перевести свой сайт на https, но при этом оставить его доступным по обоим протоколам - то есть не прописывать сразу редирект, а настроить его только после того, как Яндекс склеит зеркала.
Алексей +1
30 янв в 2017
Спасибо, что ответили!
Дмитрий 0
13 ноя в 2017
Проводил собственный эксперимент с переходом блога на https, и не заметил ничего полезного таком переезде. Можете почитать мои выводы, это происходило и к чему привело: https://mdex-nn.ru/page/nuzhen-li-hpps-blogam.html
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email, который Вы использовали для входа на сайт.