Зачем и как перевести сайт на https бесплатно и без ошибок?

Корректный перевод сайта с HTTP на HTTPS

Проблема, с которой вы можете столкнуться при переходе на HTTPS — это временная потеря позиций в поиске и проседание трафика. Поисковые системы считают сайты http : // site . ru / и https : // site


ru / зеркалами (то есть сайтами, которые являются полными или частичными копиями), поэтому важно организовать корректный переезд на новый протокол, придерживаясь следующих рекомендаций:

  1. Оба сайта http : // site . ru / и https : // site . ru / должны быть доступны для поисковых систем.
  2. Для сайта http : // site . ru / в Яндекс.Вебмастере в разделе «Настройка индексирования» в пункте «Главное зеркало» установите главным зеркаломhttps : // site . ru /.
  3. В файлах http : // site . ru / robots.txt и https : // site . ru / robots.txt пропишите директиву «Host» с протоколом HTTPS:
  4. Дождитесь смены главного зеркала в Яндексе на https : // site . ru /.
  5. Настройте постраничный 301-ый редирект со страниц с протоколом HTTP на страницы с протоколом HTTPS.
  6. Обновите XML-карту сайта — замените в ссылках протокол HTTP на HTTPS. Обновите ссылку на карту сайта в файле robots.txt, например:
  7. При использовании в HTML-коде абсолютных ссылок необходимо указать в них протокол HTTPS вместо HTTP.
  8. При использовании теговили— ссылки в них также необходимо обновить на HTTPS.

Когда всё настроили, отслеживаем колебания выдачи

Кроме технических сложностей от переезда на HTTPS многих удерживает страх потерять трафик и позиции. 

Первое время после переноса выдачу действительно может штормить, но если вы учли все технические нюансы, сильной просадки быть не должно. И как только все HTTP-страницы выпадут из индекса, прежние позиции и трафик должны вернуться. 

Помните, что 301 редирект передает до 99% ссылочного веса, а HTTPS – фактор ранжирования (хоть и не самый важный). Так что, возможно, вы даже окажетесь в числе счастливчиков, чьи позиции после перехода на HTTPS выросли. 

В любом случае, все колебания выдачи в первые месяцы после переезда стоит отслеживать. Тогда в случае падения, вы сможете разобраться, что пошло не так, и быстро среагировать. Мониторить выдачу удобно в инструменте SE Ranking «Проверка позиций». Здесь вы сможете отслеживать динамику своих позиций в Google и Яндекс для любого региона и устройства.

Как выбрать SSL-сертификат

Для перехода на HTTPS прежде всего необходимо получить SSL-сертификат. SSL (сокращение от англ. Secure Socket Layer) — это технология, используемая для обеспечения безопасного зашифрованного соединения между сайтом и web-браузером. SSl-сертификат является обязательным условием использования HTTPS протокола, который гарантирует безопасность данным передаваемым при взаимодействии с сайтом. Чаще всего, такими данными являются личные данные пользователей: имена, фамилии, данные кредитных карт и т. д. SSL-сертификаты бывают различных видов, которые различаются поддержкой доменов различных типов, дополнительными возможностями и ценой.

Для того, чтобы выбрать подходящий сертификат рассмотрим основные их виды:

SSL-сертификаты по количеству доменов:

  1. Стандартный сертификат. Таким сертификатом можно подписать (защитить) лишь один домен. Поддомены не поддерживаются, www — также. Такой сертификат подойдет для большинства сайтов, которые не используют поддомены.
  2. Групповые или WildCard сертификаты. WildCard сертификат будет незаменим в случае, если на Вашем сайте используются поддомены. Например, для отдельной мобильной версии, для различных языковых версий и региональных представительств.
  3. Мультидоменные, 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. Также такую услугу может предоставлять Ваш хостинг-провайдер.

Шаг 2. Заказ и получение SLL сертификата от Let’s Encrypt на хостинге Beget

Переходим в панель управления хостинга в раздел «сайты», на против сайта на который хотите установить SSL жмете на http, далее «установить SSL сертификат» и «установить». После чего должно выйти уведомление, что заявка на выпуск сертификата отправлена. И через некоторое время на почту придет сообщение, что сертификат установлен на ваш домен.

Шаг 3. Настройка WordPress по работе с протоколам HTTPS

Переходим в админку сайта во вкладку настройки и выбираем общие, там есть 2 строки: Адрес WordPress (URL) и Адрес сайта (URL), меняем в них протокол на https.


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

Далее идем в раздел плагины — установленные и отключаем плагины защиты, если такие имеются (возможно нужно будет отключить и еще какие нибудь плагины)

Теперь нам нужно заменить в базе данных старые адреса сайта (http://site.ru) на новые (https://site.ru), сделать то можно несколькими способами, но самый простой на мой взгляд способ, установить плагин Better Search Replace и с помощью него заменить все адреса.

После того как плагин изменит все адреса, на первых парах устанавливаем и активируем плагин WordPress Force HTTPS, он заставит сайт принудительно работать через HTTPS. Данный плагин не обязательный, при условии что вы настроили все в .htaccess

.htaccess для WordPress сайта работающего по протоколу HTTPS

AddDefaultCharset utf-8
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php 
</IfModule>

# END WordPress
RewriteCond %{SERVER_PORT} !^443$ 
RewriteCond %{HTTP_HOST} ^www.web-revenue.ru$ 
RewriteRule ^(.*)$ https://web-revenue.ru/$1 

Если вы работаете так же как и я на хостинге Beget, то он вам подойдет в 90% случаев (только не забудьте заменить в двух последних строчках адрес сайта на свой), на других хостингах может отличатся. И так же перед тем как менять содержимое своего .htaccess сделайте на всякий случай его копию, мало ли.

Включаем все ранее отключенные плагины и отключаете уже не нужные (Better Search Replace и WordPress Force HTTPS — при условии что поправили .htaccess).

Вносим изменение в robots.txt

И так весь файл робот по сути выкладывать смысла нет, в нем нужно заменить по идее только строчку Sitemap и Hots, в случае если она у вас прописана с протоколом.

У меня эти две последние строки сейчас выглядят так:

Host: web-revenue.ru
Sitemap: https://web-revenue.ru/sitemap_index.xml

Включаем режим SSL в плагине защиты

Если у вас нет плагинов защиты, то не парьтесь. Лично у меня установлен плагин защиты iThemes Security, там есть вкладка SSL

Если на нее перейти, то увидите

Режим SSL в пользовательской части сайта, выбираем весь сайт, и SSL для консоли управления ставим галочку на против Обязательное использование SSL для панели управления. Если не чего не включать, все равно все работает по SSL. Так что смотрите сами включать или нет, я включил, прироста нагрузок не заметил.

С настройками WordPress все! Осталось уведомить поисковики что вы перехали на HTTPS. Углубляться в то не буду, это все наглядно показано в видео выше.

Если остались вопросы, задавайте, не стесняйтесь!


Ссылка на ресурсы из видео (статьи):

Хостинг: beget.com Плагин WordPress Force HTTPS: ru.wordpress.org/plugins/wp-force-ssl Плагин Better Search Replace : ru.wordpress.org/plugins/better-search-replaceЯндекс.ВебмастерGoogle Search Console

В дополнение хочу сказать, забыл указать про проблемы со смешанным содержимым (когда у вас вместо зеленого значка замочка с лева, круглешок с восклицательным знаком или красный треугольник с восклицательным знаком, в общем не зеленый замочек), тогда можете считать, что ваш переход на https до конца еще не осуществлен, и вам в следующую статью: Смешанное содержимое HTTPS: как его найти и исправить.

Вывод стандартного выпадающего Bootstrap меню Смешанное содержимое HTTPS: как его найти и исправить >

Развернутая пошаговая инструкция переход сайта с HTTP на HTTPS

1. Смена ссылок с абсолютных на относительные

  • Смена ссылок внутренней перелинковки с абсолютных на относительные. Для того чтобы начать переход на HTTPS, еще перед сменой протокола рекомендуем абсолютные внутренние ссылки на сайте заменить на относительные. Например,
    http://domain.com/landing/ заменить на //domain.com/landing/ или
     на формат URI /landing/
  • Исправление вложений медиа-контента. Изображения, видео, презентации, и др. необходимо тоже все перевести в относительные адреса, и тогда при переходе на HTTPS медиа-контент также должен подгружаться с защищенных сайтов:
  1. Если используемые картинки хранятся на нашем сайте, то просто используйте относительные адреса.
  2. Если подгружаются картинки с внешних ресурсов (CDN или других сайтов), то они также должны поддерживать HTTPS, иначе стоит отказаться от этих вложений.

Популярные сервисы, которые позволяют внедрять свой контент, типа YouTube, SlideShare, виджеты VK или Facebook, и другие, уже давно поддерживают HTTPS, поэтому с ними проблем не возникнет.

Но если есть медиа-контент с непопулярных сервисов, то уточните, будет ли этот контент работать/отображаться, если вы смените протокол.

Исправление подключений внешних скриптов. Необходимо во внешних скриптах также нужно использовать относительные URL. Например, для библиотеки jQuery, вместо кода:

Нужно использовать:

Также и с другими скриптами: Яндекс.Метрика, LiveInternet, Google Analytics, Яндекс.Директ, различные javascript библиотеки и др. Здесь принцип тот же: популярные сервисы и библиотеки поддержкивают HTTPS, а вот с непопулярными могут возникнуть проблемы.

Важно: Также следует изменить URL в атрибутах rel=”canonical”; link rel=»alternate» hreflang (при наличии нескольких языковых версий); rel=»next» и rel=»prev» (на страницах пагинации).

2. Выбор и приобретение подходящего SSL-сертификата

Существует несколько видов SSL-сертификатов по степени защиты:

  • Organization Validation. Подтверждает домен и организацию. Могут проверить информацию в прессе, наличие компании в Whois, свидетельство о государственной регистрации. Средняя цена колеблется от $40 до $200 в год.
  • Extended Validation. Сертификат с расширенной проверкой — для его получения проверяется наличие компании по адресу, свидетельство о регистрации, операционная деятельность, торговая марка. Все для того, чтобы получить зеленую строку в адресной строке браузера. Стоимость в среднем от $120 до $300 в год.

Существует и классификация сертификатов по функциональности:

  • обычные SSL-сертификаты;
  • Wildcard сертификаты — используйте, если хотите установить HTTPS на поддоменах;
  • SAN сертификаты — используется для нескольких доменов.

Нам нужен обычный SSL-сертификат, Domain Validation. После установки сайт должен стать доступен как по http, так и по https.

После получения сертификата и переходе на HTTPS необходимо сообщить SEO специалисту, чтобы он в инструменте для вебмастеров указал нужный домен.

3. Установка и проверка корректности работы SSL сертификата на сервере

После выбора сертификата необходимо установить его на сервере:

  • Сервер должен поддерживать SSL-протокол.
  • Установка выполняется через панель управления хостингом.

Вот так будет выглядеть результат, если все хорошо:

и так, если есть проблема: в этом случае в настройках моего сервера Apache не был настроена опция Forward Secrecy (как исправить читаем и выбираем вариант без RC4).

Обязательно протестируйте настройку SSL и проверьте как отображается сайт в разных браузерах, в том числе на мобильных устройствах: отдельно проверьте сайт с iPhone и Android. Если есть критичные проблемы, необходимо провести настройки по их решению.

5. Настройка редиректов

После выполнения всех выше указанных пунктов необходимо настроить постраничный 301 редирект с HTTP версии сайта на HTTPS.

Дождитесь склейки доменов, у Яндекса это может занять несколько недель, дождитесь сообщения в Яндекс.Вебмастере. И только после получения сообщения настраивайте 301 редирект.

Переезжать или нет?

Свой первый сайт я создал в 2005 году на бесплатном хостинге narod.ru. За прошедшее время была возможность наблюдать за теми изменениями которые происходят в поисковой выдаче. Уже в 2005 году,  для лучшего ранжирования, поисковики рекомендовали наполнять информационные сайты качественным контентом. Однако веб-мастера только посмеивались над этими рекомендациями и клепали откровенные ГС которые весьма неплохо чувствовали себя в выдаче. Часть этих сайтов была заполнена бредо-текстами сгенерированными автоматически. Но время шло и предсказания Яндекса и Google начали претворяться в жизнь — благодаря поведенческим и другим факторам, в ТОП-е выдаче обосновались сайты с текстами интересными для людей.

Рано или поздно, но приходиться начинать играть по правилам поисковых машин.

Обычно поисковики не афишируют влияния тех или иных факторов на поисковую выдачу, но в августе 2014 года Google открытым текстом призвал веб-мастеров переходить на защищенный протокол https для лучшего ранжирования.

Необходимо обратить внимания на тот факт, что Google не делает исключения для информационных сайтов. Дело в том, что «настоящая безопасность» касается не только платежей, но и конфиденциальности о действиях пользователей в Сети.

Что касается Яндекса, то в ближайшее время он никаким образом не планирует дискредитировать сайты работающие по протоколу HTTP (см. статью «Деликатный переезд на https или о чем еще стоит знать» от 20 марта 2017 года).

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

Алгоритм перехода с http на https

Смена протоколов представляет собой процесс по объединению старого и нового адреса и передаче накопленных показателей. Процесс может быть разделен на три условных этапа:

Подготовительные работы

Общий смысл предварительной подготовки заключается в:

  • замене всех внутренних абсолютных ссылок – относительными.
  • внешние скрипты, картинки и прочий медиаконтент должны быть доступны по защищенному протоколу, либо нужно использовать на сайте относительные ссылки без протокола. Например, не http://site.ru/, а относительный протокол //site.ru/.

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

Выбор SSL-сертификата

Сегодня веб-мастерам предлагается несколько сертификатов, отличающихся друг от друга по функциональности:

  • обычные, поддерживающие только один домен;
  • Wildcard, обеспечивающие работу с несколькими поддоменами;
  • SAN-сертификаты, нужные в тех случаях, если у компании имеется несколько доменов в разных регионах;
  • сертификаты с поддержкой IDN – для кириллических доменов.

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

Переезд сайта

После того как сертификат получен необходимо:

Установить его на сайт в панели администрирования хостинга. Большинство хостинг-провайдеров позволяют это сделать автоматически.

Обязательно проверьте корректность настроек вашего сертификата, работает ли он, и действительно ли ваш сайт воспринимается поисковыми системами как безопасный. Провести подобный тест можно при помощи специальных онлайн сервисов. Например, https://www.ssllabs.com/ssltest/analyze.html.

Если сертификат установлен корректно, то вы увидите такую картину:

Как проверить редирект?

Инструмент Яндекс.Вебмастера (раздел «Инструменты» → «Проверка ответа сервера»)

Затем следует выполнить следующие пункты:

  • Проверить настройки сайта. Необходимо создать отдельный файл Sitemap для защищенной версии сайта, в котором ссылки будут с HTTPS. В обеих версиях в robots.txt должна быть прописана директива Host, которая укажет Яндексу на HTTPS-версию как основную. Также нужно учесть, что для канонических страниц в защищенной версии сайта должны быть указаны ссылки с HTTPS.
  • Добавить https в Яндекс. Вебмастер и подтвердить ее. Удалять старую HTTP-версию не нужно. Это позволит сохранить внешние ссылки и данные о добавленных «Оригинальных текстах». Затем в разделе «Индексирование» → «Переезд сайта» отметить HTTPS как «Основной».

  • Добавить https-версию в Search Console и подтвердить права. Google умеет понимать, что http и https это различные протоколы одного и того же ресурса и заменяет их даже без перенаправления к https-версии в Google Search Console.
  • Дождаться склейки зеркал в Яндексе. Обычно этот процесс занимает от 2 до 4 недель. На время склейки обе версии должны быть доступны для роботов.

Если в вебмастере Яндекса вы видите такую картинку, то зеркала склеились:

Как только Вы увидите, что в Яндекс.Вебмастере зеркало с https стало главным, можно переходить к настройке 301-редиректов.

СОВЕТ: Так как риск снижения посещаемости и потери трафика достаточно велик, то все работы по переезду лучше планировать на время сезонного спада в работе, если таковой имеется.

Всех, кто хочет дополнить материал, приглашаем в комментарии:) Поделитесь своим опытом переезда на https.

Search Engine Education Другие материалы автора


С этим читают