CASH4BRANDS

Как перевести сайт на https и подключить SSL протокол Let’s Encrypt

Эта статья о том, как я перевел сайт на https и подключил SSL протокол Let’s Encrypt для своего WordPress блога.

Поисковая система Google еще в конце 2016 года анонсировала, что в поисковой выдаче защищенные страницы будут находиться выше, чем не защищенные. Это заставило меня задуматься прикрутить сайту протокол безопасности SSL. Но я откладывал это в долгий ящик. Наконец появилось свободное время и я созрел для переезда на https:// .

Какие преимущества SSL ?

Основной мой мотив, зачем мне нужен SSL, я озвучил, забавно что в данный момент поисковая система Яндекс не дает преимущество в поисковой выдаче защищенным страницам.

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

Далее стоял выбор, у кого приобрести SSL сертификат. Перелопатив тонну информации в интернете, я пришел к выводу что для моего блога вполне подойдет бесплатный сертификат Let’s Encrypt. Можно конечно приобрести платный, но моему сайту не требуется защита 80lvl, поскольку это не сайт банка и не платежная система.

Процесс установки сертификата можно разделить на три этапа:

  1. Установка сертификата SSL
  2. Работа с сайтом, что бы сертификат встал корректно
  3. Переиндексировать сайт поисковой системой

Перед любыми своими действиями сделайте полный бэкап сайта и базы данных. Я не несу ответственности за прямоту ваших рук.

Установка сертификата SSL Let’s Encrypt

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

Хостер предоставляет мне доступ к сайту через cPanel, а также возможность подключить SSL сертификат Let’s Encrypt для моего сайта прямо из cPanel.

Let's Encrypt cPanel

Во вкладке Issue a new certificate нужно выбрать необходимый сайт (если у вас их несколько) и подтвердить действие Issue. Сертификат сгенерируется. В этой же вкладке можно проверить активен ли сертификат, а также обновить, переустановить и посмотреть его состояние.

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

Важно! Если вы не можете попасть в админку своего сайта, смените в адресной строке URL  с https:// на http:// .

Работа с сайтом

Сертификат установлен. В БД(базе данных) нужно переписать пути файлов, в данный момент они http://, а должны стать https:// . Например изображения, аватарки и прочий контент. Иначе пропадет зеленый замочек в адресной строке и в консоли браузера (вызывается клавишей F12 в Google Chrome) будет ошибка Mixed Content.

Смешанный контент

Смешанный контент

Прежде всего нужно зайти в «Настройки — Общие» и заменить там URL сайта на https://.

URL сайта

URL сайта

Заменить в БД пути файлов(адреса) можно двумя способами, руками или с помощью скрипта. Рассмотрим оба.

Замена с помощью скрипта Search Replace DB

  1. Качаем скрипт Search Replace DB, читаем инструкцию
  2. Устанавливаем, согласно инструкции в корневую папку сайта
  3. Файл wp-config.php должен быть уже с правильными настройками доступа к БД
  4. Активируем скрипт введя в адресной строке ваш_сайт/Search-Replace-DB-master/
  5. Заполняем поля в первой строчке:
    replace — старый домен (в моем случае http://sergei-loginov.com)
    with — новый домен ( в моем случае https://sergei-loginov.com)
  6. Жмем Dry run, чтобы проверить замену
  7. Проверяем последствия если все прошло правильно, жмем Live Run
  8. ОБЯЗАТЕЛЬНО нужно удалить скрипт, когда он больше не нужен
Search Replace DB

Search Replace DB

Этот способ считается правильным, поскольку не может даже теоретически повредить базу данных и позволяет делать корректную замену записей в БД.

Второй способ не так безопасен, но гораздо быстрей, я его применял на своем блоге, поскольку контента не много и структура БД — проста.

SQL-запрос для замены адресов в БД на WordPress

Я правил на своем сайте адреса с помощью SQL запросов, потому что к тому моменту не знал что есть скрипт.

Нужно перейти в phpMyAdmin, выбрать нужную базу данных, перейти на вкладку SQL, вставить запросы в поле и нажать OK.

SQL запрос

SQL запрос



Обратите внимание, что «wp_» это стандартное имя БД для WordPress, у вас оно может быть другое и нужно ставить корректное имя базы данных. Например, у вас БД может иметь имя lsd11_ или mojsait или любое другое. Следовательно в запросе надо это учитывать и ставить lsd11_options или mojsaitoptions, что бы запрос был правильным.

Стандартные места, где встречаются адреса это:

  • wp_options значения абсолютного URL сайта
  • wp_posts ссылки и изображения в содержимом постов
  • wp_postmeta мета-данные записи, ссылки генерируемыми разными плагинами или темой

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

Более полный запрос выглядит так:

У Миши Рудрастых, есть конструктор, который позволяет сформировать запрос SQL, если вам лень руками формировать его самим. Спасибо ему за это!

Все же не рекомендую такой способ, если вы до конца не понимаете, что делаете.

Перенаправление с http на https

Мой хостер рекомендует использовать такую конструкцию:

 

Для этого нужно иметь доступ к файлу .htaccess в корневой папке сайта и вставить данный код в самый низ. Этот код устанавливает 301 редирект с http://на https://. Более простым языком, это для того что бы ссылочный вес страниц с http:// перенесся на страницы https://.

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

Проверка сайта

На этом второй этап завершен и нужно обязательно проверить сайт на наличие ошибок. Чаще всего это Mixed Content (смешанный контент). Для проверки используйте инструменты разработчика, вызывается клавишей F12 в Google Chrome, об этом я уже писал выше.

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

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

Переиндексация сайта

XML карта сайта

Прежде всего нужно обновить XML карту сайта, облегчить поисковым системам переиндексацию сайта. Для генерации XML карты сайта я пользуюсь плагином All in One SEO Pack.

Нужно зайти и сгенерировать новую XML карту сайта, проверить корректность URL в новой карте, в моем случае это стандартный адрес https://sergei-loginov.com/sitemap.xml , у вас скорей всего будет https://ваш_сайт/sitemap.xml.

Обновить robots.txt

Нужно исправить в файле robots.txt параметры Host и Sitemap с http на https.

И только после этого нужно сообщить поисковым системам о том что сайт перетерпел изменения.

Google

  1. В Search Console жмем «Добавить Ресурс» и добавляем сайт с https.
  2. Вкладка «Сканирование — Инструмент проверки файла robots.txt», проверяем, корректируем и обновляем файл robots.txt.
  3. Вкладка «Сканирование — Файлы Sitemap», жмем «Добавление/проверка файла Sitemap» и загружаем XML карту сайта.
Sitemap Search Console

Sitemap Search Console

Провал на графике, это как раз момент переезда на https. Статистика у меня появилась где-то через неделю.

Яндекс

  1. В Яндекс Вебмастер — «Индексирование — Переезд сайта» , добавляем сайт с https.
  2. Вкладка «Индексирование — Файлы Sitemap», добавляем XML карту сайта с https.
Сайт переиндексирован

Сайт переиндексирован

Сначала сайты с http и https будут располагаться рядом, после переиндексирования, Яндекс поймет какой домен главный, и не главный будет располагаться ниже, вольется в структуру главного. Со временем странички http будут удалены из поиска и останутся только https.

До момента склейки, пропадет тИЦ и PR, после склейки сайтов, он восстановится.

тИЦ 10 восстановился

тИЦ 10 восстановился

Резюмируя

Полный процесс перехода на https, как видите не сложный и нужно делать переход как можно раньше.

По времени сама установка сертификата SSL заняла у меня меньше минуты.

Настройка сайта около часа, пришлось искать и устранять проблемы смешанного контента.

Дальше процесс пошел медленней, поскольку зависел не от меня, а от поисковых систем. Google быстрее съел мой сайт, на это ушло около двух недель, Яндекс — медленней, около трех недель.

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

Гуру также стращали, что трафик с первых дней переезда катастрофически просядет, я не заметил этого, наоборот у меня повысился трафик, по ощущениям на 20-30%. Я не могу точно сказать почему, из-за новых статей или из-за того что в поиске стало больше страниц. Но эта тенденция сохранилась и теперь. Сейчас у меня больше органического трафика, чем было до переезда на https. Сайт у меня маленький и трафик маленький, возможно для большого сайта потери в трафике действительно будут и существенные.

На этом статью, о переезде моего сайта на https и подключение SSL протокола Let’s Encrypt для блога WordPress,  можно считать законченной.

HOSTiQ

Скоростной хостинг. Хостим и Лелеем!

0

Автор блога.

Мы будем рады и вашему мнению

Оставить отзыв