Полный комплекс услуг по разработке и сопровождению сайтов
Статьи

Как перевести сайт на HTTPS: пошаговое руководство

HTTPS — не просто «зеленый замочек» в браузере. Это обязательный стандарт безопасности, влияющий на доверие пользователей, SEO-ранжирование и даже конверсию. С 2018 года Chrome и Firefox помечают сайты без HTTPS как «небезопасные», а Google учитывает протокол в алгоритмах поиска. В этой статье вы узнаете, как бесплатно или с минимальными затратами перевести сайт на HTTPS, избежать типичных ошибок и настроить сервер для максимальной производительности. Руководство подходит для всех типов сайтов: от лендингов до интернет-магазинов.

Зачем переходить на HTTPS?

  • Безопасность данных. HTTPS шифрует трафик между пользователем и сервером, защищая логины, пароли и платежные данные от перехвата.
  • Доверие аудитории. 64% пользователей закрывают сайт, увидев предупреждение «Не защищено».
  • SEO-продвижение. С 2014 года HTTPS — официальный ранжирующий фактор Google.
  • Поддержка современных технологий. HTTP/2, PWA, Geolocation API работают только через HTTPS.
Пример: После перехода на HTTPS интернет-магазин детских товаров увеличил конверсию на 18%, так как клиенты чаще вводили данные карт.

Шаг 1. Выберите SSL-сертификат

SSL-сертификат — цифровая подпись, подтверждающая безопасность сайта. Есть три основных типа:

1. Domain Validation (DV)

  • Проверка только права на домен.
  • Выдается за 5 минут.
  • Подходит для блогов и небольших сайтов.
  • Примеры: Let’s Encrypt (бесплатный), Comodo PositiveSSL ($10/год).

2. Organization Validation (OV)

  • Проверка компании через официальные документы.
  • В сертификате указано название организации.
  • Для корпоративных сайтов и среднего бизнеса.
  • Примеры: Sectigo OV ($50/год).

3. Extended Validation (EV)

  • Максимальная проверка (3-7 дней).
  • Зеленая строка с названием компании в адресной строке.
  • Для банков, интернет-магазинов, госучреждений.
  • Примеры: DigiCert EV ($200/год).
Совет: Для старта подойдет бесплатный Let’s Encrypt — его поддерживают все современные хостинги.

Шаг 2. Получите и установите сертификат

Вариант A: Бесплатный сертификат Let’s Encrypt

Для хостингов с панелью управления (cPanel, ISPManager):
  1. Зайдите в раздел SSL/TLS.
  2. Выберите опцию Let’s Encrypt.
  3. Укажите домен и нажмите «Установить».
Для VPS/VDS (ручная установка через Certbot):
1.Установите Certbot:
sudo apt install certbot python3-certbot-nginx  # Для Nginx  
sudo apt install certbot python3-certbot-apache # Для Apache  
2.Запустите получение сертификата:
sudo certbot --nginx -d example.com -d www.example.com  
3.Следуйте инструкциям в терминале.
Важно: Certbot автоматически обновляет сертификаты каждые 90 дней.

Вариант B: Платный сертификат

1.Купите сертификат у провайдера (например, GoGetSSL).
2.Сгенерируйте CSR-запрос (Certificate Signing Request) в панели хостинга.
3.Подтвердите право на домен:
  • Через email администратора (например, admin@example.com).
  • Загрузкой проверочного файла на сервер.
  • Добавлением DNS-записи CNAME.
4.Получите файлы сертификата (.crt, .key) и установите их через панель хостинга.

Шаг 3. Настройте сервер

Для Nginx:

1.Откройте конфиг сайта:
sudo nano /etc/nginx/sites-available/example.com  
2.Добавьте настройки SSL:
server {  
    listen 443 ssl;  
    server_name example.com www.example.com;  

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;  
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;  

    # Оптимизация HTTPS  
    ssl_protocols TLSv1.2 TLSv1.3;  
    ssl_prefer_server_ciphers on;  
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';  
    ssl_session_cache shared:SSL:10m;  
}  
3.Перезапустите Nginx:
sudo systemctl reload nginx  

Для Apache:

1.Включите модуль SSL:
sudo a2enmod ssl  
2.Отредактируйте виртуальный хост:
<VirtualHost *:443>  
    ServerName example.com  
    SSLEngine on  
    SSLCertificateFile /path/to/cert.pem  
    SSLCertificateKeyFile /path/to/privkey.pem  
    SSLCertificateChainFile /path/to/chain.pem  
</VirtualHost>  
3.Перезапустите Apache:
sudo systemctl restart apache2  

Шаг 4. Настройте 301-редирект с HTTP на HTTPS

Чтобы все ссылки вели на защищенную версию, добавьте правила переадресации:

В Nginx:

server {  
    listen 80;  
    server_name example.com www.example.com;  
    return 301 https://$server_name$request_uri;  
}  

В Apache:

Добавьте в файл .htaccess:
RewriteEngine On  
RewriteCond %{HTTPS} off  
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]  
Проверка: Откройте http://example.com — вас должно автоматически перебросить на https://example.com.

Шаг 5. Обновите внутренние ссылки и ресурсы

После перехода на HTTPS сайт может блокировать «смешанный контент» (Mixed Content), если часть ресурсов (изображения, скрипты) загружается по HTTP.
Как исправить:
1.Замените все абсолютные ссылки в коде с http:// на // (протокол-относительные URL).
Было: <img src="http://example.com/image.jpg">
Стало: <img src="//example.com/image.jpg">

2.Обновите пути в CSS и JavaScript:
/* Было */  
background: url('http://example.com/bg.jpg');  
/* Стало */  
background: url('//example.com/bg.jpg');  
3.Проверьте внешние виджеты (чаты, формы). Если они не поддерживают HTTPS, найдите альтернативы.
Инструменты:
  • Консоль браузера (F12) покажет ошибки Mixed Content.
  • Сервис Why No Padlock? найдет проблемные ресурсы.

Шаг 6. Обновите внешние ссылки и настройки

1.Вебмастеры и аналитика:
  • Добавьте HTTPS-версию в Google Search Console и Яндекс.Вебмастер.
  • Обновите URL в Google Analytics (Администрирование → Настройки ресурса).
2.Соцсети и реклама:
  • Измените ссылки в профилях соцсетей.
  • Обновите URL в рекламных кампаниях (Google Ads, Facebook).
3.Сторонние интеграции:
  • Убедитесь, что API (платежные системы, CRM) поддерживают HTTPS.
  • Обновите callback-URL в настройках сервисов.

Шаг 7. Проверьте корректность настройки

Используйте инструменты для аудита:
1.SSL Labs (Qualys)
2.HTTP/2 Support Test
3.Redirect Checker
Пример ошибки: Сайт перенаправляет http://example.comhttps://www.example.comhttp://example.com (зацикливание).

Частые ошибки

1Просроченный сертификат
  • Let’s Encrypt обновляется автоматически, но для платных сертификатов установите напоминание.
2.Неправильные пути к сертификату
  • Убедитесь, что в настройках сервера указаны корректные пути к .pem-файлам.
3.Кэш браузера
  • После перехода очистите кэш (Ctrl + F5), чтобы изменения вступили в силу.
4.Старые закладки пользователей
  • Добавьте на сайт баннер с уведомлением о переходе на HTTPS.

5 часто задаваемых вопросов

1. Снизится ли скорость сайта из-за HTTPS?
Нет. Современные алгоритмы шифрования (TLS 1.3) добавляют задержку менее 30 мс. HTTP/2, который работает только с HTTPS, ускоряет загрузку на 20-50%.
2. Нужно ли покупать отдельный сертификат для поддоменов?
Нет. Wildcard-сертификат (например, Let’s Encrypt) покрывает все поддомены: *.example.com.
3. Что делать, если HTTPS «ломает» дизайн сайта?
Проблема в смешанном контенте. Используйте браузерную консоль (F12) для поиска ресурсов, загружаемых по HTTP.
4. Как HTTPS влияет на SEO?
После перехода обновите sitemap.xml и отправьте его в Search Console. Временное падение трафика возможно, но через 2-4 недели позиции восстановятся.
5. Можно ли использовать самоподписанный сертификат?
Да, но браузеры будут предупреждать пользователей о ненадежности. Только для тестовых сред.

Переход на HTTPS — не роскошь, а необходимость. Потратив 1-2 часа на настройку, вы защитите данные пользователей, улучшите SEO и повысите лояльность аудитории. Не откладывайте: даже если ваш сайт — простой блог, «зеленый замочек» уже стал стандартом доверия.
Статья подготовлена студией Marussia. Мы помогаем бизнесу внедрять современные технологии безопасности: настраиваем HTTPS, защищаем от DDoS-атак и проводим аудиты уязвимостей. Если вам нужен надежный сайт, который вызывает доверие, — обращайтесь за комплексным решением!
Made on
Tilda