Делаем редирект на HTTPS в WordPress
April 03, 2020
Всем привет. После подключения SSL-сертификата, необходимо правильно настроить в WordPress редирект на https. В противном случае будут плачевные последствия. В этом уроке я расскажу что это такое и покажу как это сделать.
Что такое протокол HTTPS
Протокол HTTPS (расшифровка Hypertext Transport Protocol Secure) — это технология, шифрующая информацию между сайтом и пользователем. При вводе информации посетителем и выводе ее на экран, шифруется все, что дает преграду злоумышленникам похитить личные данные.
Технологии применяемые в HTTPS:
- Шифрование. Каждое действие шифруется.
- Безопасность. При изменении и добавлении новых данных они сохраняются.
- Аутентификация. Блокирует небезопасные перенаправления.
Почему важно перейти на HTTPS
Причин для перехода на HTTPS может быть несколько.
- Первая — это небольшой приоритет в выдаче поисковых систем, сообщаете ПС что вы заботитесь о безопасности и конфиденциальности посетителей.
- Вторая — при сборе контактов (в той же форме комментирования), нужно применять протокол, так как перехватить информацию легко. Часто посетители авторизуются на сайте при помощи социальных сетей.
- Третья — оплата в интернет магазинах. Если имеется интернет магазин без SSL — сертификата он будет заблокирован и помечен, как небезопасный в любом браузере. Google и Яндекс давно отслеживают такие ресурсы и как минимум не дают им первые позиции, и как максимум помечают как опасные.
Общие принципы перехода на HTTPS
Принцип перехода прост, вы покупаете, либо берете бесплатный SSL — сертификат, устанавливаете на сайт (сами или помогает поддержка хостинга), настраиваете элементы для корректного отображения и радуетесь зеленой полоске в браузере. По шагам выглядит так:
- Выбрать платный или бесплатный сертификат.
- Получить персональный ключ.
- Оформить файл с протоколом в онлайн — центре сертификации.
- Установить и привязать сертификат к домену.
- Настроить движок и изменить ссылки.
Изменение префиксов в панели вордпресса
Для редиректа на HTTPS главной страницы в панели WordPress заходим в настройки, в раздел общие и прописываем там дополнительную букву S, как показано на скриншоте. Теперь заходите на сайт по протоколу, по заранее известным логину и паролю.
После смены адреса и подключив перенаправление при входе в админ-панель придется по новой вводить логин и пароль. Совет если не помните то заранее их восстановите.
Перенаправление остальных элементов
Чтобы сделать 301 редирект остальных элементов (не записей), картинок, ссылок, таблиц и т.д. нужно установить ненадолго плагин Velvet Blues Update URLs. Чтобы установить плагин:
- Перейдите в раздел плагины > добавить новый.
- В поле поиск введите название.
- На карточке нажмите кнопку активировать.
Устанавливаем и вводим настройки, заходим в раздел инструменты > Update URLs. В поле Old URL вводим адрес сайта без протокола, а New URL с ним.
Далее переходим ко второму шагу и отмечаем все галочки кроме последней. Этим действием перезапишем все имеющиеся на сайте объекты, в которых могут содержаться URL без протокола, и нажимаем Update.
Инструмент начнет работу, и после покажет сводную таблицу сколько элементов изменено. После проделанной операции, можно деактивировать и удалить его из WordPress.
Редирект на HTTPS 301 в .htaccess
Завершающим этапом является добавление в WordPress 301 перенаправления в файле htaccess. Он регулирует работу Apache, определим существует ли этот файл на вашем сайте.
Apache — оболочка на чем работает сервер, это как на компьютере стоит Windows. Некоторые хостинги пренебрегают добавлением в репозиторий ресурса, пытаясь управлять с помощью сервера.
Идем в корень WordPress и смотрим. Если существует, то открываем его для редактирования, если нет, то создаем. Нужно подключиться к сайту через FTP соединение, я использую FileZilla. Войдя в корневой каталог (определяем корень по папкам wp-content и wp-admin), находим htaccess и кликом правой кнопкой мыши выбираем «Просмотр/Правка».
В появившемся окне программы, вводим конфигурацию написанную ниже после begin wordpress или перед end wordpress. Сохраняем нажатием CTRL+S, либо через меню файл-сохранить. Код подходит и для мультисайта с поддоменами.
RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
После сохранения изменений FileZilla запросит разрешение на перезапись файла htaccess, соглашаемся и программа начнет процесс загрузки.
Это позволит имеющиеся страницы WordPress перевести на https протокол и выводить их автоматически с правильным префиксом. Для проверки работы, зайдите на любую страницу и сотрите букву S, нажмите enter, если редирект с http на https WordPress сработал, то продолжаем.
С помощью плагина Easy HTTPS Redirection
Наиболее простой метод установить плагин, я советую Easy HTTPS Redirection. В данном случаем остальные действия делать не нужно. Установив, переходим к настройке.
- Enable automatic redirection — включает переадресацию.
- Apply HTTPS redirection on — первый пункт перенаправляет весь ресурс, во втором можно выставить для отдельных страниц.
- Force resources to use HTTPS URL — данная галочка может дать множество битых ссылок, она принудительно перезаписывает ссылки в статьях. Не все сервисы и ресурсы перешли на безопасное соединение.
Какие проблемы могут возникнуть при переходе на HTTPS
Проблем при переходе на HTTPS немного. Первая причина не убраны со страницы все исходящие и внутренние ссылки с протоколом HTTP. Далее редиректы, неправильно прописанные в htaccess. Не знание специфики WordPress, что и где нужно менять. Что делать в таких ситуациях:
- Проверить всё ли правильно сделано, в админке и в файле htaccess.
- Если всё хорошо, то проверить работу во всех браузерах, хром, опера, мозилла и т.д. Возможно проблема в неисправном браузере либо в расширениях, которые не дают сработать редиректу.
- Возможны неправильные настройки сервера или SSL — сертификата, с этой проблемой скорее всего придется обратиться в поддержку хостинга. Если ошибка не на их стороне, то к поставщикам сертификата.
Чеклист всех операций
- Меняем в панели HTTP на HTTPS.
- Заменяем все ссылки на новые с буквой S.
- Прописываем правила переадресации в htaccess.
На этом у меня все. До скорого!
Подписывайтесь на канал https://, чтоб не пропускать новые интересные уроки.