Переезд на HTTPS за три шага

Инструкция от команды студии веб-разработки VT Digital.

С июля 2018 года все HTTP-сайты в браузере Google Chrome будут помечаться как ненадёжные. Это произойдёт после выхода Chrome 68. Тема эта отнюдь не нова, однако до сих пор актуальна: владельцы сайтов по-прежнему совершают ошибки при переходе на HTTPS.

Готовимся к переезду

Ещё до смены протокола все внутренние абсолютные ссылки меняем на относительные. Например, для перехода на страницу на вашем же сайте лучше использовать <a href="/news/ "> вместо <a https://www.site.ru/news/">. Не забудьте исправить все ссылки на файлы, картинки, видео, виджеты и прочие внешние сервисы. Код «Яндекс.Метрики» и Google Analytics также должен подгружаться по относительному протоколу.

Чтобы настроить отслеживание реферального трафика, добавляем на HTTPS-страницах мета-тег <meta name="referrer" content="origin"> до закрывающего тега </head>.

Покупаем SSL-сертификат. Цена для ранжирования не имеет смысла, главное условие — валидность. О цене сертификатов и разнице между ними можно узнать на сайте предпочитаемого хостинг-провайдера. С недавних пор практически все они продают сертификаты.

Проверяем правильность настройки SSL-сертификата.

Переезжаем

Создаем версию сайта с HTTPS. Обе версии (HTTP и HTTPS) должны быть доступны и работать без ошибок. Файл robots.txt должен быть одинаков для обеих версий. Пока «Яндекс» не проведёт склейку зеркал, не настраивайте 301-редирект с HTTP.

В robots.txt указываем отдельно User-Agent: Yandex с Host: https:// и Sitemap: https://. Если приоритетная поисковая система для вас «Яндекс», то нужно закрыть сканирование всего сайта роботу Google, чтобы избежать дублей страниц в поиске Google.

Когда «Яндекс» полностью склеит страницы (в веб-мастере на неглавных зеркалах количество проиндексированных страниц будет равно нулю) и HTTPS будет выбрано главным зеркалом, открываем доступ Google в файле robots.txt. Если сервер на nginx, прописываем строки в .htaccess для доступности robots.txt по HTTP-протоколу:

<FilesMatch "robots.txt$">
RewriteEngine off
</FilesMatch>

Проверяем для HTTPS-версии протоколы в rel=”canonical”, rel=”alternate” и протокол ссылок в sitemap.xml. Для HTTPS-версии ссылки должны быть доступны по HTTPS. Для HTTP — в HTTP.

Тестируем

  1. Делаем 302-редирект с http:// на https:// на время теста.
  2. Добавляем обе версии сайта в «Яндекс.Вебмастер». Жмём «Настройка индексирования» — «Переезд сайта» и указываем предпочтительный протокол HTTPS. В «Структуре сайта» добавляем разделы сайта. В Google Search Console после склейки в «Яндексе» добавляем сайт с протоколом HTTPS и подтверждаем права. В разделе «Поисковый трафик» — «Таргетинг по странам и языкам» указываем, с какой страной связан домен, а в «Сканирование» — «Параметры URL» загружаем параметры из HTTP версии. Далее добавляем файл Disavow для HTTPS-версии по ссылке.
  3. Чтобы позиции по геозависимым запросам не просели, указываем в разделе «Региональность» регион для вкладки «Вебмастер».
  4. Меняем ссылки для региональных представительств, которые указаны в «Яндекс.Справочнике». Для этого пишем через форму в техподдержку «Яндекс.Справочника» о переезде на HTTPS.
  5. Ждём склейки в «Яндексе». Переклейка начинается примерно через две-три недели. Обратите внимание, что при переезде обнуляется тИЦ. Ничего страшного в этом нет, как сообщает «Яндекс» он вернётся после следующего обновления, которое происходит примерно раз в месяц.
  6. Когда «Яндекс.Вебмастер» покажет, что зеркала связаны, и основным уже выбрана HTTPS-версия, можно настраивать 301-постраничный редирект, кроме файла robots.txt и страницы 404 ошибки.
  7. Проверяем корректность присвоенного региона в «Яндексе» после переклейки. Если возникают проблемы с присвоением регионов, пишем в техподдержку.
  8. Проверяем смешанное содержимое — у всех страниц сайта протокол HTTPS. Это можно сделать через ScreamingFrog или подобную программу.

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

Во время склейки зеркал трафик может просесть. Это происходит из-за того, что поисковики воспринимают сайт с HTTPS как новый. Когда HTTPS-версия будет признана главным зеркалом, о чём вебмастер получит уведомление, все показатели HTTP-версии начнут учитываться для HTTPS.

0
70 комментариев
Написать комментарий...
Слон Петрович
Если сервер на nginx, прописываем строки в .htaccess

facepalm.jpg

Ответить
Развернуть ветку
VT Digital
Автор

Спасибо, конечно же, apache)

Ответить
Развернуть ветку
8 комментариев
Сергей Сергеев

Можно было назвать статью «Переезд на HTTPS за один шаг», а внутри уже все 47 действий из статьи.

Ответить
Развернуть ветку
Филипп Билдов

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Serge Arsentiev

Ну да, я тоже подумал что статья для небольших сайтов на ... на непонятно чём - т.е. настройка CMS под изменение протокола никак не раскрыта.
Ну и банальная адресация картинок (путь к картинкам), пути к js файлам, тоже не вдруг поменяется во всей базе, не сама по себе.

Ответить
Развернуть ветку
3 комментария
Паша Буковский

"все показатели HTTP-версии начнут учитываться для HTTPS"
Нет. Может так произойти, что новый сайт так и не получит такое же количество трафика, как было по старому адресу. Так даже Яндекс предупреждает.

Ответить
Развернуть ветку
VT Digital
Автор

У вас был такой опыт? Честно, у нас пока было лишь восстановление позиций. То есть, вот они просели, и вот они вернулись на свои места.

Ответить
Развернуть ветку
1 комментарий
Филипп Билдов

Может, но редко. За декабрь-январь перенес на https 9 сайтов, трафик не просел ни на одном. Склейка в Вебмастере произошла за 1-1,5 недели. Трафик из Гугла подрос, но я связываю это с общими работами по сайту.

Ответить
Развернуть ветку
3 комментария
Sergey Vdovichenko

Домен для примера правильный выбрали

Ответить
Развернуть ветку
Андрей Забиронин

Цитата: "Если сервер на nginx, прописываем строки в .htaccess для доступности robots.txt по HTTP-протоколу:

<FilesMatch "robots.txt$">
RewriteEngine off
</FilesMatch>"

Кто-нибудь еще кроме меня понимает степень шизофрении автора в этом предложении. nginx -> htaccess -> достпность txt файла по http протоколу.

А если не на nginx, то все, htaccess не работает? Автор, ты в курсе что такое htaccess и nginx и что они друг с другом не связаны и даже чаще мешают друг другу

Ответить
Развернуть ветку
VT Digital
Автор

Да, мы уже выпили яду, посыпали голову пеплом и обгорели от стыда. Но это не помогает, так как редактирование статьи закрыто. Можете еще поискать ошибки, мы еще порасстраиваемся)

Ответить
Развернуть ветку
10 комментариев
Григорий Клюшников

А зачем покупать сертификат, когда есть letsencrypt?

Ответить
Развернуть ветку
Андрей Нефедов

не везде будет работать.

Ответить
Развернуть ветку
12 комментариев
Максим Федоров

У вас опечатка:

Если сервер на nginx, прописываем строки в .htaccess для доступности robots.txt по HTTP-протоколу

htaccess работает только с Apache

Ответить
Развернуть ветку
Vladislav Timofeyev

Так точно-съ, опечатка) Будем надеяться, получится исправить)

Ответить
Развернуть ветку
Филипп Билдов
"Пока «Яндекс» не проведёт склейку зеркал, не настраивайте 301-редирект с HTTP."

Бред. Редирект ставится сразу, с новым robots на https.

Ответить
Развернуть ветку
Zoibana

Правда?

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

https://yandex.ru/blog/platon/2778

Ответить
Развернуть ветку
3 комментария
Сергей Катеринич

Добавлю из своего опыта: Не нужно ждать 100% склейки, для некоторых сайтов хватит 80-85% (особенно если страниц много). Всё равно цифры 0 там скорее всего не будет (если конечно у вас сайт не из 100-1000 страниц).

Ответить
Развернуть ветку
Уоррен Баффет

А почему robots.txt для https сайта должен быть открываться по http?

Ответить
Развернуть ветку
Филипп Билдов

Роботс с новым host: должен открываться только на https.

Ответить
Развернуть ветку
2 комментария
Andrey Breeze

Не должен.

Ответить
Развернуть ветку
Александр Мазалецкий

Судя по картинке pornhub, очень часто открыют на работе)

Ответить
Развернуть ветку
VT Digital
Автор

Ну... Скорее, вообще не закрывают его

Ответить
Развернуть ветку
3 комментария
Александр Лыженков

Советую отличную статью по покупке и настройке https на nginx
https://onlinebd.ru/blog/instrukciya-po-nastroike-https-dlya-php-fpm-s-ocenkoi-a
Полная инструкция по настройке HTTPS с оценкой А+

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Андрей Андреев

У меня в гугле просел трафик на 50%. Больше половины страниц уже с https, но трафик съехал. Как думаете - посещалка вернётся ?

Ответить
Развернуть ветку
Олег Шрамков

я правильно понял что нужно создать дубль сайта обязательно?

Ответить
Развернуть ветку
67 комментариев
Раскрывать всегда