Правильный переход на HTTPS: сохраняем трафик и позиции
Даже при кажущейся простоте смены протокола — выпустить сертификат и настроить редирект — у многих проектов после миграции проседает трафик из-за mixed content, редиректных цепочек и дублей страниц. Мы выполнили более 200 миграций и знаем каждую ловушку. Например, на одном проекте с 50 000 страниц клиент потерял 20% трафика из-за того, что в базе остались ссылки на HTTP-ресурсы. Исправление mixed content заняло всего 4 часа — и трафик вернулся.
Почему переход на HTTPS критичен для SEO?
Поисковые системы отдают приоритет HTTPS-сайтам. Браузеры помечают HTTP как небезопасный, что снижает доверие и повышает bounce rate. После перехода важно сразу обновить данные в Google Search Console и Яндекс.Вебмастере, иначе индексация может временно упасть. Согласно нашему опыту, 90% сайтов после правильной миграции получают оценку A+ на SSL Labs, что положительно влияет на Core Web Vitals и ранжирование.
SSL-сертификат: бесплатный или платный?
Let's Encrypt — бесплатно, автоматически обновляется, достаточно для большинства сайтов. Экономия от использования Let's Encrypt по сравнению с платными сертификатами может достигать тысяч долларов в год. Однако для интернет-магазинов и корпоративных порталов рекомендуется OV-сертификат от Sectigo или DigiCert.
# 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 на несколько уровней.
| Критерий | Let's Encrypt | Платные (Sectigo) |
|---|---|---|
| Цена | Бесплатно | Платный |
| Срок действия | 90 дней | 1-2 года |
| Автообновление | Есть (certbot) | Вручную |
| Поддержка wildcard | Да | Да |
| EV-валидация | Нет | Да |
Let's Encrypt в 10 раз дешевле платных сертификатов при сопоставимом уровне безопасности, но требует автоматического обновления раз в 90 дней.
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; # ...остальная конфигурация... } Что такое HSTS и зачем он нужен?
HSTS (HTTP Strict Transport Security) — заголовок, который заставляет браузер всегда использовать HTTPS при обращении к сайту, даже если пользователь ввёл http://. Это предотвращает атаки Man-in-the-Middle и снижает риск mixed content. Настройка HSTS — один из последних шагов после полной проверки HTTPS, так как если где-то останется ошибка, браузер не даст зайти по HTTP. Убедитесь, что все ресурсы загружаются по HTTPS, и только потом добавляйте заголовок.
Как устранить 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'); Типичные проблемы и их решения
| Проблема | Решение |
|---|---|
| Mixed content в WordPress | Плагин Better Search Replace |
| Редиректные цепочки | Использовать только 301, избегать цепочек |
| Несовпадение canonical | Обновить canonical на HTTPS |
| HSTS блокирует HTTP | Включать только после полной проверки |
Процесс миграции: пошагово
- Аудит текущей конфигурации сервера и CMS — проверка existing redirects, mixed content, дубли.
- Выпуск и установка SSL-сертификата (бесплатного или платного) — с настройкой автоматического обновления.
- Настройка 301 редиректов с HTTP на HTTPS и с www на non-www (или наоборот).
- Устранение mixed content в базе данных и шаблонах — с использованием SQL-запросов или плагинов.
- Обновление sitemap и подача в поисковые системы через Google Search Console и Яндекс.Вебмастер.
- Тестирование на SSL Labs — оценка A или A+ — и проверка отсутствия ошибок в Chrome DevTools.
- Включение HSTS после верификации всех страниц.
Чеклист после перехода
- [ ] Все страницы открываются по HTTPS
- [ ] HTTP редиректит на HTTPS (301)
- [ ] www редиректит на non-www (или наоборот)
- [ ] Canonical теги указывают на HTTPS
- [ ] Sitemap содержит HTTPS URL
- [ ] Нет mixed content предупреждений
- [ ] HSTS заголовок присутствует
- [ ] SSL Labs оценка A или A+
Что входит в работу
- Аудит текущей конфигурации сервера и CMS
- Выпуск и установка SSL-сертификата
- Настройка 301 редиректов
- Устранение mixed content
- Обновление sitemap и подача в поисковые системы
- Тестирование на SSL Labs и проверка ошибок
- Инструкция по обслуживанию сертификата
Сроки и стоимость
Переход на HTTPS для стандартного сайта занимает 4–8 часов. Сложные проекты с кастомными CMS могут потребовать до 2 дней. Стоимость рассчитывается индивидуально в зависимости от объёма работ и используемых сертификатов. Свяжитесь с нами для точной оценки. Наши инженеры сертифицированы и работают с Nginx, Apache, IIS, а также всеми популярными CMS. Получите консультацию прямо сейчас — мы подскажем оптимальный план миграции.







