Полный гайд: 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. Тестирование и отладка после миграции
После всех изменений пройдитесь по чек‑листу:
- Проверьте корректность сертификата через Qualys SSL Labs.
- Убедитесь, что редиректы работают (статус 301).
- Сканируйте сайт на смешанный контент (например, в CSP‑reporter).
- Проверьте заголовок HSTS.
- Запустите инструменты ускорения (оптимизацию базы) и убедитесь, что производительность не упала.
Если обнаружены ошибки, откатитесь к сделанному бэкапу и повторите шаги.
Заключение
Настройка 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».