Перевод сайта на HTTPS
пошаговая инструкция · Около часа
1. Что произошло
Адрес начинается с http://, данные между посетителем и сайтом передаются открытым текстом.
2. Почему это важно
Браузеры помечают сайт как «небезопасный», формы и пароли под угрозой, в поиске такой сайт ниже. После исправления: Значок замка в браузере, больше доверия и лучше позиции.
3. На каких страницах обнаружено
Главная страница: проверяется, отдаётся ли сайт по защищённому адресу и ведёт ли адрес с http на https.
Чтобы увидеть адреса на вашем сайте, откройте инструкцию из отчёта или добавьте домен в адрес: /fix/https/ваш-сайт.ru.
4. Как исправить
Для Joomla
- Система → Общие настройки → Сервер → «Принудительно использовать HTTPS» → «Весь сайт». Затем в «Настройки сайта» проверьте поле «Адрес сайта» в параметрах SEF и очистите кэш.
Общее для любого сайта
- Убедитесь, что сертификат выпущен (инструкция «Сертификат 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/Чтобы перепроверить сайт, откройте отчёт и нажмите «Проверить заново».