mysurik.ru

Настройка SSL-сертификата (HTTPS) в WordPress: пошаговое руководство

Введение: Почему HTTPS стал обязательным для WordPress

Современный интернет требует безопасности, и HTTPS — это не просто рекомендация, а необходимость. Понимание того, как настроить SSL-сертификат в WordPress, позволяет защитить данные пользователей, улучшить SEO и избежать блокировок браузерами. В этой статье мы разберём все этапы процесса — от выбора сертификата до тестирования на уязвимости.

С 2018 года Google начал выделять HTTPS-сайты в поисковой выдаче, а с 2021 года браузеры Chrome и Firefox начали показывать предупреждения о небезопасных ресурсах. Если ваш сайт на WordPress ещё работает по протоколу HTTP, пришло время переходить на HTTPS.


Шаг 1: Выбор SSL-сертификата и провайдера

Первое, с чего нужно начать — это выбор SSL-сертификата. Существует несколько типов сертификатов, и для WordPress подходят не все:

  • Стандартный (DV): Проверяет доменное имя, подходит для большинства сайтов.
  • Организационный (OV): Проверяет бизнес-информацию, подходит для корпоративных ресурсов.
  • Расширенный (EV): Самый надёжный, с зелёной полоской в браузере, но дорогой и требует верификации компании.

Для большинства блогов, интернет-магазинов или корпоративных сайтов на WordPress достаточно DV-сертификата. Популярные провайдеры:

  1. Let’s Encrypt — бесплатный, но требует автоматической renew (срок действия 90 дней).
  2. Namecheap — платный, с длительным сроком (1-2 года), удобен для новичков.
  3. DigiCert — премиальный, подходит для крупных проектов.

Если ваш хостинг поддерживает Cloudflare, можно использовать их бесплатный SSL-туннель (Flexible или Full). Это удобно, но не всегда даёт полную защиту на сервере.


Шаг 2: Установка SSL-сертификата на хостинге

Процесс установки зависит от вашего хостинга. Рассмотрим два самых распространённых случая:

1. Установка через панель управления (cPanel, Plesk)

Если у вас стандартный хостинг с панелью управления, например cPanel, то:

  1. Перейдите в раздел SSL/TLS.
  2. Выберите опцию Установить SSL-сертификат.
  3. Введите данные сертификата (если он purchased) или используйте Let’s Encrypt через AutoSSL.
  4. Сохраните настройки и дождитесь подтверждения.

Если хостинг поддерживает Let’s Encrypt, процесс упрощается — достаточно нажать кнопку Установить в соответствующем разделе.

2. Установка через SSH (для VPS или dedicated серверов)

Если у вас VPS или вы работаете с bare-metal сервером, установка SSL-сертификата проходит через командную строку:

sudo certbot --apache -d yourdomain.com

После выполнения команды Certbot автоматически сгенерирует сертификат и настройка Apache/Nginx произойдёт автоматически. Если вы используете Nginx, можно использовать:

sudo certbot --nginx -d yourdomain.com

Учтите: для работы с Certbot может потребоваться установка пакета certbot-apache или certbot-nginx.


Шаг 3: Настройка WordPress для HTTPS

После установки SSL-сертификата на сервере нужно обновить настройки WordPress, чтобы он работал по HTTPS. Это важно, иначе могут возникнуть ошибки смешанного контента (mixed content warnings).

1. Обновление URL-адресов в базе данных

WordPress хранит URLs в базе данных, и если вы не обновите их, сайт будет пытаться загружать ресурсы по HTTP, что приведёт к ошибкам.

  1. Установите плагин Velvet Blues Update URLs или используйте SQL-запрос.
  2. В admin-панели WordPress перейдите в Настройки → Общие и измените:

    • Адрес сайта (URL) на HTTPS-версию (например, https://yourdomain.com).
    • Адрес WordPress (URL) аналогично.
  3. Если вы предпочитаете SQL, выполните:UPDATE wp_options SET option_value = replace(option_value, 'http://', 'https://') WHERE option_name = 'home' OR option_name = 'siteurl';

    Замените wp_options на вашу префикс таблицы, если он отличается.

2. Настройка через плагин (рекомендуется)

Для автоматизации процесса можно использовать плагины:

  • Really Simple SSL — самый популярный, автоматически переключает сайт на HTTPS.
  • SSL Hide — скрывает предупреждения о смешанном контенте.

Установите и активируйте Really Simple SSL, после чего он автоматически detect, что сайт работает по HTTPS, и начнёт переадресацию.

3. Настройка .htaccess для 301-редиректа

Чтобы все запросы с HTTP автоматически перенаправлялись на HTTPS, добавьте следующий код в файл .htaccess (расположен в корне сайта):

# BEGIN Really Simple SSL
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# END Really Simple SSL

Замените yourdomain.com на свой домен. Этот код также можно сгенерировать через плагин Really Simple SSL.


Шаг 4: Проверка и устранение ошибок

После настройки HTTPS важно проверить, что всё работает корректно. Основные проблемы:

  • Ошибки смешанного контента (Mixed Content): Браузер блокирует загрузку ресурсов по HTTP, если сайт работает по HTTPS.
  • Неправильные URL-адреса в CSS/JS: Если в коде сайта остались ссылки на HTTP, браузер может показать предупреждение.
  • Ошибка SSL-сертификата: Неправильная конфигурация сервера или истёкший сертификат.

1. Проверка смешанного контента

Используйте инструменты:

Если обнаружены ошибки, используйте плагин SSL Mixed Content Fixer или вручную обновите URL-адреса в коде.

2. Проверка сертификата

Убедитесь, что:

  • Сертификат не истёк (для Let’s Encrypt — 90 дней).
  • Доменное имя совпадает с тем, что указано в сертификате.
  • Используется протокол TLS 1.2 или выше (проверьте в настройках хостинга).

Для автоматического обновления Let’s Encrypt можно настроить cron-задачу через certbot renew --quiet.


Шаг 5: Оптимизация для SEO и производительности

После перехода на HTTPS важно оптимизировать сайт, чтобы избежать потери трафика. Основные действия:

  1. Обновите sitemap.xml: Используйте плагин Yoast SEO, чтобы сгенерировать новую карту сайта.
  2. Настройте 301-редирект для старых URL: Если у вас были изменения в структуре, перенаправьте старые ссылки на новые через .htaccess:RewriteRule ^old-page/$ https://yourdomain.com/new-page/ [R=301,L]
  3. Ускорите загрузку HTTPS-страниц: Используйте кэширование (плагин WP Rocket) и CDN, например Cloudflare.

Также проверьте, что Google Search Console распознаёт HTTPS-версию вашего сайта. В настройках Search Console добавьте свойство для https://yourdomain.com.


Заключение: Итоги и рекомендации

Переход на HTTPS — это не разовая задача, а процесс, который требует внимательности. Вот ключевые шаги, которые нужно запомнить:

  1. Выберите подходящий SSL-сертификат: Для большинства WordPress-сайтов достаточно DV-сертификата от Let’s Encrypt.
  2. Установите сертификат на хостинге: Используйте панель управления или Certbot для VPS.
  3. Обновите настройки WordPress: Измените URL-адреса в базе данных и используйте плагины для автоматизации.
  4. Проверьте на ошибки: Используйте SSL Labs, Google Tools и плагины для устранения смешанного контента.
  5. Оптимизируйте SEO: Обновите sitemap, настройте редиректы и ускорите загрузку.

Рекомендации для дальнейшего поддержания HTTPS:

  • Настраивайте автоматическое обновление сертификата (для Let’s Encrypt — через cron).
  • Регулярно проверяйте сайт на уязвимости с помощью Sucuri SiteCheck.
  • Используйте HSTS (HTTP Strict Transport Security) для дополнительной защиты. Добавьте в .htaccess:Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
  • Обновляйте плагины и WordPress, чтобы избежать уязвимостей, которые могут быть использованы для атаки на SSL.

Переход на HTTPS — это инвестиция в безопасность и доверие пользователей. Если вы следовали этой инструкции, ваш сайт теперь защищён, а его SEO-позиции только улучшились. Не забывайте monitor за изменениями в браузерах и алгоритмах Google, чтобы оставаться в курсе лучших практик.

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *