Інструкції та туторіали по хостингу Практика

SSL-сертифікат на хостингу: як встановити HTTPS і не зламати сайт у процесі

Уявіть: ви заходите в кав'ярню, а бариста голосно зачитує ваше замовлення, номер картки і PIN-код усім присутнім. Саме так виглядає ваш сайт без SSL-сертифіката - кожен байт інформації між браузером і сервером летить відкритим текстом. Google Chrome вже кілька років позначає такі сайти як «Не захищено», і якщо ви досі ігноруєте цей червоний трикутник - ви втрачаєте і відвідувачів, і позиції у пошуку. Але встановити SSL не так просто, як клікнути одну кнопку. Є нюанси, про які хостинг-провайдери мовчать, а туторіали з 2019 року вже безнадійно застаріли.

Цей гайд - для тих, хто хоче зробити все правильно з першого разу. Без зламаних редіректів, без mixed content, без паніки о другій ночі.

Що таке SSL і чому без нього ваш сайт - голий у натовпі

SSL (Secure Sockets Layer) - це протокол шифрування, який створює захищений тунель між браузером відвідувача і вашим сервером. Технічно зараз усі використовують TLS (Transport Layer Security) - наступника SSL, але назва «SSL-сертифікат» прижилася і нікуди не дінеться.

Без SSL кожен пароль, кожне повідомлення у формі зворотного зв'язку, кожен номер телефону передається як відкрита листівка. Будь-хто між вашим відвідувачем і сервером - провайдер, адміністратор Wi-Fi у кафе, зловмисник - може перехопити ці дані.

Але справа не лише в безпеці. Ось що ви отримуєте з SSL:

  • SEO-бонус - Google офіційно підтвердив, що HTTPS - фактор ранжування ще з 2014 року
  • Довіра користувачів - замочок у адресному рядку підвищує конверсію на 17-30% за даними GlobalSign
  • Сумісність - HTTP/2 і HTTP/3 працюють тільки через HTTPS, а це швидкість завантаження
  • Відповідність законам - GDPR, PCI DSS та інші регуляції вимагають шифрування персональних даних

Якщо коротко: сайт без SSL у 2025 році - це як магазин без дверей. Технічно працює, але клієнти обходять стороною.

Типи SSL-сертифікатів: який обрати і не переплатити

Перш ніж щось встановлювати, треба зрозуміти, який сертифікат вам потрібен. Тут багато хто помиляється - або купує дорогий EV-сертифікат для блогу про котів, або ставить безкоштовний Let's Encrypt на інтернет-банк.

Тип сертифіката Валідація Ціна (на рік) Для кого Час видачі
DV (Domain Validation) Перевірка домену $0-15 Блоги, лендинги, портфоліо 5-10 хвилин
OV (Organization Validation) Перевірка компанії $50-200 Корпоративні сайти, SaaS 1-3 дні
EV (Extended Validation) Розширена перевірка $100-500+ Банки, платіжні системи 3-7 днів
Wildcard DV або OV $50-300 Сайти з піддоменами Залежить від типу

Для 90% сайтів DV-сертифікат цілком достатній. Браузер показує той самий замочок, шифрування ідентичне. Різниця лише в тому, яку інформацію про власника можна побачити в деталях сертифіката.

«Рівень шифрування не залежить від типу сертифіката. DV за $0 і EV за $500 використовують однакові алгоритми. Різниця - виключно в рівні перевірки особи власника.» - Scott Helme, дослідник веб-безпеки, засновник securityheaders.com

Окремо про Let's Encrypt - безкоштовний центр сертифікації, який видає DV-сертифікати. На ньому працює понад 300 мільйонів доменів. Єдиний мінус - сертифікат потрібно оновлювати кожні 90 днів, але більшість хостингів автоматизують це через Certbot або вбудовані інструменти.

Покрокова установка SSL через cPanel: від нуля до замочка

Найпоширеніший сценарій - ви на shared-хостингу з cPanel. Давайте пройдемо весь шлях.

  1. Перевірте, чи підтримує ваш хостинг безкоштовний SSL. Увійдіть у cPanel, знайдіть секцію «Security» і відкрийте «SSL/TLS Status». Якщо бачите AutoSSL або Let's Encrypt - ви в грі. Більшість сучасних хостингів (Hostinger, SiteGround, A2 Hosting, українські Ukraine.com.ua, Mirohost) пропонують це за замовчуванням.
  2. Активуйте AutoSSL. Натисніть «Run AutoSSL» - система сама згенерує сертифікат, верифікує домен і встановить його. Зазвичай це займає 2-10 хвилин.
  3. Перевірте результат. Відкрийте ваш сайт через https:// - повинен з'явитися замочок. Натисніть на нього і переконайтеся, що сертифікат виданий на ваш домен і термін дії коректний.
  4. Налаштуйте примусовий редірект з HTTP на HTTPS. Це критичний крок, який багато хто пропускає. Відкрийте файл .htaccess у кореневій папці сайту і додайте:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  5. Оновіть URL сайту в CMS. У WordPress: Налаштування → Загальне → змініть обидві адреси на https://. У інших CMS - аналогічно.
  6. Перевірте наявність mixed content. Відкрийте DevTools (F12) → Console і шукайте помилки типу «Mixed Content». Це ресурси (картинки, скрипти, стилі), які все ще завантажуються через HTTP.

Якщо ваш хостинг не підтримує AutoSSL - це серйозний привід задуматися про переїзд. У 2025 році це мінімальний стандарт.

Mixed content: невидимий ворог, який ламає ваш замочок

Ви встановили SSL, налаштували редірект, відкриваєте сайт - а замочка немає. Або ще гірше: замочок з жовтим трикутником. Знайоме? Вітаю, у вас mixed content.

Mixed content - це коли сторінка завантажена через HTTPS, але окремі ресурси (зображення, шрифти, JavaScript-файли) тягнуться через незахищений HTTP. Браузер бачить це і панікує.

Mixed content буває двох типів, і один з них значно небезпечніший за інший:

  • Passive mixed content - зображення, відео, аудіо через HTTP. Браузер завантажить, але покаже попередження.
  • Active mixed content - скрипти, стилі, iframe через HTTP. Браузер заблокує їх повністю. Ваш сайт може просто «розсипатися».

Як це виправити? Є швидкий і правильний шлях.

Швидкий шлях - додати у <head> вашого сайту мета-тег:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Цей рядок каже браузеру автоматично замінювати http:// на https:// для всіх ресурсів. Працює у 95% випадків.

Правильний шлях - знайти всі HTTP-посилання у базі даних і шаблонах та замінити їх. Для WordPress є плагін Better Search Replace: шукаєте http://vash-domen.com і замінюєте на https://vash-domen.com. Зробіть бекап бази перед цим. Завжди. Серйозно.

Після виправлення перевірте сайт через Why No Padlock або JitBit SSL Checker - ці інструменти просканують кожну сторінку і покажуть, де залишилися проблемні ресурси.

Редіректи, HSTS і тонкощі, про які мовчать базові гайди

Ок, SSL встановлено, mixed content виправлено. Все? Ні. Є кілька речей, які відрізняють аматорську настройку від професійної.

301 редірект - не єдине рішення. Так, редірект з HTTP на HTTPS обов'язковий. Але між першим HTTP-запитом і редіректом є вікно вразливості - атака «man-in-the-middle» може перехопити саме цей перший незахищений запит. Рішення - HSTS (HTTP Strict Transport Security).

Додайте у конфігурацію сервера заголовок:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Що він робить? Каже браузеру: «Наступні 365 днів навіть не намагайся звертатися до цього домену через HTTP. Відразу переходь на HTTPS.» Після першого візиту браузер запам'ятає це правило і більше жодного незахищеного запиту не буде.

Ще кілька важливих деталей:

  • Оновіть sitemap.xml - усі URL повинні бути з https://
  • Оновіть robots.txt - вкажіть правильний шлях до sitemap
  • Перевірте canonical-теги - дублі з http:// і https:// вбивають SEO
  • Повідомте Google - додайте HTTPS-версію сайту в Google Search Console як окрему властивість
  • Оновіть зовнішні сервіси - Google Analytics, рекламні пікселі, CDN - все має працювати через HTTPS

Я бачив сайти, які після переходу на HTTPS втрачали 30-40% трафіку на тижні. Не через сертифікат - через те, що забули про canonical або створили петлю редіректів. Перевіряйте кожен пункт.

Автоматичне оновлення і моніторинг: щоб не прокинутися з протухлим сертифікатом

Let's Encrypt видає сертифікати на 90 днів. Комерційні - зазвичай на рік. І в обох випадках є ризик забути про оновлення. Знаєте, що станеться, коли сертифікат протухне? Браузер покаже повноекранне попередження: «Ваше з'єднання не є приватним». 95% відвідувачів натиснуть «Назад» і ніколи не повернуться.

Як цього уникнути:

  1. Переконайтеся, що автооновлення працює. На хостингу з cPanel перевірте AutoSSL у розділі SSL/TLS. На VPS переконайтеся, що Certbot додав cron-завдання: certbot renew --dry-run покаже, чи все налаштовано.
  2. Налаштуйте моніторинг. Безкоштовні сервіси UptimeRobot, StatusCake або спеціалізований SSLMate Cert Spotter повідомлять вас за 14-30 днів до закінчення терміну.
  3. Тримайте контакти актуальними. Центри сертифікації надсилають нагадування на email. Якщо ваша пошта на тому ж домені, а сертифікат уже протух - ви листа не отримаєте. Класична пастка.

Ще одна порада з особистого досвіду: ведіть простий документ - табличку, де записано для кожного домену тип сертифіката, дату видачі, дату закінчення і спосіб оновлення. Коли у вас 3-5 проєктів, це рятує від хаосу.

Після SSL: що перевірити і куди рухатися далі

Сертифікат встановлено, редіректи працюють, mixed content відсутній, HSTS увімкнено. Фінальний чек-лист:

  1. Відкрийте SSL Labs і введіть свій домен. Ціль - оцінка A або A+. Якщо бачите B або нижче - у вас проблеми з конфігурацією (слабкі шифри, застарілі протоколи).
  2. Перевірте швидкість сайту через PageSpeed Insights - HTTPS не повинен суттєво сповільнити завантаження. Якщо сповільнив - щось не так з TLS handshake або відсутній HTTP/2.
  3. Промоніторте індексацію в Google Search Console протягом 2-3 тижнів після переходу. Переконайтеся, що Google переіндексував HTTPS-версії сторінок.

SSL-сертифікат - це не разова дія, а елемент інфраструктури, який потребує уваги. Як масло в двигуні: залили і забули - через пів року отримуєте катастрофу.

А тепер чесне запитання: коли ви востаннє перевіряли, що саме написано в деталях вашого SSL-сертифіката? Не просто замочок у браузері - а реальний термін дії, алгоритм шифрування, чи покриває він піддомени? Якщо відповідь «ніколи» - саме час відкрити нову вкладку і подивитися. Можливо, ваш «захист» давно перетворився на ілюзію безпеки.