Миграция 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.