Переїзд сайту на захищений протокол. По-крокова інструкція

Матеріал розрахований на початківців фахівців в області оптимізації сайтів, веб-майстрів, адміністраторів і власників ресурсів

Переїзд сайту на захищений протокол. По-крокова інструкція

З липня 2018 року, цілком всі сайти, які використовують звичайний незахищений протокол http, почали позначатися в Гугл хром, одному з найпопулярніших браузерів, як ненадійні. Саме тому перехід на https зараз найбільш актуальне.

Які бувають види сертифікатів?

Класифікація сертифікатів, їх можливості і відмінності, вже багато раз висвітлювалися. З практичної точки зору можна відзначити лише, що для більшості користувачів важливий поділ на платні і безкоштовні. Найпопулярніший з безкоштовних – Let’s Encrypt. Установка такого сертифіката зазвичай вимагає не виликих зусиль (в панелі управління хостингом) та постачається разом хостингами і реєстраторами безкоштовно. Let’s Encrypt можна виписати не тільки для домену, але і для піддоменів сайту.

У процесі роботи було зроблено цікаве спостереження: Let’s Encrypt пропонують найбільш якісні хостинги з цінником вище середнього по ринку. У дешевших можна встановити, як правило, тільки платні сертифікати.

Переклад сайту на захищений протокол по кроках

1. Випуск SSL-сертифіката здійснюється або через хостинг, або через реєстратора домену (якщо домен зареєстрований через хостінговую компанію, тільки через хостинг).

2. Адреси внутрішніх посилань в контенті сайту міняємо на нові (в тому числі адреси зображень). Там, де було http: // site / url, має стати https: // site / url. Якщо сторінок дуже багато, є сенс вивчити структуру бази даних з метою пошуку можливості масової заміни.

Наприклад, типовий випадок для вордпресс:

UPDATE `wp_posts` SET `guid` = REPLACE(`guid`, 
'http://site.com', 'https://site.com');

UPDATE `wp_posts` SET `post_content` = REPLACE(`post_content`, 
'http://site.com', 'https://site.com');

3. Міняємо посилання:

-у всіх меню сайту,
-наскрізних блоках,
-посилання в розділі head сторінки на файли стилів, скрипти, шрифти.

4. Посилання на зовнішні ресурси повинні бути вказані з урахуванням наявності сертифіката безпеки.

Наприклад, шрифти Гугл доступні за двома адресами:
http://fonts.googleapis.com
https://fonts.googleapis.com
Необхідно вказати адресу з сертифікатом.

Якщо зовнішній ресурс доступний тільки по незахищеному протоколу, то адреса необхідно вказати так: //site.com

5. Перевірка в браузері

Відкриваємо кожну сторінку сайту в Mozilla Firefox і перевіряємо не висвітлюється чи помилка поруч з адресою сайту:
Якщо сторінок на сайті багато, перевіряємо вибірково.

Відкриваємо кожну сторінку сайту в Google Chrome і перевіряємо, чи не висвічується помилка поруч з адресою сайту (якщо сторінок багато, також перевіряємо вибірково). При перевірці в цьому браузері сторінки необхідно оновлювати кожен раз при відкриванні. Також в Гугл хром потрібно стежити за появою іконки праворуч від адреси:

При наведенні курсора миші на іконку, спливає повідомлення «Сторінка намагається завантажити скрипти з неперевірених джерел».

Якщо на сайті є скрипт, який посилається на незахищений ресурс, Гугл Хром за замовчуванням його не завантажили. На сайті, наприклад, може перестати працювати форма зворотного зв’язку або щось інше.

Ідентифікувати проблемний скрипт можна, викликавши в Гугл Хром «Інструменти розробника» (поєднання клавіш Ctrl + Shift + I) і відкривши вкладку «Console»:

6. Якщо адреса сайту в числі інших налаштувань вказується в адміністративній панелі, як, наприклад, робиться в Джумла і Вордпресі, необхідно там поміняти на версію з захищеним протоколом.

У ряді випадків протокол може здаватися в файлі конфігурацій. Для вордпресс це wp-config.php:

define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);

або

define('WP_HOME','https://site.com');
define('WP_SITEURL','https://site.com');

if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
    $_SERVER['HTTPS'] = 'on';
}

7. Встановлюємо в файлі .htaccess 301 редірект з усіх http-адрес сторінок на відповідні нові адреси з https.

У деяких випадках необхідно прописати такий вислів:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://site.com/$1 [R=301,L] 

У деяких
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

8. Встановлюємо 301 редірект на нову версію сайту з інших (не головних дзеркал), якщо такі є.

Наприклад, якщо раніше редірект з не головне дзеркало:
http://site.com/ стояв на http://www.site.com/
То тепер потрібно проставити редіректи з обох дзеркал на https://site.com/
Теж саме відноситься і до редіректу http://oldsite.com/ https://newsite.com/

9. Якщо в файлі .htaccess були редіректи з одного розділу на інший (з однієї сторінки на іншу і т.д.), то необхідно поправити, щоб стояли прямі редіректи на сторінку / розділ із захищеним протоколом.

10. Скануючи весь сайт, перевіряємо, чи не залишилося посилань з редіректом. Виправляємо на прямі посилання.

11. Створюємо нову карту сайту sitemap.xml і завантажуємо на сервер.

12. У файлі robots прописуємо нову адресу карти сайту.

13. Додаємо сайт із захищеним протоколом в панель Google Search Console. Завантажуємо оновлену карту сайту.

Результати переїзду сайтів на захищений протокол в чистому вигляді

У більшості прикладів, наведених в мережі, є застереження, що над сайтом проводилися і інші роботи, крім переходу на https, тому неможливо побачити вплив переїзду в чистому вигляді. Для своїх власних двох проектів нам вдалося зафіксувати вплив переходу на https в чистому вигляді, оскільки ніяких заходів ні по зовнішньої, ні по внутрішній оптимізації в відмічені періоди не проводилося. Обидва сайти комерційні, регіон – Україна. Знаком оклику відзначений день переходу. У кожному разі на графіку – динаміка зміни середньої позиції сайту по презентативної вибірки релевантних ключових фраз.

Таким чином підтверджуються відомі істини про те, що https є фактором ранжирування в Гуглі.

Як би там не було, робота сайтів на захищеному протоколі – це майбутнє, яке вже настало. Якщо раніше перехід був для багатьох сайтів лише справою особистого вибору вебмастера або власника, то з липня 2018 – став об’єктивною необхідністю для всіх.

Коментарі вимкнено.