Sidebar

Как перевести сайт на https самостоятельно: подробная инструкция

Если ваш сайт до сих пор работает на HTTP, «Пингвин» идет к вам! Ладно-ладно. Вы можете справиться своими силами. Для этого мы подготовили обширную инструкцию (даже скриншоты прикрепили), как перевести сайт на https самостоятельно.   

Зачем переходить на https?

Впервые о переносе сайтов с http на https заговорили в, казалось бы, уже далеком 2014-ом году, когда Google заявил, что безопасность пользователей — главный приоритет компании. Тогда поисковик пообещал всем, кто начнет использовать защищенный протокол, бонусы при ранжировании. Но вознаграждение пришло не сразу. Рост https-ресурсов в топе выдачи по поисковым запросом начался в конце 2016-ого, когда на первой странице в Google доля сайтов, которые используют шифрование, достигла 40%. В то время, как еще в начале года эта цифра была равна 25 процентам.

В 2017-ом рост продолжился. Сейчас, согласно статистике MozCast на 9 января 2018 г., доля сайтов с https среди топ-10 выдачи составляет рекордные 75,4%. Только за последний месяц эта цифра увеличилась на 2 процента.

HTTPS result

Кроме того, браузер Google Chrome теперь помечает http-ресурсы как небезопасные. Если сейчас отметка «Не защищено» отмечена серым цветом, то поисковик обещает сделать ее более заметной в ближайшее время.

protected

no protected

Google Chrome сейчас, согласно статистике w3counter, — самый популярный браузер в мире. Им пользуется 58,8% юзеров. В рунете он также занимает лидирующую позицию — его используют 51,11%.

А что Яндекс?

Официально Яндекс заявляет, что сайты с http и https участвуют в индексации на равных условиях. То есть наличие SSL-сертификата не является самостоятельным фактором ранжирования и никаких бонусов не предоставляет.

Тем не менее, судя по статистике, доля сайтов с https в ТОП-10 выдачи с 1 января 2017 года выросла более чем на 13%.

Каким поисковиком пользуются белорусы? Согласно статистике Liveinternet.ru, 63,4% пользуются Google и только 31,4% все еще отдают предпочтение поисковику от Яндекс.

Время переводить свой сайт на защищенное соединение наступило!

Алгоритм самостоятельного перехода на протокол HTTPS

Если сейчас покупка SSL-сертификата обязательна,  в первую очередь, для ресурсов, которые хранят пользовательские данные, (если, конечно, они не хотят потерять клиентов), то в перспективе перейти на безопасное шифрование придется всем сайтам. Перенести сайт с http на https можно самостоятельно. Главное, учесть нюансы и делать все последовательно.

Важно понимать, что процедура переноса зависит от архитектуры/CMS, поэтому этот процесс может отличаться в каждом конкретном случае. Мы постарались написать для вас наиболее типовой универсальный алгоритм. Но не забывайте учитывать особенности реализации именно вашего сайта. Так, например, в ряде систем есть расширения/функции, которые значительно упрощают переход на защищенное соединение. Дальше представляем наш алгоритм. Удачи!

1. Выбор и приобретение SSL-сертификата

Чтобы сэкономить время на ожидании сертификата, рекомендуем выбрать и купить его сразу, а потом переходить к подготовке сайта.

Не советуем использовать бесплатные сертификаты. Это небезопасно, так как браузер даже после его установки может выдать ошибку о том, что сайт не проверен. Но решать вам: сейчас можно найти множество различных предложений, в том числе и бесплатных. Иногда хостинг-провайдеры предлагают SSL-сертификаты в подарок за покупку хостинга и домена.

По функциональности сертификаты разделяют на:

  • Обычные;

Подходят как для физических, так и для юридических лиц. Самый бюджетный вариант.

  • Wildcard;

Его приобретают, если у ресурса есть поддомены.

  • SAN;

Этот сертификат можно использовать для нескольких доменов.

  • С поддержкой IDN.

Необходим для кириллических доменов.

По степени защиты сертификаты делятся на:

  • Domain Validation;

Самый распространенный тип. Он выдается только на один домен. Самый бюджетный вариант.

  • Organization Validation;

Этот тип подтверждает не только домен, но и организацию. При его покупке у вас могут запросить свидетельство о государственной регистрации.

  • Extended Validation.

Это сертификат, выдачу которого осуществят лишь после проверки адреса, свидетельства о регистрации, торговой марки. Покупка сертификата статуса «Extended Validation» позволяет получить зеленую строчку в браузерной строке.

Самый простой способ приобрести SSL-сертификат — обратиться за ним к компании, которая предоставляет хостинг вашему сайту.

Вы можете прочитать подробную инструкцию по покупке SSL-сертификата от Hoster.by.

2. Подготовка сайта

Чтобы избежать возникновения ошибки смешанного содержания «Mixed Content» после смены протокола, мы рекомендуем проверить все ссылки на вашем ресурсе.

Для проверки можно воспользоваться инструментом браузера «Инспектор кода» (вкладка »Безопасность»).

Должно быть так:

Security overview ok

Не должно быть так:

Security overview no

Все подключения скриптов (в том числе на внешних ресурсах), изображений и прочих файлов, а также внутренние ссылки должны быть без указания протокола http (то есть или относительными ссылками, или абсолютными ссылками с указанием протокола https, или абсолютными без указания протокола).

Например, вместо такого http://penguin.by/styles/main.css в текстах должно быть или такое /styles/main.css, или такое  //penguin.by/styles/main.css.

SEO-специалисты рекомендуют использовать третий тип ссылок (но основной критерий здесь, все же, сохранение работоспособности кода).

Где и как менять ссылки?

На этот вопрос нет универсального ответа. В каждом конкретном случае нужно действовать по-разному. Часть ссылок будут прописаны в исходных кодах вашего сайта (php, html и прочих файлах). Чтобы поменять такие ссылки, вам нужно будет найти все файлы, в которых есть проблема, скачать их с сервера, внести изменения и загрузить обратно через ФТП-соединение. Часть ссылок будут находиться в контенте (например, в тексте статьи на сайте) — такие ссылки можно менять вручную через админку. Обратите внимание, что на этом шаге идет речь только о ссылках типа <a href=”..”>..</a> внутри вашего сайта. Если вы замените ссылку на чужой сайт, указав протокол https, а чужой сайт еще не перешел на безопасное соединение, ваши посетители при переходе по данной ссылке обнаружат ошибку.

Иногда внутренних ссылок на сайте очень много и заменить их вручную через админку не представляется возможным. В этом случае вы можете сделать эту операцию автоматически через базу данных одним махом. О том, как заменить ссылки на сайте для перехода на https с помощью phpMyAdmin, читайте в отдельной инструкции.

3. Подключение сертификата

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

Крупнейшие хостинг-провайдеры предоставляют к выдаваемому сертификату инструкцию по их установке. Также мануал можно найти на официальных сайтах. На свой сайт мы установили сертификат, который купили у hoster.by. Вот инструкция по его установке.

После вам нужно проконтролировать правильность установки. Корректность проверяется следующим образом:

  • Зайдите на свой сайт по двум протоколам — http и https. И в том, и в другом случае он должен быть доступен;

  • Проведите анализ с помощью специального сервиса. Например, ssllabs.com.

Если все настроено правильно, то результат будет выглядеть так:

summary

Это значит, что все страницы сайта автоматически станут доступны по двум url-адресам.

4. Сообщение поисковикам о переносе сайта

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

Шаг 1. Сообщение поисковым роботам

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

yandex penguin

Также добавьте сайт с указанием протокола https в Google Search Console.

Google Search Console penguin

Яндекс и Google просят подтвердить право собственности на сайт любым удобным способом.

yandex verification

google verification

verification google

Шаг 2. Выберите адрес главного зеркала в Яндекс.Вебмастере

Далее укажите адрес главного зеркала вашего сайта. Сделать это можно, внеся изменения в файле robots.txt. О том, как добавить директиву Host, читайте в справочной информации поисковика.

Шаг 3. Сообщите роботу об изменении главного зеркала

Сообщите Яндекс-роботу, что у вас изменилось главное зеркало сайта. Для этого зайдите в вебмастер на страницу «Настройки индексирования» и выберите «Переезд сайта».

pereezd yandex

pereezd penguin

Шаг 4. Обновите Sitemap в Search Console

Не забудьте обновить XML-карту. Ее можно загрузить в подразделе «Файлы Sitemap» раздела «Сканирование» Search Console.

site map penguin

Шаг 5. Ожидание

 Сейчас у вас есть два вариант развития событий:

  • Ждать, пока поисковик определит https-версию главным зеркалом вашего ресурса. Это может занять от трех дней до целого месяца. Зато, выбрав этот вариант, меньше рисков, что сайт снизит позиции в выдаче.

  • Принять риски и приступить к следующему шагу.

Шаг 6. Настройка 301 редиректа

Будем считать, что вы дождались, когда хотя бы 90% страниц вашего ресурса уже проиндексировались (или приняли возможные риски, тут уж вам решать). Теперь можно приступить к следующему, последнему шагу — настройке 301 редиректа с неглавного зеркала.

Эта процедура проходит по-разному в зависимости от установленной системы управления содержимым (CMS). Например, Joomla позволяет настроить 301 редирект за пару секунд — вам всего лишь нужно выбрать «Весь сайт» напротив «Включить SSL» в настройках сервера.

server

Чаще всего процесс перенаправления с http:// на https:// выполняется с помощью кода, который необходимо прописать в файле .htaccess.

Вот несколько вариантов этого кода:

1 вариант:

RewriteEngine On

RewriteCond %{HTTPS} =on

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

2 вариант:

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

3 вариант:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Шаг 7 (заключительный). Проверить, как работает сайт

На этом этапе необходимо посмотреть, как работают настройки сайта, которые вы делали еще до установки сертификата.

 

Как видите, https перевод — не такое уж простое дело. Но, если вы отважны и полны веры в себя, у вас все обязательно получится! Будьте внимательны, чтобы не допустить ошибок. Ведь их исправление может оказаться дороже, чем оплата услуги по переводу сайта на https.