Как настроить SSL и HTTPS для сайтов на базе WordPress

ssl for wordpress
ssl for wordpress

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

Поделитесь этой новостью/фото с друзьями в социальных сетях

Что такое HTTPS

HTTPS – это защищенный протокол обмена данными между сайтом и его посетителями, который позволяет шифровать трафик. Использование HTTPS вместо HTTP предотвращает возможность доступа злоумышленников к личным данным пользователей (пароли, номера кредитных карт, адреса электронной почты).

Для многих сайтов протокол HTTPS уже стал стандартным, в то время как Google анонсировали, что с 2015 года будут помечать HTTP-сайты как небезопасные. Помимо преимуществ использования HTTPS-протокола, стоит отметить, что сайты работают немного медленнее, чем обычные с HTTP-протоколом, так как необходимо время на установку защищенного соединения и шифрование данных.

SSL-сертификаты

Чтобы настроить HTTPS для сайта, необходимо приобрести SSL-сертификат. Для получения сертификата нужно обратиться в компании, которые выдают SSL-сертификаты. Например, в RU-CENTER – крупнейший регистратор доменов и один из ведущих хостинг-провайдеров в России. Часто SSL-сертификат может входить в стоимость хостинга сайта. Мы также писали про бесплатный SSL для любого сайта от Cloudflare – возможно, именно такой вариант подойдет для вашего сайта.

Создание и подписание SSL-сертификата

Для того чтобы подписать сертификат у поставщика, его необходимо создать. Это можно сделать с помощью утилиты OpenSSL (по умолчанию есть в OS X и большинстве Linux). Для Windows можно использовать OpenSSL для Windows или Cygwin.

Чтобы создать новый SSL-сертификат и запрос на подпись, нужно воспользоваться этой командой:

openssl req -nodes -newkey rsa:2048 -keyout yourdomain.ru.key -out yourdomain.ru.csr

Также необходимо заполнить некоторые данные о сертификате. При запросе Common Name (FDQN) введите ваш домен, без // и без www. После заполнения всех остальных данных у вас появится два новых файла.

Для примера мы будем использовать «yourdomain.ru»:

  • yourdomain.ru.key – приватный ключ к новому сертификату;
  • yourdomain.ru.csr – запрос на подписание нового сертификата.

Необходимо приватный ключ хранить в тайне и не выкладывать в общий доступ или пересылать по электронной почте. Файл с расширением .csr необходимо отправить на подпись поставщику SSL-сертификатов.

Например, в случае с сертификатом PositiveSSL от NameCheap необходимо перейти в раздел SSL Certificates в панели управления и нажать «Activate Now» рядом с вашим новым сертификатом.

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

Настройка HTTPS в WordPress

После внесения изменений в конфигурацию веб-сервера ваш сайт на WordPress должен автоматически стать доступным по протоколу HTTPS. Все ссылки на сайте и в административной панели продолжат использовать протокол HTTP. Поэтому необходимо изменить основной протокол сайта с HTTP на HTTPS (в разделе Параметры/Общие в административной панели WordPress).

Такие же настройки можно задать в файле wp-config.php с помощью констант WP_HOME и WP_SITEURL. Это может быть полезно, если вы совершили ошибку при написании адреса домена и сайт вдруг стал недоступным.

После внесения изменений в адрес сайт, все ссылки будут по умолчанию использовать протокол HTTPS. К сожалению, это не касается тех ссылок, которые были размещены вручную.

Замена HTTP на HTTPS на страницах WordPress

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

Если вы используете WP-CLI, то быстро выполнить поиск с заменой можно командой search-replace:

wp search-replace ‘//yourdomain.ru’ ‘https://yourdomain.ru’

Второй альтернативой является PHP-скрипт Search Replace DB, который также выполняет поиск с заменой, но предоставляет при этом графический интерфейс.

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

Последним шагом в настройке HTTPS является закрытие вашего HTTP-сайта и перенаправление всего трафика на новый протокол с шифрованием. Сделать это надежнее всего на уровне веб-сервера.

Проверка правильности настройки HTTPS

Самой частой проблемой при настройке HTTPS в WordPress являются ссылки и ресурсы, загружаемые по протоколу HTTP. Например, если вы вставили изображение или JavaScript файл по протоколу HTTP, то по умолчанию он не будет отображаться. В таком случае нужно загрузить данный файл на собственный сайт и встроить его, используя протокол HTTPS.

В адресной строке браузеров Chrome и Firefox появятся специальные значки при нарушении HTTPS-соединения какой-либо ссылкой на HTTP-файл, так что при работе с сайтом необходимо обращать внимание на зеленый замок слева от адреса сайта. Этот замок должен всегда оставаться зеленым.

По материалам: Wpmag.