Активний перехід на HTTPS розпочався ще 2016 року. Це було повʼязано з тим, що Google почав помічати сайти без SSL-сертифікатів як небезпечні.
Щоб допомогти користувачам правильно перенести сайти на HTTPS, Google опублікував рекомендації та принципи переїзду. Але незважаючи на це, у користувачів все одно виникають проблеми після переїзду на HTTPS — сайти втрачають трафік, а їхній рейтинг у пошукових системах падає. Крім цього, люди часто не знають, чим відрізняються SSL-сертифікати та який вибрати для свого сайту.
У цій статті ми розповімо, що таке HTTPS, чим він відрізняється від HTTP і навіщо переходити на HTTPS, а також дамо докладний чекіст, як перевести сайт на HTTPS безболісно.
Що таке HTTPS
HTTP та HTTPS — це протоколи передачі даних в інтернеті. HTTP працює на сайті за замовчуванням. Ви вводите особисту інформацію на сторінці, а браузер передає її на сервер у відкритому вигляді.
HTTPS — вдосконалена версія HTTP. Якщо ви зайшли на сайт із захищеним протоколом HTTPS, то інформація на ньому передається у зашифрованому вигляді. Щоб підключити HTTPS до сайту, потрібно встановити сертифікат SSL.
За даними Google про HTTPS-шифрування, частка захищеного трафіку зростає в усіх операційних системах.
Відсоток сторінок, що завантажуються по HTTPS в Chrome, за операційною системою:
![Відсоток сторінок, що завантажуються по HTTPS в Chrome за операційною системою](https://ssl.com.ua/blog/wp-content/uploads/2020/08/http-https-2-1024x490.png)
На 4 липня 2020 року 87% сторінок, які відвідували в Chrome користувачі Windows, відкривалися із захищеного з’єднання.
Також у Google проаналізували 100 найпопулярніших сайтів у світі, на які припадає 25% всього вебтрафіку. До цих сайтів увійшли amazon.com, booking.com, twitch.tv, linked.in та інші великі ресурси. Статистика показала, що всі 100 найбільш відвідуваних сайтів світу працюють за протоколом HTTPS:
![Статистика сайтів із HTTPS](https://ssl.com.ua/blog/wp-content/uploads/2020/08/http-https-3-1024x183.png)
Навіщо переходити на HTTPS
Безпека
Якщо користувачі вводять деталі своєї банківської картки, адресу та іншу особисту інформацію на вашому сайті без протоколу HTTPS, то зловмисники можуть легко перехопити ці дані у відкритому вигляді на шляху до вашого сервера. Якщо ж зловмисники і перехоплять такі дані за протоколом HTTPS, то замість номера картки та CVV-коду вони отримають набір цифр і букв, на розшифровку якого можуть зайти роки.
SEO
Якщо ви сумніваєтеся в тому, чи потрібно перекладати сайт на HTTPS, коли на ньому не передається особиста інформація відвідувачів, варто подивитися на плюси цього протоколу з боку SEO.
Пошукові системи мотивують власників сайтів використовувати захищений протокол передачі даних. Так Google почав зважати на наявність SSL-сертифіката при ранжируванні ще з 2014 року. У 2019 році Яндекс у своєму блозі також повідомив, що наявність HTTPS-протоколу впливає на позиції сайту в пошуковій видачі. Це означає, що за інших рівних умов сайт з протоколом HTTPS буде вищим у результатах пошуку, ніж сайт без нього.
Попередження у браузерах
Багато браузерів при спробі відкрити ресурс без протоколу HTTPS відображають попередження про те, що сайт не безпечний. Ось приклад такого попередження в Chrome:
![Попередження у Chrome про те, що сайт не безпечний](https://ssl.com.ua/blog/wp-content/uploads/2020/08/http-https-4-1024x453.png)
Це повідомлення може вплинути на рішення відвідувача залишитися на сторінці.
Довіра та надійність
Наприкінці 2014 року великий центр сертифікації GlobalSign провів опитування серед користувачів. Метою опитування було з’ясувати, наскільки відвідувачі сайтів замислюються про безпеку при інтернет-покупках.
В ході опитування 85% користувачів повідомили, що не купуватимуть через вебсайт, якщо вони не впевнені, що їх дані передаються безпечно.
Відвідувач сайту може не знати, що таке SSL-сертифікат, але він точно зверне увагу на попередження, наприклад, від Firefox при заповненні форми з паролем:
![Попередження від Firefox при заповненні форми з паролем](https://ssl.com.ua/blog/wp-content/uploads/2020/08/http-https-5.png)
Реферальні дані
Якщо ви розміщуєте банери, рекламу або інші партнерські матеріали на сторонніх сайтах, вам потрібно стежити за тим, звідки на ваш сайт прийшов трафік. При переході з сайту HTTPS на сайт HTTP реферальні дані втрачаються. Такий трафік у статистиці відображається як прямий. Тому з протоколом HTTPS ви отримаєте більш точну статистику щодо партнерів.
Продуктивність
У 2015 році було створено протокол HTTP/2, другу глобальну версію протоколу передачі даних HTTP. За інших рівних умов сайт за протоколом HTTP/2 працюватиме швидше, ніж за HTTP. Для більшості браузерів використання HTTP/2 можливе лише поверх захищеного з’єднання. Тому потрібний SSL-сертифікат.
Перехід з HTTP на HTTPS
1. Вибір SSL-сертифіката
Є три основні види сертифікатів:
- Domain Validation — сертифікат із перевіркою домену. Для випуску такого сертифіката документи не потрібні. Ви отримаєте його в середньому протягом 15 хвилин після оплати та перевірки володіння доменним ім’ям. Рекомендуємо сертифікат із перевіркою домену для сайту-візитки, блогу чи форуму.
- Organization Validation — сертифікат із перевіркою організації. Для випуску необхідно додатково надати реєстраційні документи організації та пройти перевірочний дзвінок. Такому сертифікату більше довіряють, оскільки він підтверджує реальне існування вашої компанії. Тому сертифікат із перевіркою організації підходить для інтернет-магазинів, страхових чи туристичних агенцій.
- Extended Validation — сертифікат із розширеною перевіркою. Для отримання сертифіката необхідно надати реєстраційні документи компанії та пройти перевірку за телефоном організації. Рекомендуємо сертифікат із розширеною перевіркою для великих інтернет-магазинів, фінансових компаній, банків та державних організацій.
Також SSL-сертифікати можуть захищати один домен, домен та його субдомени або кілька доменів.
Якщо вам хочеться спробувати SSL-сертифікат і не хочеться витрачати гроші, можна розглянути безкоштовний SSL-сертифікат від Let`s Encrypt.
Переваги SSL-сертифіката від Let`s Encrypt:
- безкоштовний;
- надійний ступінь шифрування.
Недоліки такого сертифікату:
- випускається на короткий термін;
- немає клієнтської підтримки;
- низька сумісність з операційними системами та мобільними платформами;
- немає компенсації збитків від центру сертифікації у разі некоректної роботи сертифіката. Якщо зловмисники вкрадуть дані відвідувача сайту через вразливість у сертифікаті, Let’s Encrypt не відшкодує збитків.
Детальніше про плюси та мінуси можна прочитати на нашій інфосторінці про сертифікат від Let`s Encrypt.
Альтернативний варіант — протестуйте наші сертифікати протягом 10 днів безкоштовно. Для цього натисніть на кнопку «Тест 10 днів» під сертифікатом, який вам сподобався, та оформіть замовлення.
2. Встановлення SSL-сертифіката
Після активації SSL-сертифіката та його випуску можна переходити до встановлення на сервер. Для встановлення сертифіката зазвичай потрібно 3 файли:
- Сертифікат / Certificate — це файл з розширенням .crt з архіву, завантаженого в панелі SSL за натисканням на кнопку «Завантажити архів із сертифікатом» у правому верхньому кутку.
- Приватний ключ / Private key / RSA — ключ, який був надісланий вам на пошту під час активації сертифіката (якщо CSR та RSA не були створені на сервері). Він починається тегом:
-----BEGIN RSA PRIVATE KEY-----
- Проміжні сертифікати / Intermediate certificates / Ланцюжок сертифікатів / CA Chain — вміст файлу з розширенням .ca-bundle з папки Linux завантаженого архіву сертифіката.
Детальні інструкції щодо встановлення сертифіката на різні хостинги та різні панелі керування ви знайдете в розділі бази знань «Генерування CSR та встановлення SSL-сертифіката».
3. Перевірка SSL-сертифіката
Після встановлення сертифіката перевірте, як він працює. Зробити це можна за допомогою безкоштовних онлайн-сервісів, наприклад decoder.link. Вкажіть ім’я вашого домену та натисніть Check.
Якщо все встановлено коректно, ви побачите напис: «It’s all good. We have not detected any issues».
![Перевірка SSL-сертифіката](https://ssl.com.ua/blog/wp-content/uploads/2020/08/http-https-6-1024x373.png)
4. Переспрямування з HTTP на HTTPS
Після встановлення SSL-сертифіката за замовчуванням сайт доступний і за захищеним протоколом HTTPS, і за незахищеним HTTP. Для перенаправлення трафіку на HTTPS потрібно встановити постійний 301 редирект з HTTP на HTTPS. Якщо у вас немає цього досвіду, то перед внесенням таких налаштувань порадьтеся зі службою підтримки хостинг-провайдера.
– Редирект з HTTP на HTTPS на Nginx
Для переспрямування на захищений протокол, відкрийте конфігураційний файл Nginx. У більшості випадків ви знайдете цей файл у каталозі /etc/nginx/sites-available. Якщо його там немає, спробуйте такі варіанти: /etc/nginx/nginx.conf, /usr/local/nginx/conf або /usr/local/etc/nginx.
У конфігураційному файлі одного домену може бути одна директива server або відразу кілька. Якщо у вас у файлі дві окремі директиви для домену, то зазвичай друга директива server — для SSL. Тоді для перенаправлення на HTTPS всередині першого вкажіть такий рядок:
rewrite ^ https://$server_name$request_uri? permanent;
Якщо в конфігураційному файлі один рядок server, вкажіть цей запис:
if ($ssl_protocol = "") {rewrite ^ https://$server_name$request_uri? permanent;}
Збережіть зміни та перезавантажте вебсервер Nginx командою:
service nginx restart
Перевірте роботу редиректа, перейшовши на ваш сайт за протоколом HTTP. Вас має автоматично переспрямувати на захищений протокол HTTPS.
– Редирект з HTTP на HTTPS на Apache
Знайдіть файл додаткової конфігурації .htaccess у кореневій папці вашого домену. Додайте вгорі файлу такі рядки:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Збережіть зміни та перевірте роботу редиректа.
5. Перевірка множинних редиректів
Множинні редиректи — це відразу кілька перенаправлень однієї сторінки на іншу. Їх треба остерігатися, бо:
- є ризик виникнення циклічної переадресації, де замість вашого сайту користувачі бачитимуть помилку ERR_TOO_MANY_REDIRECTS;
- кількість редиректів впливає на швидкість завантаження сайту, більше перенаправлень — довше завантаження;
- пошукові системи виконують лише обмежену кількість редиректів. Google у своєму посібнику з перенесення сайту на новий URL повідомляє, що в ідеалі перенаправлень виду сторінка №1 -> сторінка №2 -> сторінка №3 має бути не більше трьох, у крайньому випадку — п’ять. Якщо їх кількість буде більшою, пошуковий робот може не проіндексувати наступні сторінки сайту.
Перевірити кількість переспрямувань можна за допомогою онлайн-сервісів. Ось кілька безкоштовних варіантів:
Вкажіть посилання, яке бажаєте перевірити. Після цього переконайтеся, що редирект один, він веде на потрібну сторінку і код відповіді сервера — 200 ОК: запит виконано успішно.
6. Оновлення абсолютних HTTP посилань
Абсолютне посилання — це посилання у вмісті сайту, яке спрямовує на конкретну адресу, наприклад https://ssl.com.ua/blog/wp-content/uploads/2020/01/smartphones-steal-our-minds.png. У ньому вказано протокол, домен та шлях до потрібного файлу.
Абсолютні посилання незручні тим, що при зміні протоколу сайту, імені домену або іншого елемента URL вони можуть працювати некоректно або взагалі не працювати. Тому замість них рекомендують використовувати відносні посилання виду /blog/wp-content/uploads/2020/01/smartphones-steal-our-minds.png
Якщо у вас на сайті є абсолютні посилання і ви не хочете змінювати їх на відносні, змініть протокол з HTTP на HTTPS. Те, як це зробити, залежить від того, за допомогою чого створено сайт. Для більшості «движків» є спеціальні плагіни та модулі із заміни посилань. Наприклад, для WordPress найпопулярніший плагін у цій категорії — Better Search Replace.
7. Оновлення скриптів та сторонніх бібліотек
У хедері, футері або будь-якій іншій частині вашого сайту можуть бути посилання зовнішніх скриптів. Це можуть бути віджети YouTube, SlideShare, Facebook та інші елементи. Переконайтеся, що всі посилання надсилаються захищеним протоколом HTTPS. Майже кожен сервіс вже має версію HTTPS, на яку можна переключитися. Тому зазвичай достатньо змінити протокол у посиланні скрипту на HTTPS.
8. Перевірка сайту на помилки змішаного змісту
Якщо на сторінці залишився контент, який все ще передається через HTTP, браузер не покаже замочок в адресному рядку та відобразить попередження про те, що підключення до сайту не повністю захищене:
![Перевірка сайту на помилки змішаного змісту](https://ssl.com.ua/blog/wp-content/uploads/2020/08/http-https-7.png)
Отримати інформацію про те, які елементи передаються незахищеним протоколом, можна так:
У браузері Chrome:
- перейти на сайт;
- натиснути кнопку F12 на клавіатурі;
- у консолі, що відкрилася, перейти на вкладку «Безпека»;
- перезавантажити сторінку кнопкою F5.
У браузері Firefox:
- перейти на сайт;
- натиснути на значок замка ліворуч від адресного рядка;
- натиснути на стрілку праворуч;
- кнопка «Більше інформації»;
- у вікні, що відкрилося, перейти на вкладку «Медіа»;
- натиснути на «Адреса» для сортування елементів за HTTP/HTTPS.
Так ви побачите помилки на сторінці сайту, знайдені браузером. Про змішаний контент говорить помилка «Mixed Content». У помилці зазначено посилання на елемент, що підвантажується за незахищеним протоколом. Найчастіше це зображення. Знайдіть проблемний елемент у вмісті сайту та змініть протокол у посиланні на нього з HTTP на HTTPS.
9. Оновлення інформації в Google Search Console та Google Analytics
Google Search Console розцінює сторінки HTTP та HTTPS як різні, тому при переході на HTTPS потрібно ще раз додати ваш сайт у сервіс та підтвердити права володіння на нього. Вкажіть версію із захищеним протоколом головним дзеркалом сайту.
Для Google Analytics змініть протокол сайту на HTTPS у розділі «Налаштування ресурсу», у полі «URL за замовчуванням». Також відкрийте «Параметри представлення» та змініть протокол у полі «URL вебсайту».
10. Додатково
- оновіть або створіть новий файл sitemap.xml, вказавши посилання у ньому з протоколом HTTPS.
- якщо ви вирішили створити новий sitemap.xml, не забудьте вказати його у файлі robots.txt. Для цього в рядку після Sitemap вкажіть актуальне посилання на XML-файл.
- якщо ви використовуєте CDN-сервіс, то в ньому теж потрібно перевести сайт із HTTP на HTTPS. Ось інструкція з налаштування захищеного з’єднання для тих, хто використовує CloudFlare.
- оновіть посилання на сайт у соціальних мережах та інших зовнішніх джерелах трафіку.
Шпаргалка: як перевезти сайт на HTTPS
- Виберіть сертифікат для домену. При виборі відштовхуйтесь від специфіки свого сайту та того, скільки доменів потрібно захистити. Також визначитись із сертифікатом допоможе фільтр на сторінці https://ssl.com.ua/
- Встановіть сертифікат на хостингу. Інструкції шукайте на нашій інформаційній сторінці «Як встановити SSL-сертифікат».
- Вкажіть переспрямування сайту з протоколу HTTP на HTTPS. Перевірте, щоб перенаправлень було не більше двох.
- Оновіть посилання на сайті, щоб вони передавалися за протоколом HTTPS. У цьому допоможуть плагіни. Не забудьте про посилання на зовнішні ресурси.
- Перевірте вебсайт на наявність змішаного контенту. Якщо він є, поверніться до четвертого пункту.
- Оновіть інформацію про новий протокол сайту у сервісах вебмайстра. Оновіть карту сайту та файл robots.txt.
Чекліст з переходу з HTTP на HTTPS
Щоб ви не втратили позиції в пошукових системах після переїзду, ми перевели для вас чекіст з перенесення сайту з HTTP на HTTPS. У ньому розповідаємо, що потрібно робити до переїзду, під час та після:
👉 Чекліст з переходу з HTTP на HTTPS
Чекліст ви можете лише переглядати. Щоб зробити копію, натисніть Файл — Створити копію. Готово — у вас є свій чекліст, з яким ви можете робити все, що захочете.
Джерело: чекліст від SEO-консультантки Aleyda
Якщо ми забули щось з того, як правильно перейти на HTTPS, або ви хочете поділитися своїми історіями перекладу сайту на HTTPS — пишіть у коментарях.