Переводим сайт на HTTPS за 5 шагов
В 2014 защищенный протокол HTTPS стал одним из факторов ранжирования в Google. А с июля 2018, Chrome начал помечать все HTTP-сайты как небезопасные. Его примеру последовали Mozilla, Safari и даже Microsoft Edge. То есть теперь, если вы открыли сайт без HTTPS, браузер сообщает, что соединение ненадежно.
При этом не важно, хранятся ли на сайте пароли или данных банковских карт. Отметку получают все, а это, согласитесь, доверия к сайту не добавляет.
Если же вы храните на сайте конфиденциальные данные, и ваш сайт ориентирован на аудиторию из стран Евросоюза, то вам стоит беспокоиться еще и о юридических последствиях. С мая 2018 вопросы защиты данных пользователей регулирует регламент GDPR. И согласно GDPR, сайты несут полную ответственность за безопасность и конфиденциальность личных данных пользователей. То есть если в результате атаки произойдет утечка личных данных, на вас могут подать в суд и наложить значительный штраф.
Достаточно страшилок. Думаю, вы поняли, что без HTTPS вам не обойтись. Давайте разберемся, как же обезопасить свой сайт и себя.
Чем отличаются HTTP и HTTPS
HTTP (Hypertext Transport Protocol) — протокол для передачи данных между браузером и сервером, на котором хранятся файлы сайта. Его главный недостаток в том, что в процессе передачи данные могут перехватить: изменить или просто украсть.
Решается эта проблема с помощью шифрования. Тогда злоумышленник, если и получит доступ к данным, то не сможет понять, что означает этот набор букв и цифр. Собственно для этого и нужен HTTPS. Буква “S” в конце говорит, что он “Secure” — “безопасный”.
Чтобы перевести сайт на безопасный протокол и при этом не потерять трафик, нужно последовательно выполнить 5 действий.
Шаг 1. Выбираем SSL-сертификат
За шифрование данных отвечает протокол TLS, также известный как SSL. Это файл с ключами шифрования, прошедший проверку специального сертифицирующего органа. Его вам нужно будет купить/получить, чтобы перевести сайт на HTTPS.
Важно: Перед покупкой убедитесь, что ваш хостинг поддерживает HTTPS. Иначе установить SSL-сертификат и перейти на HTTPS не получится. Проверьте, работает ли ваш CDN-провайдер с HTTPS, если у вас большой сайт и вы пользуетесь сетью доставки контента (CDN).
Дальше нужно определиться с типом SSL-сертификата. Они отличаются уровнем защиты и количеством защищенных доменов.
По уровню защиты различают три типа:
DV (Domain Validation) — работает только для одного домен. Для получения такого сертификата нужно подтвердить, что вы владелец этого домена.
Учтите, что базовый сертификат защищает всего один сайт без поддоменов. Если у вашего сайта есть поддомены (admin.example.com, blog.example.com и тд.), вам понадобится специальный Wildcard SSL-сертификат. Подробнее о нем расскажем чуть ниже.
OV SSL (Organization validated) — кроме правообладания, проверяет регистрационные документы компании и данные Whois. Стоит дороже, чем базовый DV-сертификат и выпускается дольше.
EV (Extended validation) — расширенная проверка. Включает подтверждение адреса, упоминания в прессе, профили в бизнес-каталогах, с вами также пообщаются по телефону. Этот тип сертификата нужен банкам, финансовым организациям, госслужбам. Если это не ваш случай, достаточно будет сертификата уровня DV.
Раньше сайты, получившие EV-сертификат, могли похвастаться зеленой адресной строкой в браузере, а рядом с адресом сайта в большинстве браузеров отображалось название компании.
Сейчас, чтобы проверить, прошла ли компания расширенную проверку, нужно кликнуть на значок замочка и искать детали в настройках.
Смотря сколько у вас доменов и есть ли поддомены, можно выбрать следующие варианты:
- Базовый сертификат для одного домена;
- Wildcard-сертификат, защищающий также поддомены (например, admin, blog, help);
- Мультидоменный сертификат сразу для нескольких сайтов.
То есть при выборе сертификата вы ориентируетесь на то, какая степень защиты вам нужна и сколько доменов (включая поддомены) вы хотите защитить.
Выбрали тип сертификата — теперь нужно его получить.
Шаг 2. Покупаем и внедряем сертификат
Вариант 1 — купить у провайдера
Самый простой способ обзавестись SSL-сертификатом — приобрести его у своего же хостинг-провайдера. Так будет быстрее и удобнее. Стандартная процедура установки SSL-сертификата включает несколько этапов:
- выбор подходящего типа сертификата и его покупка;
- генерация приватного ключа шифрования и CSR-запроса (запроса на выпуск сертификата) на стороне хостинга;
- активация SSL-сертификата на стороне продавца сертификата — для этого вам понадобится ранее сгенерированный CSR-код;
- после отправки запроса центру сертификации нужно подтвердить свое право на домен;
- после валидации вы сможете скачать свой SSL-сертификат и привязать его к своему сайту — это делается на стороне хостинга.
Покупая SSL-сертификат у своего хостинг-провайдера, вы скорее всего сможете убрать несколько этапов из списка — здесь все зависит от условий хостинга. Возможно, нужно будет нажать пару кнопок, и все настроится автоматически. В любом случае, стоит проверить, что может предложить ваш провайдер. Также проверьте, не входит ли SSL-сертификат в ваш пакет услуг в качестве бонуса — такое тоже бывает.
Вариант 2 — купить напрямую
Если по каким-то причинам вариант покупки SSL-сертификата у хостинг-провайдера вам не подходит, можно взять его напрямую у компании, выпускающей сертификаты (например Comodo, Symantec, Geotrust) или в одном из специализированных интернет-магазинов.
Вариант 3 — получить бесплатно
Есть также вариант получить сертификат совершенно бесплатно благодаря инициативе Let’s encrypt. Единственный нюанс: можно получить только сертификат уровня DV и сроком всего на 3 месяца (обычные SSL-сертификаты выпускаются на год). Так что сертификат от Let’s encrypt придется постоянно обновлять.
После установки SSL-сертификата нужно проверить, корректно ли он работает. Это можно сделать с помощью теста SSL Server Test. Сервис проверит наличие сертификата, какой протокол шифрования используется, стойкость шифра и выставит общую оценку сайту. Самый высокий возможный рейтинг — A+, если вы получили оценку B и ниже, сервис укажет причину.
Шаг 3. Объединяем зеркала HTTP и HTTPS
После установки SSL-сертификата ваш сайт будет доступен и через HTTP, и через HTTPS. Вот только в глазах поисковиков — это два отдельных сайта, которые могут конкурировать между собой в выдаче. Поэтому вам нужно объединить две версии сайта, настроив переадресацию с HTTP на HTTPS. Так поисковики поймут, что вы просто переехали. По мере индексации HTTPS-страниц их HTTP-версии будут выпадать из выдачи и ссылочный вес постепенно перейдет к новой версии сайта.
Перед настройкой редиректа нужно заменить абсолютные ссылки на сайте на относительные. Тогда после настройки переадресации сайт сразу будет работать корректно, и вам не придется тратить кучу времени, исправляя внутреннюю перелинковку и перестраивая путь к картинкам, видео, скриптам, и тд.
Меняем ссылки на относительные
Относительная ссылка — это ссылка без указания протокола соединения, абсолютная — с ним.
Например: абсолютная — https://seranking.com/ru/blog/, относительная — seranking.com/ru/blog/.
В относительных ссылках браузер сам добавляет протокол, исходя из текущего адреса страницы. То есть, если после настройки редиректа все страницы сайта будут подгружаться через HTTPS, внутренние ссылки на этих страницах также по аналогии подгрузятся через HTTPS.
Все ссылки нужно заменить на относительные, включая внутреннюю перелинковку, таблицы стилей, скрипты, ссылки на картинки, видео, и тд. В противном случае после внедрения HTTPS вы столкнетесь с ошибкой смешанного контента — это когда некоторые элементы страницы подгружаются через HTTPS, а некоторые по незащищенному HTTP.
Через элементы, подгружаемые по HTTP, злоумышленники могут перехватить и остальные зашифрованные данные. То есть вы вроде как надежный замок на дверь поставили, а окно закрыть забыли. Естественно, при таком раскладе браузеры будут помечать соединение с вашим сайтом как небезопасное.
Если у вас большой сайт, замена ссылок на относительные может занять много времени, поэтому сделать это стоит еще до покупки SSL-сертификата. Тогда после установки сертификата, вы сможете сразу приступить к настройке редиректа. С настройкой переадресации важно не затягивать, чтобы поисковики не успели проиндексировать обе версии сайта и они не начали конкурировать в выдаче.
Настраиваем 301 редирект
Переадресацию можно настраивать сразу после установки SSL-сертификата. Если ваш сайт размещен на сервере Apache, настроить 301 редирект можно добавив несколько строчек кода в файл .htaccess. Находится этот файл в корневой папке сайта. Файл скрытый, поэтому в настройках админ-панели вашего хостинга нужно разрешить показывать скрытые файлы. Обязательно скопируйте найденный файл на случай непредвиденных ошибок. Если файл все-таки не обнаружится, его можно создать в текстовом редакторе.
Дальше добавляем в файл следующие строчки кода, заменив https://example.com на адрес своего сайта:
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule .* https://example.com/%{REQUEST_URI} [R=301,L]
Если все сработает правильно, вписав HTTP-версию сайта в адресной строке браузера вы все равно попадете на HTTPS-сайт. А значит поисковых роботов и пользователей тоже перенаправит на HTTPS-версию.
Шаг 4. Обновляем данные в вебмастере Google
Обновляем данные в Google Search Console
Чтобы Google проиндексировал новый сайт быстрее, нужно добавить HTTPS-версию сайта в панель вебмастера Google и подгрузить обновленную карту сайта. Хотя возможно добавлять новую версию сайта вам не придется. Достаточно будет обновить файл sitemap.
Дело в том, что в феврале 2019 года Google добавил возможность создавать в Search Console ресурс, включающий в себя целый домен во всех его вариациях (с www, без www, мобильную версию на m поддомене, с протоколами HTTP и HTTPS). Если вы подтверждали свое право собственности с помощью записи DNS, Google должен был автоматически перевести ваш сайт в статус доменного ресурса. В таком случае данные по обновленным HTTPS-страницам тоже подтянутся в Google Search Console автоматически.
Если же ваш сайт имеет статус ресурса с префиксом в URL, нужно будет добавить HTTPS-версию сайта вручную. Здесь у вас есть выбор: все-таки создать доменный ресурс или добавить HTTPS-версию как отдельный ресурс.
В первом случае вы сможете получать сводную статистику с данными по HTTP-версии. Но учтите, что доменные ресурсы доступны только в новой версии Google Search Console, в которой отсутствуют некоторые привычные инструменты включая Disavow tool. Так что если инструмент вам нужен, при добавлении HTTPS-сайта выбирайте вариант ресурса с префиксом в URL. И не забудьте потом подгрузить файл Disavow.
Шаг 5. Находим и исправляем ошибки
Так как перед настройкой редиректа мы заменили все ссылки на относительные, критических ошибок после настройки переадресации вылезти не должно. Но стоит все же провести аудит сайта и проверить, все ли в порядке.
Обращаем внимание на такие нюансы:
- существующие страницы должны возвращать код ответа 200, а несуществующие — 404;
- в файле robots.txt не должно быть директив, запрещающих индексацию HTTPS-страниц;
- теги rel=canonical, rel=alternate и атрибут hreflang должны указывать на HTTPS-версию;
- Страницы не должны возвращать ошибку «смешанный контент», то есть все элементы страницы должны подгружаться через HTTPS.
Все необходимое вы узнаете с инструментом «Аудит сайта» от SE Ranking. В разделе «Анализ страниц» вы увидите, страницы с ответом 404, найдете страницы, заблокированные в robots.txt, а также страницы с тегами rel=canonical, rel=alternate и атрибутом hreflang. В два клика вы сможете выгрузить списки таких страниц в .xls файл для дальнейшего анализа. Нужно просто кликнуть на иконку ссылки, а потом нажать кнопку «Экспорт».
Чтобы проверить, не возникло ли у вас проблем со смешанным контентом, переходим по вкладку «Просканированные страницы» и находи соответствующую колонку. Здесь будет информация сразу по всех страницах сайта, что очень удобно, так как большинство сервисов проверки предлагают проверять по одному URL-у вручную.
Чтобы воспользоваться инструментом «Аудит сайта» достаточно зарегистрироваться на платформе SE Ranking и создать проект под ваш сайт. Аудит начнется автоматически. После у вас будет еще 14 дней, чтобы бесплатно попробовать и другие инструменты SE Ranking, в том числе инструмент проверки позиций.
Когда всё настроили, отслеживаем колебания выдачи
Кроме технических сложностей от переезда на HTTPS многих удерживает страх потерять трафик и позиции.
Первое время после переноса выдачу действительно может штормить, но если вы учли все технические нюансы, сильной просадки быть не должно. И как только все HTTP-страницы выпадут из индекса, прежние позиции и трафик должны вернуться.
Помните, что 301 редирект передает до 99% ссылочного веса, а HTTPS – фактор ранжирования (хоть и не самый важный). Так что, возможно, вы даже окажетесь в числе счастливчиков, чьи позиции после перехода на HTTPS выросли.
В любом случае, все колебания выдачи в первые месяцы после переезда стоит отслеживать. Тогда в случае падения, вы сможете разобраться, что пошло не так, и быстро среагировать. Мониторить выдачу удобно в инструменте SE Ranking «Проверка позиций». Здесь вы сможете отслеживать динамику своих позиций в Google для любого региона и устройства.
Переехать на HTTPS нужно всем
Переезд на HTTPS — процесс технически сложный. Нужно учесть множество деталей, а упустив некоторые нюансы, вы рискуете сломать сайт и/или потерять трафик и позиции. Но этот риск оправданный. Откладывая переезд на потом, вы подставляете своих пользователей и можете потерять лояльность поисковиков.
Еще в 2018 в Google заявили что в долгосрочной перспективе они хотят отказаться от иконки безопасного соединения и помечать только незащищенные сайты. Цель Google — преобразить Интернет, так чтобы пользователи по умолчанию ожидали, что соединение безопасное. Каким образом поисковик будет побуждать сайты переходить на HTTPS — неизвестно. Но вполне возможно, что в ход пойдет метод кнута и использование протокола HTTP станет негативно влиять на ранжирование. В любом случае советуем не ждать, пока поисковики предпримут новые меры, а переходить на HTTPS уже сейчас. А наш путеводитель поможет вам организовать переезд правильно.