Перевод WordPress сайта с http на https (Let’s Encrypt) за 7 минут

Перевод WordPress сайта с http на https (Let's Encrypt) за 7 минут WordPress

Приветствую вас уважаемые читатели. Сегодня я расскажу как перевести WordPress сайта с http на https (Let’s Encrypt) за 7 минут на примере вируального и VPS (vesta sp) от хостинга Бегет, на остальных хостингах это займет я так думаю побольше времени, так как вам в ручную скорее всего придется заказывать SLL, но не суть в любом случае все остальные шаги такие же.

Зачем подключать SLL (переходить на безопасное соединение)

Еще в 2015 году правительство США поручило всем местным федеральным сайтам перейти на HTTPS и сделать это до конца 2016 года. Также разработчики Mozilla Firefox заявили, что скоро перестанет поддерживать небезопасные HTTP-соединения в браузере и в добавок ко всему этому в Google заявили, что начиная с января 2017 года Chrome будет помечать все сайты, работающие через протокол HTTP и передающие конфиденциальную информацию как небезопасные, это все открытая информация о которой знаю я, а мало ли подобной закрытой информации, не исключено что остальные разработчики браузеров последуют таким же путем.

Сейчас Google и yandex дают приоритеты сайтам с HTTPS, следовательно вы должны вырасти в поиске над теми у кого http, при условии что у вас качественный контент.

Так же хочу отметить, что когда вы покупаете SSL сертификат для домена, вы переходите на новую версию протокола HTTP — HTTP/2 (https), которая позволяет выполнять множество запросов в рамках одного соединения, благодаря чему значительно повышается производительность сайтов. Следовательно нагрузки на хостинг тоже сокращаются, так же рекомендую использовать на сайте php 7, оно шустрее 5-й версии.

Вот еще можете почитать статью Moving Toward SSL размещенную на официальном сайте wordpress 1 декабря 2016. Она подтверждает выше сказанное, кроме того в ней написано, что если не будет сертификата на домене, в начале (или в течении, я чет не допер до конца) 2017 года, то у вас не будут работать некоторые важные функции в WP. В конечном итоге сертификат должен быть у всех, а хостинги не дающие SSL, идут в «бан» системы. Так что если ваш хостинг не раздает SSL как мой, то наверное стоит задуматься о переезде.

Думаю этой информации будет достаточно, что бы вы решились перейти на HTTPS. И так приступим. Что бы все не расписывать решил записать видео, так будет нагляднее я думаю.

Резюмирую видео!

Шаг 1. Подготовка к установке SLL

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

Делаем ручной бэкап файлов сайта

и скачав бэкап базы на пк (нужно зайти в mysql, далее в phpMyAdmin и на вкладке «экспорт» выбрать метод экспорта и нажать вперед. Либо сделать все это в разделе backup вашего хостинга, как показано в видео.

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

У кого виртуальный хостинг от beget, переходим в панель управления хостинга в раздел «Домены и поддомены» и выберите напротив домена «Управление SSL сертификатами».

Управление SSL сертификатами

В открывшемся окне перейдите на вкладку «Бесплатный сертификат» и нажмите кнопку «Установить».

Получение бесплатного ssl

Рекомендую выбирать стандартный тип сертификата.

После заказа SSL-сертификата вы получите письмо на email о подаче заявки на выпуск SSL, а затем еще одно письмо о завершении его установки.

Если домен использует DNS не бегета, то ssl не выпуститься — и чтобы его получить нужно будет самостоятельно прописать указанный в письме IP-адрес в качестве А-записи для домена.

Получение SSL на VPS в панеле Vesta SP

Для тех у кого VPS — панель Vesta SP, для получения SSL перейдите в раздел «Домены»

VESTA SP

Далее на против нужного домена, нажимаем кнопку «Редактировать». Откроется страница редактирования домена, поставьте галки на против пунктов: «Поддержка SSL», «Поддержка Lets Encrypt» и сохраните.

Включаем поддержку SSL на Vesta SP

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

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

Меняем в настройках протакол на https

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

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

Теперь нам нужно заменить в базе данных старые адреса сайта (http://site.ru) на новые (https://site.ru), сделать то можно несколькими способами, но самый простой на мой взгляд способ, установить плагин Better Search Replace и с помощью него заменить все адреса. Идем в «Инструменты» — «Better Search Replace», во вкладке «Поиск/Замена», в поле «Искать» вписываем «http://», а в поле «Заменить на» вписываем «https://», так же можно поставить галку на против пункта «Если отмечено, никаких изменений в БД не будет сделано, позволяет заранее посмотреть на результат.». Далее выделяем все таблицы и нажимаем на кнопку «Запустить Поиск/Замену».

Поиск и замена при помощи Better Search Replace

Выйдет предварительная информация, можете посмотреть дополнительную информацию.

Информация о холостом запуске

Либо убираем галку с пункта «Если отмечено, никаких изменений в БД не будет сделано, позволяет заранее посмотреть на результат.» и снова нажимаем на кнопку «Запустить Поиск/Замену».

После того как плагин изменит все адреса, и вас скорее всего выбросит из административной панели — залогиниваемся.

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

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

Для того чтобы сделать редирект с http на https, добавьте в файл .htaccess следующие строки:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$ 
RewriteCond %{HTTP_HOST} ^www.web-revenue.ru$ [NC]
RewriteRule ^(.*)$ https://web-revenue.ru/$1 [R=301,L]
Не забудьте заменить мой домен на все! Либо вот эти строки:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Настройка редиректа с HTTP на HTTPS из панели управления хостингом

Не обязательно вносить правила в файл .htaccess, можно сделать редирект на стороне хостинга. Для этого перейдите в раздел «Сайты», на против сайта нажмите на шестеренку и включите переключатель напротив пункта «Редирект с HTTP на HTTPS». Изменения применятся в течении 5 минут.

Включение редиректа с http на https из панели beget

 

Что дальше

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

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

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

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

Если вы до сих пор используете в robots директиву Host — удалите ее — она больше не работает.

Заключительная часть

С настройками 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: как его найти и исправить.

Поделиться с друзьями
Алексей

Веб-дизайнер и SEO оптимизатор. Занимаюсь созданием сайтов с 2010 года и их продвижение с 2012 года!

Оцените автора
( Пока оценок нет )
Web-Revenue.ru