100
02.04.2018

Как настроить https на WordPress?

Если вы читайте данную статью, то вы хотите узнать, как правильно подключить протокол HTTPS для сайта на WordPress.

SSL (TLS), HTTPS

SSL (Secure Sockets Layer) — это криптографический протокол, который обеспечивает безопасность и конфиденциальность при обмене информацией между сайтом и устройством пользователя. SSL сертификаты используются для шифрования данных и, как правило, они раньше устанавливались на сайтах, на которых передаются конфиденциальные данные (логины, пароли, данные банковских карт и др.)

Протокол SSL обеспечивает защищённый обмен данных за счёт двух следующих элементов:

  • Аутентификация
  • Шифрование

Впоследствии на основании протокола SSL 3.0 был разработан и принят стандарт RFC, получивший имя TLS.
TLS (англ. Transport Layer Security — Протокол защиты транспортного уровня[1]), как и его предшественник SSL (англ. Secure Sockets Layer — транспорт защищённых сокетов) — криптографические протоколы, обеспечивающие защищённую передачу данных между узлами в сети Интернет
На веб-страницах, использующих HTTPS, неприкосновенность информации обеспечивается с помощью протокола TLS (Transport Layer Security ‒ безопасность на транспортном уровне).

HTTPS (Hypertext Transport Protocol Secure) протокол защищает данные, которые оставляет посетитель на вашем сайте. HTTPS — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности.

Для перевода сайта на HTTPS вам необходимо купить или получить бесплатный криптографический сертификат. Своим клиентам мы помогаем подключить бесплатный Let’s Encrypt сертификат.

Центр сертификации Let’s Encrypt

Let’s Encrypt — центр сертификации, предоставляющий бесплатные криптографические сертификаты X.509 для TLS-шифрования (HTTPS). Процесс выдачи сертификатов полностью автоматизирован.

Наши хостинг партнеры Active.by и Hoster.by предоставляют возможность получать и устанавливать бесплатные сертификаты от Let’s Encrypt. После подключения, сертификат будет продлеваться автоматически.

Подключение https для WordPress

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

Для перевода сайта на https необходимо:

Шаг 1

В настройках WordPress «Настройки» -> «Общие» в полях «Адрес WordPress (URL)» и «Адрес сайта (URL)» указать URL адрес вашего сайта с https://

Настройка https для WordPress

Шаг 2

В файле robots.txt прописать Host: https:// название-вашего-сайта

Шаг 3 (перед выполнением – сделайте копию сайта и БД)

Выполним первые два шага, ваш сайт не будет корректно открываться по https. На сайте останутся некоторые страницы с http. В основном это файлы изображений и CSS стилей. Чтобы испарить эти ошибки, достаточно установить плагин: «HTTP / HTTPS Remover»
Настройки плагина не требуются, после первого запуска можно удалить его, так как он все необходимое выполнил.

Настройка https для WordPress

Шаг 4 (Если не помог Шаг 3)

Если плагин не помог – необходимо зайти в панель управления хостинга и в phpMyAdmin и в БД вашего сайта, на вкладке «SQL» выполнить следующий запрос:

UPDATE wp_posts SET post_content = replace(post_content, ‘http://ваш-сайт, ‘https://ваш-сайт);

«ваш-сайт» — пропишите название вашего сайта.

Настройка https для WordPress

После всех действий проверьте любым сканером сайтов (Screaming Frog SEO), все ли страницы перешли на https.
Если ваш сайт стал открываться через HTTPS протокол, поздравляем основная работа по переводу сайта на WordPress на протокол https выполнена.

НО

Возможно если вы в Браузере в поле URL адреса вашего сайта, удалите протокол https:// и нажмете «Enter» ваш сайт откроется через протокол HTTP.

Настройка https для WordPress

Данная проблема решается через ручную переадресацию:

1. Необходимо в начало файла .htaccess добавить код:

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

2.В файл wp-config.php добавить код:

define(‘FORCE_SSL_ADMIN’, true);
if (strpos($_SERVER[‘HTTP_X_FORWARDED_PROTO’], ‘https’) !== false)
$_SERVER[‘HTTPS’]=’on’;

Важно! После переезда на https ваш сайт будет проиндексирован заново.