Полный гайд: HTTPS в WordPress настройка в 2026 году – от Let’s Encrypt до HSTS

Краткое содержание

Введение: почему HTTPS – обязательный элемент WordPress‑сайта

С 2024 года Google учитывает наличие безопасного соединения в ранжировании, а браузеры автоматически помечают сайты без SSL как «небезопасные». Перейти на HTTPS в 2026 году проще, чем кажется, если следовать проверенному чек‑листу.

1. Подготовка сервера к работе с Let’s Encrypt

Проверка поддержки ACME‑клиента

Большинство современных VPS и хостингов предоставляют доступ к certbot или acme.sh. Убедитесь, что у вас есть SSH‑доступ и возможность установить пакет:

sudo apt update && sudo apt install certbot python3-certbot-apache -y

Если ваш сервер работает под Nginx, замените apache на nginx.

Бэкап сайта и базы данных

Перед изменением URL‑ов сделайте полную копию. Это ускорит откат в случае ошибок.

2. Получение бесплатного сертификата от Let’s Encrypt

Запуск certbot для автоматической установки

Для Apache:

sudo certbot --apache -d example.com -d www.example.com

Для Nginx:

sudo certbot --nginx -d example.com -d www.example.com

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

Автопродление через WP‑Cron (опционально)

Если ваш хостинг не позволяет добавить системный cron, можно привязать продление к WP‑Cron. Подробнее о замене WP‑Cron на системный cron читайте в статье WP Cron настройка.

3. Настройка WordPress на работу по HTTPS

Обновление базовых URL

Измените WP_HOME и WP_SITEURL в wp-config.php:

define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');

Это гарантирует, что все генерируемые ссылки будут использовать протокол HTTPS.

Поиск и замена http:// в базе данных

Для устранения «мягкого» контента выполните SQL‑запрос или используйте плагин Better Search Replace. Пример запроса:

UPDATE wp_options SET option_value = replace(option_value, 'http://example.com', 'https://example.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://example.com','https://example.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://example.com','https://example.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://example.com','https://example.com');

После этого проверьте, нет ли оставшихся ссылок через инструменты анализа скорости.

4. Принудительный редирект HTTP → HTTPS

Настройка .htaccess (Apache)

Добавьте правила в корневой файл .htaccess перед WordPress‑блоком:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Настройка nginx.conf (Nginx)

Создайте отдельный серверный блок:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Проверка работы редиректа

Откройте http://example.com в браузере – должен произойти 301‑редирект на https://example.com. Для автоматической проверки используйте онлайн‑инструменты или curl:

curl -I http://example.com

5. Устранение смешанного контента (Mixed Content)

Плагин «Really Simple SSL»

Если вы не хотите редактировать каждый шаблон вручную, установите Really Simple SSL. Плагин автоматически заменит ссылки и включит необходимые заголовки.

Ручная правка шаблонов

Ищите в темах атрибуты src="http:// и заменяйте на протокол‑независимый src="// или https://. Пример функции, которая принудительно меняет URL в выводе:

add_filter('the_content', function($content) {
    return str_replace('http://example.com', 'https://example.com', $content);
});

Проверка через Chrome DevTools

Откройте консоль → вкладка «Security». Если присутствуют предупреждения «Mixed Content», исправьте указанные файлы.

6. Включаем HSTS (HTTP Strict Transport Security)

Что такое HSTS и зачем он нужен

HSTS заставляет браузер обращаться к сайту только по HTTPS, даже если пользователь ввёл http://. Это защищает от атак типа SSL‑stripping.

Добавление заголовка в .htaccess

# HSTS – 180 дней, включаем поддомены
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"

После публикации проверьте наличие заголовка командой:

curl -I https://example.com | grep strict-transport-security

Регистрация в preload‑list

Отправьте ваш домен в список HSTS preload. Это улучшит безопасность в Chrome, Firefox и Safari.

7. Тестирование и отладка после миграции

После всех изменений пройдитесь по чек‑листу:

  1. Проверьте корректность сертификата через Qualys SSL Labs.
  2. Убедитесь, что редиректы работают (статус 301).
  3. Сканируйте сайт на смешанный контент (например, в CSP‑reporter).
  4. Проверьте заголовок HSTS.
  5. Запустите инструменты ускорения (оптимизацию базы) и убедитесь, что производительность не упала.

Если обнаружены ошибки, откатитесь к сделанному бэкапу и повторите шаги.

Заключение

Настройка HTTPS в WordPress – это последовательный процесс: получение сертификата, обновление URL‑ов, настройка редиректов, устранение смешанного контента и включение HSTS. Следуя этому руководству, вы получите безопасный сайт, улучшите SEO и повысите доверие пользователей.

❓ Часто задаваемые вопросы

Как автоматизировать продление сертификата Let’s Encrypt в WordPress?

Certbot создает системный cron, который проверяет сертификат каждые 12 часов. Если на хостинге нет доступа к cron, можно вызвать certbot renew через WP‑Cron, но лучше перейти на системный cron (см. статья о WP‑Cron).

Почему после миграции на HTTPS появляются 404‑ошибки?

Чаще всего ссылки в базе данных остались с http://. Выполните поиск‑замену в базе (см. раздел 3) и проверьте .htaccess‑правила редиректа.

Нужен ли отдельный плагин для HSTS?

Нет, достаточно добавить заголовок в .htaccess или в конфигурацию сервера. Плагин может помочь, но прямое указание в конфиге гарантирует работу без конфликтов.

Как проверить, что на сайте нет смешанного контента?

Откройте DevTools → Security → View certificate details. Если есть предупреждения «Mixed Content», исправьте указанные URL‑ы или используйте плагин «Really Simple SSL».