Протокол HTTPS вважають по праву однією з ключових технологій сучасного інтернету і щоб убезпечити особисті дані своїх користувачів, дана технологія повинна бути підключена на сайті обов’язково. У нашій статті ви дізнаєтеся про те, що таке HTTPS, чим він відрізняється від протоколу HTTP, якому він прийшов на заміну, як він працює, навіщо потрібен і як його впровадити на свій сайт?
Відмінності HTTP та HTTPS
HTTP – це протокол передачі гіпертексту (абревіатура утворена від англ. слів Hyper Text Transfer Protocol). З цим протоколом ми стикаємося щодня, коли відкриваємо браузер. Оскільки гіпертекст є всім нам знайомі web-сторінки.
HTTPS – це спеціальне модифіковане налаштування для протоколу HTTP, яка використовує механізми шифрування під час обміну даними між сервером та браузером. Тобто будь-який сайт, який працює з HTTP може перейти на захищений HTTPS, де буква Sякраз і означає Secure (Захист) . Для цього достатньо лише правильно налаштувати існуючий сервер та підключити до нього механізм шифрування.
Наявність HTTPS – фактор просування сайту в пошуковій видачі в Google, по суті це одна із стандартних вимог у SEO.
Переваги сайтів на HTTPS
Чим хороший HTTPS протокол і навіщо його встановлювати:
- Особисті дані користувачів передаються в зашифрованому вигляді.
- Безпечна автентифікація на сайті гарантує захист від атак з перехопленням.
- Найменші зміни або спотворення даних у процесі підключення до сервера фіксуються і припиняються, незалежно від того, випадково це сталося або навмисно. li>
- Сайт, який працює на протоколі HTTPS, підвищує довіру з боку користувачів та більш релевантний для пошукових систем.
- Електронну платіжну систему можна встановити лише на сайт із захищеним протоколом.
Недоліки HTTPS
Згадаємо також і інший бік медалі. З мінусів HTTPS виділимо основні:
- Сервер потрібно переналаштувати. Якщо немає панелі керування або підтримки готових рішень щодо інтеграції сертифікатів шифрування, то знадобляться спеціальні знання та навички, щоб зробити це самостійно. Або ж можна найняти профільного фахівця.
- Шифрування даних частково підвищує навантаження на сервер і збільшує час відгуку сайту, тому що йому потрібно більше часу на обробку запитів. li>
- Сгенерувати SSL/TLS-сертифікат можна хоч самому, але він не стане довіреним, поки його не затвердить спеціальна організація. Довірені сертифікати найчастіше платні, а це додаткові витрати на утримання сайту.
- Є безкоштовні альтернативи, наприклад, від Let’s Encrypt або Cloudflare, але вони підключаються на невеликий проміжок часу та потребують частої заміни.< /li>
- Після повного переходу з HTTP на HTTPS сайт може «вилетіти» з пошукової видачі доти, доки не буде проіндексована версія HTTPS, н span>про це якщо неправильно провести підготовку до переїзду.
Як підготувати сайт до переїзду на HTTPS і відповідно підключити захищений протокол
Щоб обійтись без втрат у трафіку, потрібно ретельно підготувати сайт.
Спочатку must have зберегти резервну копію БД та файлів сайту.
Далі робимо таке.
-
Замінюємо всі внутрішні посилання сайту з абсолютних на відносні
Приклад:
- Повне посилання – https://wedex.com.ua/uslugi/prodvizhenie-sajtov-seo/
- Відносна – //wedex.com.ua/uslugi/prodvizhenie-sajtov-seo/
Якщо коротко, потрібно видалити назву протоколу внутрішніх посилань на сайті.
-
Також варто звернути увагу на скрипти
Якщо скрипт на сайті використовує не захищене з’єднання, в ньому також потрібно замінити URL на відносний.
Ця рекомендація відноситься до старих рідко використовуваних скриптів, так як популярні сервіси вже давно користуються захищеним з’єднанням.
Зверніть увагу на контент
В принципі, потрібно застосувати ті самі кроки, що й раніше — виправити посилання кожного зображення, відео, документа. Після переїзду кожен медіафайл має відкриватися за протоколом HTTPS.
Установка SSL-сертифіката
Secure Socket Layer (SSL) необхідний для роботи протоколу HTTPS. Значок закритого замка в адресному рядку браузера підтверджує його наявність. Це означає, що сайт зможе захистити дані користувача.
Безкоштовні сертифікати (self-signed) підійдуть для використання у внутрішній мережі або для службових цілей, але не підходять для публічних сайтів та інтернет-магазинів.
Відмінність між безкоштовним та платним SSL у тому, що в другому варіанті дані перевірені та підтверджені центром сертифікації.
Найпростіший спосіб замовити сертифікат – звернутися до свого хостинг-провайдера. Якщо це не варіант, найпопулярніші центри сертифікації: Comodo, Symantec, Trustwave, Geotrust, Thawte.
Потім сертифікат треба активувати, заповнивши технічні дані та вказавши контакти. Зробити це можна на сайті компанії, де ви придбали SSL.
Фінальне налаштування сайту
Після встановлення SSL адреса сайту буде починатися з HTTPS, але в індексі все ще буде розташована стара версія сайту. Тому у robots.txt потрібно виправити директиву Sitemap.xml:
Sitemap: http://site.ru/sitemap.xml
на
Sitemap: https://site.ru/sitemap.xml
Далі переходимо в Яндекс.Вебмайстер, відкриваємо розділ «Індексування» / «Переїзд сайту» та встановлюємо галочку навпроти «Додати HTTPS» і натискаємо «Зберегти».
Далі зайдіть у Google Search Console і додайте версію сайту з HTTPS .
На відміну від Яндекса, Google розуміє, що адреси з HTTP і HTTPS ведуть на той самий сайт, і віддає пріоритет при індексуванні саме сторінкам з https.
Налаштовуємо 301 редирект
Для того щоб при переході на HTTPS збереглися позиції сайту та трафік, необхідно налаштувати 301 редирект. Тут є нюанс. Яндекс не рекомендує налаштовувати редирект до того моменту, поки повністю не склеяться дзеркала, а потрібний домен буде визнаний головним дзеркалом. Але в цьому випадку можливі проблеми з трафіком у Google. Тому проаналізуйте, який пошуковик вам у пріоритеті, і якщо це Яндекс, то краще почекати, а якщо Google, то робіть редирект відразу.
Для налаштування редиректу треба відкрити файл .htaccess – він розташовується в кореневій папці сайту на FTP. Якщо файлу .htaccess немає, його треба створити.
Додайте у файл такі рядки:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Якщо цей редирект не спрацює, спробуйте такий варіант:
RewriteEngine On
RewriteCond %{HTTPS} =on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Якщо і тепер нічого не вийшло, і має місце циклічна переадресація, тобто третій варіант:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
В результаті користувачі та роботи з усіх сторінок сайту з HTTP будуть перенаправлені на сторінки з HTTPS. Також передаватиметься вага сайту.