Миграция HTTP → HTTPS WordPress: пошаговое руководство в 7 шагов
1. Подготовительный этап: бэкап и проверка совместимости
Прежде чем менять протокол, сделайте полную резервную копию файлов и базы данных. Это спасёт от потери данных, если что‑то пойдёт не так.
// Пример создания бэкапа через WP‑CLI
wp db export backup.sql
wp core download --path=wp-backup
Проверьте, поддерживает ли ваш хостинг текущую версию PHP и нет ли конфликтов с установленными плагинами.
2. Установка SSL‑сертификата
Самый надёжный способ – бесплатный сертификат от Let’s Encrypt. Если ваш хостинг поддерживает автоматическую установку, воспользуйтесь панелью управления. В противном случае выполните ручную установку.
# Bash‑скрипт для получения сертификата через Certbot
sudo apt-get update && sudo apt-get install -y certbot
sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
После получения сертификата добавьте его в конфигурацию веб‑сервера (Apache или Nginx). Пример для Nginx:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri; # Перенаправление на HTTPS
}
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# … остальная конфигурация …
}
3. Обновление URL WordPress в базе данных
Самый простой способ – воспользоваться встроенной функцией WordPress или WP‑CLI.
# WP‑CLI: меняем siteurl и home
wp option update home 'https://example.com'
wp option update siteurl 'https://example.com'
Если вы предпочитаете делать это вручную, выполните запросы к базе:
UPDATE wp_options SET option_value = replace(option_value, 'http://example.com', 'https://example.com') WHERE option_name = 'home' OR option_name = 'siteurl';
4. Поиск и замена HTTP‑ссылок в контенте
Контент, медиа‑файлы и ссылки в постах часто сохраняются с протоколом http://. Для их массовой замены используйте WP-CLI search-replace или скрипт на PHP.
# WP‑CLI поиск‑замена (все таблицы, без потери сериализованных данных)
wp search-replace 'http://example.com' 'https://example.com' --all-tables --skip-columns=guid
Не забудьте проверить guid – менять его не рекомендуется, иначе могут пострадать RSS‑ленты.
5. Настройка 301 редиректов
Чтобы сохранить позиции в поисковой выдаче, все запросы к старому протоколу должны перенаправляться на HTTPS с кодом 301.
5.1. Apache ( .htaccess )
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
5.2. Nginx
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
После добавления редиректов проверьте их с помощью Redirect Checker или утилиты curl -I http://example.com.
6. Тестирование и проверка SEO‑влияния
Запустите сканирование сайта через Brotli или любой онлайн‑инструмент, чтобы убедиться, что все ресурсы загружаются по HTTPS без смешанного контента.
- Проверьте Google Search Console – добавьте новый HTTPS‑сайт и отправьте карту сайта.
- Включите Cloudflare WAF для дополнительной защиты и ускорения.
- Отслеживайте позиции в SERP в течение 2‑4 недель – небольшие колебания нормальны.
Если обнаружите «404 Not Found», проверьте .htaccess/Nginx и выполните wp rewrite flush.
7. Автоматизация процесса (по желанию)
Для регулярных миграций или развёртывания новых проектов удобно автоматизировать шаги с помощью Ansible и Bash‑скриптов. Ниже минимальный плейбук, который устанавливает сертификат и обновляет URL.
- hosts: webservers
become: yes
tasks:
- name: Install Certbot
apt:
name: certbot
state: present
- name: Obtain Let's Encrypt certificate
command: certbot certonly --webroot -w /var/www/html -d {{ domain }}
- name: Update WordPress URLs
command: wp option update home 'https://{{ domain }}' && wp option update siteurl 'https://{{ domain }}'
После выполнения плейбука ваш сайт будет полностью работать по HTTPS без ручных правок.
Заключение
Миграция HTTP → HTTPS в WordPress – это последовательность из нескольких простых, но критически важных шагов. При правильной настройке редиректов и поиске‑замене вы сохраняете SEO‑вес, повышаете безопасность и улучшаете пользовательский опыт. Следуйте нашему чек‑листу, и ваш сайт будет готов к работе в 2026‑м году и дальше.
❓ Часто задаваемые вопросы
Как проверить, что на сайте нет смешанного контента после миграции?
Откройте любой URL в режиме инкогнито и используйте DevTools → Security; также запустите онлайн‑сканер на https://www.whynopadlock.com/.
Нужно ли менять ссылки в файлах темы и плагинах?
Если в коде прописаны абсолютные URL с http, замените их на https или используйте функцию site_url() и home_url() для динамического формирования.
Влияет ли миграция на скорость загрузки страниц?
Да, HTTPS добавляет небольшую задержку Handshake, но её компенсируют кеширование и сжатие (Brotli, Cloudflare), что часто ускоряет сайт в целом.
Можно ли оставить старый HTTP‑домен в индексе Google?
Нет. После включения 301‑редиректов Google постепенно заменит HTTP‑URL на HTTPS‑версии, но рекомендуется удалить старый сайт из Search Console.