Миграция сайта с HTTP на HTTPS
Переход на HTTPS — технически несложная задача, которую часто делают небрежно. Результат: смешанный контент (mixed content), потеря части трафика из-за редиректных цепочек, дублирование в поисковых системах.
SSL-сертификат
Let's Encrypt — бесплатно, автоматически обновляется, достаточно для большинства сайтов:
# Certbot на Ubuntu
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d mysite.com -d www.mysite.com
# Автообновление (уже настраивается Certbot)
sudo systemctl enable certbot.timer
Платные сертификаты (Sectigo, DigiCert) — нужны для: EV-сертификатов, wildcard на несколько уровней, организационной валидации (OV).
Nginx: HTTPS + HTTP→HTTPS редирект
# HTTP → HTTPS редирект
server {
listen 80;
server_name mysite.com www.mysite.com;
return 301 https://mysite.com$request_uri; # без www
}
# HTTPS
server {
listen 443 ssl http2;
server_name mysite.com;
ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem;
# Современная конфигурация TLS (Mozilla SSL Config Generator)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS (добавлять только после проверки, что HTTPS работает!)
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# ...остальная конфигурация...
}
Устранение Mixed Content
После перехода браузер блокирует HTTP-ресурсы на HTTPS-странице. Ищем:
# Сканирование mixed content
npx mixed-content-scanner https://mysite.com
# Или в Chrome DevTools: Console → фильтр "Mixed Content"
В WordPress — плагин Better Search Replace для замены http:// → https:// в БД.
Для других CMS:
-- PostgreSQL
UPDATE posts SET content = replace(content, 'http://mysite.com', 'https://mysite.com');
UPDATE posts SET content = replace(content, 'http://old-cdn.com', 'https://new-cdn.com');
Обновление GSC и Яндекс.Вебмастер
- Добавить HTTPS-версию как отдельный ресурс
- Установить как основную версию
- Обновить sitemap URL (https://)
- Настроить preferred domain = https://mysite.com (без www)
Чеклист после перехода
- Все страницы открываются по HTTPS
- HTTP редиректит на HTTPS (301)
- www редиректит на non-www (или наоборот)
- Canonical теги указывают на HTTPS
- Sitemap содержит HTTPS URL
- Нет mixed content предупреждений
- HSTS заголовок присутствует
- SSL Labs оценка A или A+
Переход на HTTPS для стандартного сайта — 4–8 часов.







