Міграція сайту з 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;
# ...решта конфігурації...
}
Усунення змішаного контенту
Після переходу браузер блокує HTTP-ресурси на HTTPS-сторінці. Знаходимо їх:
# Сканування на змішаний контент
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
- Немає попереджень про змішаний контент
- HSTS заголовок присутній
- SSL Labs оцінка A або A+
Перехід стандартного сайту на HTTPS — 4–8 годин.







