Перевод сайта на HTTPS
пошаговая инструкция · Около часа
1. Что произошло
Адрес начинается с http://, данные между посетителем и сайтом передаются открытым текстом.
2. Почему это важно
Браузеры помечают сайт как «небезопасный», формы и пароли под угрозой, в поиске такой сайт ниже. После исправления: Значок замка в браузере, больше доверия и лучше позиции.
3. На каких страницах обнаружено
Главная страница: проверяется, отдаётся ли сайт по защищённому адресу и ведёт ли адрес с http на https.
Чтобы увидеть адреса на вашем сайте, откройте инструкцию из отчёта или добавьте домен в адрес: /fix/https/ваш-сайт.ru.
4. Как исправить
Для phpBB
- В админ-панели: «Общие → Конфигурация сервера → Настройки сервера» поставьте «Протокол сервера» https://, укажите имя домена без http, а в «Настройки куки» включите «Безопасные куки» (Cookie secure).
- Очистите кэш: «Общие → Очистить кэш». Если вход в админку сломался, поменяйте значения прямо в таблице phpbb_config (server_protocol, cookie_secure).
- Проверьте стили: в шаблонах не должно остаться ссылок http:// на скрипты и картинки (поиск по папке styles/ваш_стиль/template).
Общее для любого сайта
- Убедитесь, что сертификат выпущен (инструкция «Сертификат SSL»).
- Настройте постоянный редирект (301) со всех http-адресов на https — одной переадресацией, без цепочки.
- Замените внутри сайта все ссылки вида http://example.com на https://example.com (меню, картинки, скрипты, canonical, sitemap.xml).
- Добавьте https-версию сайта в Яндекс.Вебмастер и Google Search Console, отправьте новый sitemap.xml и в Вебмастере проверьте «Переезд сайта».
5. Готовый код
Замените example.com на свой домен. Перед правкой конфигурации сделайте резервную копию файла.
WordPress
Адреса сайта в wp-config.php
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');
define('FORCE_SSL_ADMIN', true);Замена адресов в базе (WP-CLI)
wp search-replace 'http://example.com' 'https://example.com' --all-tables --dry-run
# если результат устраивает — тот же запуск без --dry-run
wp search-replace 'http://example.com' 'https://example.com' --all-tablesnginx
Редирект с http на https (nginx)
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}Apache
Редирект с http на https (.htaccess)
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]6. Как проверить результат
- Команда из блока «Как проверить» должна показать конечный адрес https://… и код 200, число переходов — не больше 1–2.
- Откройте несколько страниц сайта: замок должен быть закрытым, без значка «небезопасно».
- Нажмите «Перепроверить сайт».
Должен быть один переход 301 на https
curl -sIL -o /dev/null -w '%{url_effective} %{http_code} redirects=%{num_redirects}\n' http://example.com/Чтобы перепроверить сайт, откройте отчёт и нажмите «Проверить заново».