WordPress SSL: вот что вы должны знать об этом
Опубликовано: 2020-05-27
Если у вашего бизнеса есть присутствие в Интернете, и независимо от того, сколько стратегий SEO вы применяете, вы не можете достичь хорошего рейтинга в поисковых системах, или посетители просто возвращаются с вашего сайта.
Вы решаете провести аудит своего сайта и узнать горькую правду: на вашем сайте не установлен SSL-сертификат! Другими словами, безопасность вашего сайта кажется ненадежной не только для поисковых систем, но и для посетителей.
Из этой статьи вы узнаете, что такое SSL и почему он важен? Какие преимущества дает сертификат SSL и как он работает? Какие типы SSL-сертификатов WordPress существуют и какой лучше всего подходит для вашего сайта?
Это лишь некоторые из вопросов, которые вы должны знать перед установкой WordPress SSL.
- Что такое SSL и почему это важно?
- Как работает сертификат SSL?
- Сертификаты SSL: проверка и типы
- Преимущества использования SSL-сертификатов
- Let's Encrypt: бесплатные сертификаты SSL / TLS
- Установите бесплатные сертификаты SSL на WordPress
- Установить платные SSL-сертификаты на WordPress
- Что такое HSTS и почему вы должны его использовать?
- SSL-сертификаты в Cloudflare (необязательно)
- Очистить веб-сайт, хостинг и кеш браузера
- Убедитесь, что сертификаты SSL работают правильно
- Предупреждение об обнаружении и устранении смешанного содержимого
- Настройте HTTPS для Google Search Console
Что такое SSL и почему это важно?
Secure Sockets Layer (SSL) - это стандарт зашифрованной связи между серверами и браузерами. Браузер получает и интерпретирует этот сертификат и проверяет его подлинность. После выполнения проверки все данные, отправленные через безопасное соединение, зашифровываются. Браузер отображает наличие этого подключения значком закрытого замка и добавляет https перед адресом веб-сайта.

Защищенный протокол передачи гипертекста (HTTPS) представляет собой комбинацию двух протоколов: HTTP и SSL. HTTP - это туннель, по которому передаются данные, а SSL - это протокол безопасности, который шифрует данные в туннеле. В результате несанкционированный доступ к чтению, копированию или расшифровке связи между сервером и клиентом (почти) невозможен. Типичный сертификат SSL включает:
- Доменное имя и открытый ключ
- Информация о сроке действия и серийный номер
- Подпись центра сертификации
SSL-сертификаты имеют временный срок действия (обычно до 90 дней), поэтому их необходимо периодически продлевать, чтобы гарантировать постоянную надежность вашего веб-сайта. Эти сертификаты являются обязательным требованием для всех веб-сайтов, которые обрабатывают личные данные и конфиденциальную финансовую информацию.
Инициатива Google по повышению рейтинга SSL-защищенных веб-сайтов в выдаче также указывает на важность установки SSL-сертификатов. С 2014 года сертификаты SSL стали обязательным компонентом для всех веб-сайтов. Следующая диаграмма показывает резкий рост процента страниц, загружаемых через SSL-сертифицированные веб-сайты.

Мэтт Малленвег, соучредитель WordPress, однажды сказал: « Мы будем продвигать только тех хостинговых партнеров, которые по умолчанию предоставляют SSL-сертификат в своих учетных записях. «Кроме того, вы также можете увидеть специальное упоминание о поддержке HTTP для требований хостинга.
Как работает сертификат SSL?
Протокол SSL представляет собой четырехуровневую конструкцию (запись SSL, рукопожатие, спецификация шифрования изменений и протокол предупреждений), которая надежно шифрует данные между сервером и браузером. Эти уровни позволяют использовать ключ для шифрования / дешифрования и модель аутентификации, основанную на использовании открытого и закрытого ключей.

В этой модели открытый ключ шифрует данные, а закрытый ключ используется для дешифрования. Это происходит на уровне рукопожатия протокола SSL, где происходит обмен асимметричными криптографическими ключами для шифрования и дешифрования данных.
Сертификаты SSL: проверка и типы
Сертификаты SSL обычно бывают трех уровней проверки:
1. Проверка домена (DV)
Центр сертификации проверяет право заявителя на использование определенного доменного имени. Личность компании, которая стоит за доменом, не проверяется. Информация отображается, когда пользователь нажимает на замок защищенного сайта. Как вы можете догадаться, это довольно простой уровень проверки SSL.
2. Проверка организации (OV)
Центр сертификации проверяет право заявителя на использование определенного доменного имени и действительность организации, стоящей за доменом.
Проверка организации (OV) более сложна, но она гарантирует легитимность домена и идентифицирует владельцев компании, тем самым предлагая посетителям больше уверенности. Обычно он используется предприятиями электронной коммерции и корпоративными веб-сайтами.
3. Расширенная проверка (EV)
Центр сертификации проверяет право заявителя на использование определенного доменного имени и подвергает организацию тщательной проверке. Процесс выдачи сертификатов с расширенной проверкой (EV) подробно описан в рекомендациях CA / Browser Forum.
Расширенная проверка (EV) - это высший уровень проверки сертификата SSL, требующий представления документов и юридических разрешений для проверки существования компании. С EV пользователи видят печать защищенного сайта в адресной строке браузера.
Помимо проверки, сертификаты SSL также доступны в нескольких конфигурациях приложений:
1. Единый домен
Если вы хотите защитить только домен, лучше всего подойдет однодоменный сертификат. Эти сертификаты применяются только к домену верхнего уровня (например, website.com) . Этот тип SSL-сертификата доступен со всеми уровнями проверки.
2. Многодоменная
Этот тип сертификата удостоверяет несколько доменов (например, website.com , website.com.uk) с помощью одного SSL-сертификата. Обратите внимание, что в зависимости от центра сертификации количество защищенных доменов может варьироваться. Мультидоменные SSL-сертификаты доступны со всеми уровнями проверки, кроме EV.
3. Подстановочный знак
Они используются для отдельных доменов с несколькими субдоменами. Центр сертификации, выдающий подстановочный SSL-сертификат, имеет право ограничить количество защищенных поддоменов. Этот тип сертификата SSL доступен со всеми уровнями проверки, кроме EV.
4. Мультидоменный подстановочный знак
Эти сертификаты представляют собой комбинацию многодоменных сертификатов и сертификатов с подстановочными знаками. Вы можете использовать эти сертификаты для защиты ряда доменов верхнего уровня вместе с субдоменами. Опять же, ограничение может варьироваться в зависимости от центра сертификации. Этот тип сертификата SSL доступен на всех уровнях проверки, кроме EV.
Преимущества использования SSL-сертификатов WordPress
На этом этапе вы уже смогли понять важность сертификатов SSL. Пришло время узнать о преимуществах SSL-сертификатов.
- Доверие: с сертификатом SSL посетители знают, что их соединение с веб-сайтом зашифровано, что повышает доверие и надежность.
- Легитимность: потому что ясно, что все действия происходят на известном и должным образом защищенном веб-сайте.
- Безопасность: посетители знают, что информация зашифрована, поэтому данные будут защищены от любого типа несанкционированного доступа или атак третьих лиц.
- Рейтинг: Google отдает предпочтение веб-страницам с SSL и HTTPS в адресе.
SSL-сертификаты особенно рекомендуются для бизнеса, особенно для интернет-магазинов, которые работают с личными данными пользователей.
Let's Encrypt: бесплатные сертификаты SSL / TLS
Let's Encrypt - это бесплатный автоматизированный центр сертификации (CA), который бесплатно предоставляет сертификаты с подтверждением домена (DV) со сроком действия 90 дней. Эта услуга предоставляется исследовательской группой Internet Security Research Group (ISRG). Любой, у кого есть домен и хостинг, может бесплатно добавить SSL-сертификаты Let's Encrypt в WordPress.
Время активации сертификата также может зависеть от доступности ресурсов Let's Encrypt и ряда ограничений самого центра сертификации. Эти ограничения включают:
- Сертификатов на зарегистрированный домен (50 в неделю)
- Имен на сертификат (до 100)
- Уникальные поддомены (до 5000 в неделю)
- Дубликаты сертификатов (5 в неделю)
Чтобы узнать подробности об этих ограничениях, см. Ограничения скорости Let's Encrypt. Я также буду использовать SSL-сертификаты Let's Encrypt для демонстрации практических идей.
Прежде чем перейти к следующему разделу, я рекомендую создать резервную копию вашего веб-сайта WordPress, чтобы вы всегда могли восстановить его, если что-то пойдет не так. Вы можете создавать резервные копии двумя способами: через плагин резервного копирования WordPress или резервное копирование на стороне сервера. В качестве альтернативы вы можете создать промежуточную среду WordPress или клонировать весь свой веб-сайт для тестирования.
Установите бесплатные сертификаты SSL на WordPress
Я использую платформу Cloudways для этой статьи и предполагаю, что вы уже зарегистрировались для учетной записи, запустили сервер с приложением WordPress и указали его на свой домен. Если нет, то вот как вы можете запустить свой сервер с WordPress.
На следующем шаге перейдите в « Приложения» в строке меню вверху слева. Вы можете увидеть, что ваше приложение WordPress установлено на вашем сервере. Щелкните свое приложение, чтобы перейти на панель управления приложениями .

Добавьте однодоменный WordPress SSL на свой сайт
Перед установкой WordPress SSL убедитесь, что ваш домен работает с полным распространением DNS. В противном случае вы не сможете установить сертификаты SSL.
На следующем шаге введите свое доменное имя и тот же адрес электронной почты, который вы использовали для создания учетной записи Cloudways. Теперь нажмите « Установить сертификат» .

Добавьте многодоменный WordPress SSL на свой сайт
Чтобы установить SSL-сертификат Let's Encrypt WordPress на несколько доменов, нажмите « Добавить домен» и введите доменные имена, связанные с вашим сайтом WordPress. После этого нажмите « Установить сертификат» .

Добавить подстановочный SSL-сертификат для поддоменов
Вам просто нужно установить флажок « Применить подстановочный знак». Потребуется некоторое время, чтобы предоставить вам запись CNAME, которую необходимо добавить регистратору домена.

Войдите в систему регистратора домена и добавьте запись CNAME с аналогичной информацией:
- Тип: CNAME
- Хост: _acme-challenge
- Значение: [URL вашего веб-сайта]
После этого вернитесь в раздел SSL-сертификат и нажмите Проверить DNS . Он проверит настройки и уведомит вас об этом. На следующем шаге нажмите « Установить сертификат», чтобы установить WordPress SSL на свой сайт.
Автоматическое продление SSL-сертификата Let's Encrypt WordPress
Платформа Cloudways автоматически обрабатывает процесс продления, если вы установите для параметра Auto-Renewal значение Enable . Вы также можете продлить его в любое время, нажав кнопку « Продлить сейчас» .

В качестве альтернативы вы можете использовать службу мониторинга SSL, которая гарантирует, что все сертификаты SSL действительны, и ваши клиенты не получают предупреждений безопасности.
Установить платные SSL-сертификаты WordPress
Для платных SSL-сертификатов вам сначала необходимо включить запрос подписи сертификата (CSR) в вашем приложении WordPress.
Перейдите в раздел « Сертификат SSL », выберите « У меня нет сертификата » в раскрывающемся меню и нажмите « Создать CSR» .

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

После отправки формы будет сгенерирован CSR. На следующем этапе нажмите кнопку « Загрузить CSR» , чтобы загрузить файл CSR.


Отправьте загруженный файл CSR своему провайдеру SSL-сертификатов WordPress, чтобы сгенерировать SSL-сертификат в соответствии с вашими требованиями.
Поставщик сертификатов SSL предоставит вам два файла: [yourdomain] .crt (код сертификата) и [yourdomain] .ca (файл цепочки). Нажмите « Установить сертификат», и вы увидите всплывающее окно с запросом кода сертификата и цепочки ЦС . Отправьте эту информацию в соответствующие поля.

После того, как вы отправите эту информацию, нажмите « Отправить», и все готово. Теперь SSL должен работать на вашем веб-сайте WordPress.
Что такое HSTS и почему вы должны его использовать?
HTTP Strict Transport Security (HSTS) - это директива веб-сервера, которая сообщает веб-браузеру и пользовательским агентам, как обрабатывать соединение с вашим веб-сайтом. Он отправляет заголовок ответа с инструкциями в самом начале.
Иногда HTTPS недостаточно, так как злоумышленник все равно найдет способ получить доступ к вашему сайту по http: //. HSTS заставляет браузеры использовать HTTPS, если он доступен. Настроить HSTS для SSL-сертификатов WordPress довольно просто. Если вы размещаете на сервере Apache, добавьте следующие строки в файл .htaccess.
# Используйте HSTS, чтобы заставить клиентов использовать только безопасные соединения Заголовок всегда установлен Strict-Transport-Security «max-age = 300; includeSubDomains; preload»
Перед добавлением HSTS на свой веб-сайт WordPress убедитесь, что вы прочитали следующие предварительные требования:
- На веб-сайте должен быть установлен действующий сертификат SSL.
- Перенаправьте ВСЕ ссылки HTTP на HTTPS с постоянным перенаправлением 301.
- Убедитесь, что все поддомены охвачены вашим SSL-сертификатом. (Рассмотрим подстановочный сертификат)
SSL-сертификаты WordPress на Cloudflare (необязательно)
Если вы так или иначе используете Cloudflare, вам необходимо предпринять несколько дополнительных шагов. Прежде всего, отключите Cloudflare, иначе процесс настройки может завершиться ошибкой.
Шаг 1
Войдите в свою панель управления Cloudflare и на вкладке DNS отключите параметры www и [yourdomain] .com с помощью переключателя. Если он серый, это означает, что служба отключена.

Шаг 2
Теперь перейдите в раздел Cloudways Platform → Server Management → Settings and Packages , внутри вкладки Advanced и в разделе WAF Module выберите Cloudflare , затем нажмите кнопку Save Changes .

Шаг 3
Вернитесь на панель управления Cloudflare и включите параметры, которые вы отключили на шаге 1 . Щелкните вкладку SSL / TLS вверху и переключите режим шифрования SSL / TLS на Гибкий . Cloudflare может активировать сертификат в течение 24 часов. Однако, если вы уже использовали тот же домен раньше, он будет активирован мгновенно.

После активации сертификата переключите его на Полный (строгий) .
Очистить веб-сайт, хостинг и кеш браузера
Теперь пора проверить, установлен ли бесплатный SSL-сертификат WordPress. Прежде чем двигаться дальше, очистите кеш веб-сайта, а также кеширование на стороне сервера, например Varnish, перейдя в Cloudways Platform → Server Management → Manage Services .

Убедитесь, что сертификаты SSL работают правильно
Я предполагаю, что вы установили SSL-сертификат Let's Encrypt WordPress для своего веб-сайта и все настроили правильно. Пришло время протестировать сертификат SSL. Посетите свой веб-сайт и проверьте отображаемый значок.

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

Многие пользователи Cloudflare сообщают о проблемах при попытке импортировать бесплатный SSL-сертификат Let's Encrypt WordPress в свой домен в бесплатной учетной записи Cloudflare. Приведенная выше настройка должна работать, но если это не так, попробуйте выполнить следующие действия:
- Войдите в Cloudflare и выберите домен, с которым хотите работать.
- Выберите SSL / TLS в верхнем меню.
- Измените режим шифрования SSL / TLS на Гибкий
- Установите для параметра Всегда использовать HTTPS значение Вкл.
- В разделе HSTS включите HSTS.
- Установите Max-Age на 3 месяца.
- Включить поддомены: выключено (измените по своему желанию - читайте выше)
- Предварительная загрузка: выкл.
- Установите минимальную версию TLS на TLS 1.2.
- Оппортунистическое шифрование: включено
- Установите TLS 1.3: Вкл.
- Автоматическая перезапись HTTPS: Вкл. (Для включения перенаправления)
- Отключите универсальный SSL (снова читайте выше). Таким образом вы больше не используете SSL-сертификаты Cloudflare и используете только сертификаты, предоставленные вашим сервером.
Вышеупомянутый процесс был внесен Гэри Стивенсом из Hosting Canada - Web Hosting Reviews .
Измените URL-адреса с HTTP на HTTPS
Перейдите в панель управления WordPress → Настройки → Общие → перед адресом WordPress (URL) и адресом сайта (URL) → введите https вместо http → и нажмите Сохранить изменения внизу страницы. Это заменит все внутренние URL-адреса на https: // .

Принудительно использовать SSL для страницы входа в WordPress
Изменяя URL-адреса на панели инструментов WordPress, также должны быть изменены все URL-адреса веб-сайтов. Если это не так, вы можете принудительно использовать SSL для области входа в WordPress, настроив SSL в файле wp-config.php.
В файле wp-config.php добавьте следующую строку туда, где говорится: « Вот и все, прекратите редактирование! ”
определить ('FORCE_SSL_ADMIN', истина);Вышеупомянутая строка будет принудительно использовать SSL для страниц входа в WordPress (обычно URL-адрес: wp-admin / wp-login.php)
Перенаправить HTTP на HTTPS через файл .htaccess
Если кто-то заходит на ваш сайт по протоколу HTTP, сервер не будет работать по протоколу HTTPS. На следующем шаге я добавлю правило в файл .htaccess для перенаправления всего трафика с HTTP на HTTPS. Прежде чем вносить какие-либо изменения, сделайте резервную копию файла .htaccess в другом месте, поскольку одна точка может повлиять на ваш WordPress.
Войдите на свой хостинг WordPress → перейдите в корневой каталог WordPress → откройте файл .htaccess в любом редакторе → вставьте следующие строки в начало файла .htaccess.
RewriteEngine On
RewriteCond% {http: X-Forwarded-Proto}! HTTPS
RewriteRule ^ (. *) $ Https: //% {HTTP_HOST} / $ 1 [R = 301, L]Файл .htaccess должен выглядеть примерно так:
RewriteEngine On
RewriteCond% {http: X-Forwarded-Proto}! HTTPS
RewriteRule ^ (. *) $ Https: //% {HTTP_HOST} / $ 1 [R = 301, L]
# НАЧАТЬ WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^ index \ .php $ - [L]
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
RewriteRule. /index.php [L]
</IfModule>
# КОНЕЦ WordPressОбновите URL-адреса CDN на HTTPS
Если вы используете CDN WordPress, обновите URL-адреса WordPress до https: // (как я уже говорил в разделе Cloudflare выше).
Предупреждение о смешанном содержании
Посетите свой веб-сайт и убедитесь, что все внутренние ссылки перенесены на https: //. Если вы все еще видите значок информации на некоторых своих веб-страницах, один или несколько URL-адресов обслуживаются через HTTP. Вам необходимо идентифицировать эти URL-адреса.
Определите URL-адреса предупреждений о смешанном содержании
Чтобы продемонстрировать сценарий смешанного содержимого, я добавил изображение в сообщение и изменил URL-адрес на HTTP, перейдя в текстовый редактор сообщения. Затем я посетил сообщение и открыл консоль разработчика (проверить элемент). Щелкните значок ошибки и введите «микс» в строку поиска. Это покажет вам все URL-адреса, которые обслуживаются через HTTP и должны быть обновлены до HTTPS.

В моем случае это только URL-адрес изображения. Однако есть вероятность, что на вашем веб-сайте используются несколько внешних изображений, таблиц стилей или скриптов из домена без SSL-сертификата WordPress. Их нужно переместить на https: // вручную. Кроме того, вы можете удалить их или переместить эти файлы на свой сервер.
URL-адреса без SSL JitBit - отличный онлайн-инструмент, который сканирует и проверяет ссылки без SSL на веб-сайте. Я просканировал свой тестовый веб-сайт, и на следующем снимке экрана показаны URL-адреса, которые обслуживались через HTTP.

Есть несколько способов исправить проблемы с предупреждением о смешанном содержимом. Обсудим некоторые из них:
Метод 1. Использование плагина обновления URL-адресов Velvet Blues
Существует полезный плагин Velvet Blues Update URLs, который проверяет все URL-адреса и соответствующим образом обновляет их. После установки плагина перейдите в Панель управления WordPress → Инструменты → Обновить URL-адреса → настройте плагин, как показано ниже →, а затем нажмите « Обновить URL-адреса сейчас» .

Метод 2: использование плагина замены Better Search
Better Search Replace - еще один отличный плагин, который заменяет URL-адреса HTTP на HTTPS в базе данных. После установки плагина перейдите в Панель управления WordPress → Инструменты → Улучшенный поиск и замените → настройте плагин, как показано ниже →, а затем нажмите Запустить поиск / Заменить .

Метод 3: Использование действительно простого плагина SSL
Самый простой способ настроить бесплатный HTTPS - использовать плагин Really Simple SSL. После установки плагина перейдите в Личный кабинет WordPress → Настройки → SSL . Если все сделано правильно, вы увидите что-то вроде того, что показано ниже, а если что-то неправильно настроено, вы увидите красный крест вместе с инструкциями по устранению этого предупреждения.

Really Simple SSL заменяет URL-адреса при загрузке страницы. Это может немного повлиять на производительность, и если вы используете плагин кеширования WordPress, то влияние будет только при первой загрузке.
Настройте HTTPS для Google Search Console
Чтобы отслеживать ссылки HTTPS в Search Console, перейдите в Панель управления Google Analytics → Администратор → выберите требуемый ресурс и нажмите Параметры свойства → измените URL-адрес по умолчанию с http: // на https: // → и нажмите Сохранить в конце страницы.

Вы закончили, как получить бесплатный сертификат SSL для WordPress. Не забудьте изменить все предопределенные URL-адреса с HTTP на HTTPS, поскольку они будут отслеживаться через Google Analytics.
Подведение итогов!
Если вы добрались сюда, то теперь вы можете представить себе важность WordPress SSL и то, как вы можете установить его в свой WordPress. Если вы не воспользуетесь им, вы потеряете потенциальных клиентов, посетители покинут ваш сайт, потому что они не чувствуют себя в безопасности, и, что наиболее важно, вы потеряете рейтинг в поисковых системах.
Последний вопрос особенно серьезен в случае с Google. Это отвечает за наказание страниц без сертификатов SSL. Не говоря уже о возможности открытия дверей для фишинга и кражи данных. Если у вас есть какие-либо вопросы, пожалуйста, задавайте их в разделе комментариев ниже.
