Я знаю, что уже до меня написано миллион подобных инструкций. Но посчитал, что и мне необходимо написать свою инструкцию как правильно перейти на https. Во-первых, она нужна мне самому для структурирования материала. А во-вторых, может понадобиться и моим читателям.
У меня только сейчас дошли руки до перевода своих сайтов на https. Раньше это было необоснованно преждевременно. Но с недавних пор все изменилось. Теперь переезд необходим даже сателлитам.
Для начала почитайте мою статью "К чему приведет глобальный переход сайтов на https". В ней указаны причины, по которым переезд сайта теперь необходим всем. Данный блог я тоже буду переводить этим летом. Не раньше потому что для блогов срочность немножко меньше, чем для коммерческих проектов. Поэтому пока мы переводим свои коммерческие сайты.
Вообще, я перелопатил просто тонну материала. Потратил реально 4 дня. Перечитал просто все известные инструкции о том, как перейти на https. Прочитал кучу кейсов по переводу сайтов. Так что думаю, что какой-то полезный материал в моей инструкции Вы все-таки найдете. Итак, ПОЕХАЛИ.
Теоретическая часть. Переводим свой сайт на протокол https.
Теорию не хочется очень сильно расписывать. Да и не получится рассказать в одной статье обо всех нюансах. Просто их очень много. Я расскажу именно о том, что нужно знать абсолютному большинству обычных продвигаемых сайтов. Не владельцам банков и огромных мульти-региональных Интернет-магазинов. А обычным коммерческим сайтам.
А если Вам хочется углубиться, то уже есть очень много материала на эту тему. В конце статьи в списке литературы по переходу сайта c http на https, приведено много ссылок, читайте.
Классификация SSL сертификатов по степени защиты:
- Domain Validation. Наиболее распространенный сертификат. Выдается на один домен, и если вы решите сменить доменное имя, придется оплачивать заново. Цена — от $10 до $30 в год. Для получения обратитесь в любой центр сертификации (например, Comodo или Symantec).
- Organization Validation. Подтверждает домен и организацию. Могут проверить информацию в прессе, свидетельство о государственной регистрации. Цена — от $40 до $200 в год.
- Extended Validation. Сертификат с расширенной проверкой — для его получения проверяется наличие компании по адресу, свидетельство о регистрации, операционная деятельность, торговая марка. Все для того, чтобы получить зеленую строку в адресной строке браузера. Цена — от $120 до $300 в год.
Большинству сайтов нужны сертификаты первого типа. Это просто проверка домена. Это самое простое и сейчас именно это требуют от нас поисковики.
Классификация SSL сертификатов по функциональности:
- обычные SSL-сертификаты
- Wildcard сертификаты — используйте, если хотите установить HTTPS и на поддоменах;
- SAN сертификаты — используется для нескольких доменов;
Опять, как и в прошлом случае большинству сайтов подойдут сертификаты первого типа.
Сертификат Lets Encrypt - самый идеальный вариант
В итоге, идеальным сертификатом для 99% сайтов, да еще и бесплатным становится сертификат Lets Encrypt. И Гугл и Яндекс писали, что считают этот вид сертификата надежным. Все современные браузеры тоже считают его надежным. Из минусов только то, что его надо продлевать раз в 3 месяца. Но нормальный хостер сделает эту работу за вас. Я даже буду свои некоторые сайты переводить на Timeweb, т.к. это быстрый хостинг и на котором сертификаты ставятся очень легко и автоматом продлеваются.
Процесс переноса (подробная инструкция как перевести сайт на https)
- Купить или заказать сертификат. Я заказывал бесплатный сертификат "Lets Encrypt" в админке Timeweb. Он подходит в 99% случаев. Все прошло легко и быстро. Заходим в раздел "SSL-сертификаты", нажимаем "Заказать", выбираем тип сертификата "Lets Encrypt", выбираем для какого сайта заказываем этот сертификат, и уже через 5 минут мне на почту пришло письмо, что сертификат установлен. Сайт сразу стал доступен по https. Особенность этого типа сертификата в том, что его нужно продлевать раз в 3 месяца. Timeweb это делает самостоятельно.
- Сделать все внешние и внутренние урлы относительными.
- Все внутренние ссылки на сайте должны быть либо относительными, либо идти с протоколом https (второе предпочтительнее)
Пример: http://site.ru/url-part1/url-part2/ > /url-part1/url-part2/
- Все внешние ссылки должны либо идти на с протоколом https либо без протокола (если у внешнего сайта нет https, то возможен только второй вариант)
Пример: http://site.ru/url-part1/url-part2/ > //site.ru/url-part1/url-part2/
- Протестировать как работает сайт в разных браузерах на протоколе https: нужно погонять сайт в разных браузерах, посмотреть открывается ли сайт, появляется ли защищенный замочек, не забудьте проверить разные типы страниц сайта, а также в том числе мобильные браузеры. После настройки проверьте, чтобы изображения были доступны по HTTPS, проверьте все типы страниц.
- Просканировать https-весрию сайта программами-краулерами. Я бы для надежности просканировал сразу несколькими: «Screaming Frog SEO Spider», «SiteAnalizer» и «Xenu». Следите, чтобы не было ссылок, ведущих на незащищенный протокол. После этого проверьте коды ответов сервера на сайте, чтобы существующие страницы возвращали код ответа 200, а несуществующие — 404.
- Протестировать сайт на протоколе https в различных инструментах и сервисах, ссылки на которые приведены в следующем разделе ниже. Если будут какие-то ошибки, то нужно их исправить. Возможно Вы обнаружите, что в коде сайта остались ссылки, которые ведут на незащищенный протокол.
- Перегенерируйте sitemap.xml, чтобы он содержал ссылки только на https-версии страниц.
- Переделайте файл robots.txt:
- В файле robots.txt замените строку host, прописав в ней не просто доменное имя, а доменное имя вместе с https:
Host: https://site.com
- Строку с картой сайта в robots.txt также нужно обновить.
- Настроить каноникл на https.
<link rel="canonical" href="https://site.ru/" />
- Добавить сайт на https в вебмастер Яндекс как новый сайт. Тут нужно будет подтвердить права сайта. А также выставить правильный регион для сайта на https.
- Включить в панели вебмастера Яндекса в инструменте "Переезд сайта", что теперь сайт работает по https.
- Добавьте сайт на HTTPS в Google Search Console как новый сайт. Подтвердите права на этот сайт. Далее укажите XML-карту сайта (используйте ссылку на https), если нужно — выставьте регион. Если у вас есть отклоненные ссылки в Disavow Tool, не забудьте заново загрузить файл с ними.
- Для всех страниц нужно добавить мета-тег referrer:
Добавить для всех страниц сайта (до закрывающего тега </head>) метатег:
<meta name="referrer" content="origin"/>
(есть и другие варианты как настроить этот тег, подробнее читайте в дополнительной литературе ниже, но этот вариант настройки основной и подходит для большинства случаев).
Дождаться пока в Яндексе сменится главное зеркало. Теперь остается только ждать. Время ожидания может быть разным. Оно зависит от размера сайта, от того, как часто в Яндексе будут идти апдейты и от других факторов. Ориентировочное время ожидания - 2-4 недели. Согласно новым инструкциям Яндекса
Важно: лучше не настраивать 301-редирект на https-версию сайта до того, как в Яндексе сменится главное зеркало. Иначе у Вас может быть большая просадка трафика в Яндексе на несколько недель.Этот пункт больше не актуален. Согласно новым инструкциям от Яндекса, 301-редирект на https-версию сайта рекомендуется делать делать сразу после переезда, не дожидаясь переиндексации сайта. (А Гугл вообще изначально рекомендовал настраивать редирект сразу).
- Настроить 301 редирект постранично.
Важно: 301-редирект нужно настроить так, чтобы файл robots.txt и XML-карта сайта были доступны и по http, и по https без редиректа. В htacess при настройке редиректов исключение для файла robots.txt можно настроить такой строкой:
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
- После настройки редиректа еще раз просканируйте сайт программами «Screaming Frog SEO Spider», «SiteAnalizer» и «Xenu».
- Обновите все доступные внешние ссылки на Ваш сайт, чтобы они вели на URL-адрес с HTTPS:
- Обновите URL-адрес вашего сайта в социальных сетях.
- В системах отслеживания трафика, таких как Google Analytics и Yandex Metrika.
- То же самое нужно сделать в контекстной рекламе.
- Исправить покупные ссылки в биржах Sape и других.
- Исправить ссылки, идущие на сайт с сателитов, сайтов-партнеров и т.д.
Полезные сервисы
С помощью этих сервисов можно проверить все ли в порядке с Вашим протоколом https:
- https://www.ssllabs.com/ssltest/analyze.html?d= - проверка качества защиты сервера
- https://www.jitbit.com/sslcheck/- сканирование страниц сайта на ошибки
- https://www.sslshopper.com/ssl-checker.html - еще один сервис проверки на ошибки
- https://www.digicert.com/help/?rid=011592 - и еще один
- https://www.whatismyreferer.com/ - проверка реферера (сервис больше не работает)
- https://www.websiteplanet.com/ru/webtools/ssl-checker/ - удобный сервис проверки корректности установки сертификата
Где можно купить сертификаты
- Самый простой и не геморройный вариант - купить у своего хостера (но с наценкой)
- https://www.emaro-ssl.ru/ - тут продают ssl-сертификаты ДЕШЕВО
- https://rus.gogetssl.com/ - еще один продавец недорогой
- https://letsencrypt.org/ - бесплатные сертификаты Lets Encrypt
Полезные материалы
Почитать о типах сертификатов
- https://habr.com/ru/companies/tuthost/articles/150433/ - подробно о типах сертификатов
- https://devaka.info/articles/ssl-tips - еще о типах сертификатов
Про тег referer
- clck.ru/ApwCF - про тег реферер понятно и подробно
- https://searchengines.guru/ru/news/22524 - о передаче реферер
Другие интересные материалы
- https://seoprofy.ua/blog/optimizaciya-sajtov/https-google-chrome - дополнительные аргументы поставить сертификат
- https://searchengines.guru/ru/news/18971 - кое что интересно
- https://ru.wikipedia.org/wiki/Центр_сертификации - про центры сертификации
- https://devaka.info/articles/top500-ssl-certificates - Какие SSL-сертификаты используют сайты из ТОП-500 Alexa
- https://habr.com/ru/post/400953// - Google Chrome перестал доверять сертификатам WoSign и StartCom
КОММЕНТАРИИ