SEO и безопасность в интернете

Личный сайт Павла Медведева

Инструкция по переходу на протокол HTTPS без потерь

Инструкция по переходу на протокол HTTPS без потерь

Пре переходе на защищенный протокол многие сайты испытывают проблемы с поисковыми системами, что выливается в потерю трафика и прибыли. Это является для многих останавливающим фактором и многие до последнего тянут, пока браузеры вообще не откажутся отображать сайт, заблокировав его показ. В среднем по отзывам вебмастеров и оптимизаторов — просадка составляет 20-30% на срок от нескольких недель до месяца.
Но если все сделать четко, предусмотрев все возможные ньюансы, можно безопасно перейти на HTTPS, не только не потеряв, но и получив в итоге прирост посетителей.
Примеры из личного опыта:

Пример изменения трафика при переходе на HTTPS сайта с многомиллионной аудиторией

Еще один пример сайта, одного из лидеров в своей отрасли

У меня, вероятно, накоплен самый большой опыт по переводу крупных сайтов на HTTPS в России, и похоже я единственный, кому удается переводить сайты без каких-либо просадок в трафике, даже на один день.
Поэтому решил поделиться своим накопленным чеклистом, который учитывает большинство ньюансов и нештатных ситуаций при переходе. Это даже не чеклист, а скорее подробный алгоритм перехода:

Шаг Кто выполняет
1 Перед закрытием HTTPS версии проверить метрику — нет ли случайно трафика на HTTPS оптимизатор
2 На HTTPS версии устанавливаем запрещающий robots.txt — Disallow: /. Проверить чтобы не выложили по ошибке на HTTP сайт. клиент
3 Покупка, установка сертификата. Сайт должен открываться в браузере без ошибок. Если есть поддомены, то сертификат должен поддерживать поддомены клиент
4 Проверка сайта с мобилки — желательно Android/Iphone — моб.браузеры иногда выдают ошибку сертификата клиент
5 Проверка качества сертификата а настроек SSL https://www.htbridge.com/ и https://www.ssllabs.com/ssltest/ (должен быть рейтинг не ниже А) оптимизатор
6 Корректировок настроек сервера если SSL ниже класса А (генерим сильные ключи, запрещаем устаревшие протоколы, настраиваем HPKP, OCSP, SPDY…) клиент
7 Проверка идентичности сайтов: по https должна отдаваться 100% копия сайта с http (контент, одинаковые счетчики GA/Метрика) оптимизатор
8 Отключаем протокол HSTS иначе будут сложности с мониторингом перехода (будут принудительные 307-е) — после переезда обязательно включить клиент
9 Корректировка внутренних ссылок: все ссылки должны быть относительными клиент
10 Корректировка внешних ссылок: все ссылки должны быть либо с https либо по относительному протоколу href=»//sites.ru/ клиент
11 Проверить чтобы у HTTPS версии был файл sitemap.xml с https урлами (копия основного, просто все урлы с https), иначе он проигнорируется роботом клиент
12 Добавить в G.SC и Я.ВМ сайты с https оптимизатор
13 G.SC: перенести все старые параметры и настройки домена на https (параметры урл, disavow) оптимизатор
14 Добавить файл sitemap.xml с https урлами в Я.ВМ для сайта с https оптимизатор
15 У https версии разместить отдельный robots.txt — открыть для индексации все кроме google. Проверить чтобы не закрыли по ошибке и HTTP сайт. клиент, оптимизатор предоставляет файл
16 В robots.txt по http и https добавить директиву host где главным зеркалом будет сайт с указанием https, проверить что sitemap с https клиент, оптимизатор предоставляет файл
17 !nb — если по каким-то причинам не закрыли в robots.txt гугл — можно по user-agent редиректить google c http -> https клиент, оптимизатор предоставляет файл
18 Https мобильной версии (при наличии) — проверить что все установлено как и на основной версии — robots, sitemap, добавить в вебмастера оптимизатор
19 Https поддоменов (при наличии) — проверить что все установлено как и на основном — robots, sitemap, добавить в вебмастера основные оптимизатор
20 Я.ВМ: запускаем переезд сайта — выбираем главное зеркало с https оптимизатор
21 Я.ВМ: запускаем переезд сайта у поддоменов (если на них идет заметный трафик) — выбираем главное зеркало с https оптимизатор
22 Я.ВМ: закидываем на перееобход страниц 1) топ20 страниц метрики 2) HTML-сайтмапы оптимизатор
23 Подготовка к переносу ссылок — поиск зеркал, подклеенных сайтов — уточнить у клиента есть ли зеркала, которые надо сохранить? оптимизатор
24 …ожидание пока яндекс признает сайт с HTTPS главным зеркалом …(7-10 дней) ждем склейки
25 …ожидание пока проиндексируется HTTPS версия и начнет ранжироваться вместо основной (80-90% трафика Яндекса должно идти на HTTPS) ждем склейки
26 Снимаем в robots.txt запрет для индексации https в Google клиент, оптимизатор предоставляет файл
27 G.SC: добавить сайтмап в у обоих сайтов — как https так и http оптимизатор
28 G.SC: добавить на переиндексацию главную и html-сайтмап оптимизатор
29 Смотрим что в Google пошла индексация HTTPS версии, загружен сайтмап оптимизатор
30 Постраничные 301-редиректы с http на https (кроме файлов robots.txt и sitemap.xml) клиент
31 Постраничные 301-редиректы моб.версии и поддоменов с http на https (кроме файлов robots.txt и sitemap.xml) клиент
32 корректировка редиректов: robots.txt на http версии должен отдавать 200ОК. Проверить что в host: https клиент
33 корректировка редиректов: sitemap.xml и все вложенные сайтмапы на http версии должен отдавать 200ОК. Проверить что урлы с http клиент
34 если есть зеркала и подклеенные домены, поставить с них постоянный редирект на https версию клиент
35 включаем протокол HSTS для повышения безопасности клиент
36 …мониторинг, поиск ошибок, тз по корректировке… оптимизатор
37 я.вм. Диагностика сайта -> всё, что проверяет Вебмастер -> Сайт не оптимизирован для моб.устройств — нажать «проверить» (Яндекс тупит) оптимизатор
38 проверить индексацию, ошибки сайтмапов в вебмастере оптимизатор
39 проверить перешли ли регионы из я.справчника, если нет — написать в тп оптимизатор
40 Провести проверку на mixed content (ссылки с http на https версии сайта) оптимизатор
41 …Дополнительно—->
42 Настроить параметры безопасности и ускорения сервера после перехода на https: https://habrahabr.ru/company/bitrix/blog/309536/ клиент
43 • Отключить уязвимые SSL-протоколы (SSL v1, v2, v3) клиент
44 • Актуализировать набор шифров. клиент
45 • Сгенерировать надёжный ключ dh_param. клиент
46 • Включить механизм HTTP Strict Transport Security HSTS https://xakep.ru/2016/03/21/hsts-problem/ клиент
47 • Включить механизм HTTP Public Key Pinning (HPKP) https://xakep.ru/2016/03/25/hpkp-ignore/ клиент
48 • Ускорить SSL-переговоры с помощью OCSP Stapling. клиент
49 • Ускорить SSL-переговоры с помощью протокола SPDY. клиент
50 • Включить кэширование. клиент
51 • Включить передачу данных по протоколу HTTP/2 клиент
Pavel

Обсуждение закрыто.