- Зачем подключать SLL (переходить на безопасное соединение)
- Шаг 1. Подготовка к установке SLL
- Шаг 2. Заказ и получение SLL сертификата от Let’s Encrypt
- Шаг 3. Настройка WordPress для работы с протоколом HTTPS
- .htaccess для WordPress сайта работающего по протоколу HTTPS
- Настройка редиректа с HTTP на HTTPS из панели управления хостингом
- Что дальше
- Вносим изменение в robots.txt
- Заключительная часть
Приветствую вас уважаемые читатели. Сегодня я расскажу как перевести 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-сертификата вы получите письмо на email о подаче заявки на выпуск SSL, а затем еще одно письмо о завершении его установки.
Если домен использует DNS не бегета, то ssl не выпуститься — и чтобы его получить нужно будет самостоятельно прописать указанный в письме IP-адрес в качестве А-записи для домена.
Получение SSL на VPS в панеле Vesta SP
Для тех у кого VPS — панель Vesta SP, для получения SSL перейдите в раздел «Домены»
Далее на против нужного домена, нажимаем кнопку «Редактировать». Откроется страница редактирования домена, поставьте галки на против пунктов: «Поддержка SSL», «Поддержка Lets Encrypt» и сохраните.
Шаг 3. Настройка WordPress для работы с протоколом HTTPS
Переходим в админку сайта во вкладку настройки и выбираем общие, там есть 2 строки: Адрес WordPress (URL) и Адрес сайта (URL), меняем в них протокол на https.
После чего вас выбросит из административной панели, соответственно перелогиниваетесь и заходите в админку снова.
Далее идем в раздел плагины — установленные и отключаем плагины защиты, если такие имеются (возможно нужно будет отключить и еще какие-нибудь плагины).
Теперь нам нужно заменить в базе данных старые адреса сайта (http://site.ru) на новые (https://site.ru), сделать то можно несколькими способами, но самый простой на мой взгляд способ, установить плагин Better Search Replace и с помощью него заменить все адреса. Идем в «Инструменты» — «Better Search Replace», во вкладке «Поиск/Замена», в поле «Искать» вписываем «http://», а в поле «Заменить на» вписываем «https://», так же можно поставить галку на против пункта «Если отмечено, никаких изменений в БД не будет сделано, позволяет заранее посмотреть на результат.». Далее выделяем все таблицы и нажимаем на кнопку «Запустить Поиск/Замену».
Выйдет предварительная информация, можете посмотреть дополнительную информацию.
Либо убираем галку с пункта «Если отмечено, никаких изменений в БД не будет сделано, позволяет заранее посмотреть на результат.» и снова нажимаем на кнопку «Запустить Поиск/Замену».
После того как плагин изменит все адреса, и вас скорее всего выбросит из административной панели — залогиниваемся.
Далее на первых парах можно установить плагин 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 минут.
Что дальше
Включаем все ранее отключенные плагины и отключаете уже не нужные (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: как его найти и исправить.