Як вам відомо https являється безпечним протоколом передачі даних. І пошукові системи все більше віддають перевагу для сайтів, які працюють по даному протоколу. Тому якщо ви до цих пір використовуєте на своєму сайті незахищений протокол http, задумайтеся про перехід.
Кожен раз все більше можна зустріти інформації проте, що браузери будуть попереджувати користувачів, що ваш сайт не захищений і може нести небезпеку кражі даних при передаванні. Скоріш за все ближчим часом всі сайти перейдуть на захищений протокол https.
Навіщо використовувати протокол https? Для того, щоб браузер передавав інформацію від користувача до сервера по захищеному протоколу в зашифрованому вигляді та гарантував, що дані (наприклад логіни та паролі) не будуть перехоплені хакерами.
Сертифікати для сайтів можуть бути різні, але це не тема даної статті.
Я, використовую хостинг Beget, який надає абсолютно безкоштовні сертифікати від Let’s Encrypt.
1. Перше, що необхідно виконати — це отримати сертифікат. Як приклад, як вже зрозуміло, буде використовуватися хостинг від Beget.
Заходимо в панель керування хостингом. Тоді у «Домени та піддомени». Напроти свого домена можна побачити «ssl».
Клацаємо на «ssl» і у вікні, яке відкриється натискаємо «Встановити».
Після чого побачимо вікно із текстом, що заявка на встановлення сертифікату прийнята.
На домені з’явиться значок, який буде означати обробку даних.
На вашу електронну скриньку прийде лист, що ваша заявка прийнята.
Пізніше (чекати прийдеться недовго) знову прийде лист, що заявка виконана.
Далі напроти свого домену можна побачити результат встановленого сертифікату.
2. Далі переходимо у панель адміністрування сайту Joomla!. Відкриваємо «Загальні налаштування», переходимо на вкладку «Сервер» та напроти «Увімкнути SSL» вибираємо «Увесь» сайт».
Далі відкриваємо файл «configuration.php» та вписуємо свій домен: public $live_site = 'https://sovety.pp.ua';
https://sovety.pp.ua — змініть на свою адресу.
На цьому етапі у мене вже все запрацювало.
Ось так буде виглядати захищене з’єднання у браузері Goole Chrome:
3. Щоб не втратити трафік, коли користувачі будуть переходити на сайт по протоколу http потрібно виконати редирект на протокол https.
Тому відкриваємо .htaccess та в кінець вносимо таку інформацію:
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://sovety.pp.ua/$1 [R=301,L]
https://sovety.pp.ua — змініть на свою адресу.
Якщо даний код не працює — спробуйте альтернативні:
RewriteEngine On # Якщо цього рядка немає вище
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Ще один код:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Можна додати код, який перекидає по 301 редиректу на www чи з www, в залежності від того, який вибраний вами основний домен:
## Редирект з без www на www:
RewriteCond %{HTTP_HOST} ^sitename.ru$ [NC]
RewriteRule ^(.*)$ https://www.sitename/$1 [R=301,L]
## Редирект з www на без www:
RewriteCond %{HTTP_HOST} ^www.sitename.ru$ [NC]
RewriteRule ^(.*)$ https://sitename.ru/$1 [R=301,L]
sitename.ru — змініть на свою адресу.
4. Вносимо зміни у файл robots.txt (записуємо https замість http). Відкриваємо файл та вносимо зміни у:
Host та карту сайту — Sitemap. Наприклад:
Host: https://sovety.pp.ua
Sitemap: https://sovety.pp.ua/index.php?option=com_jmap&view=sitemap&format=xml&lang=ru
https://sovety.pp.ua — змініть на свою адресу.
5. Далі потрібно внести зміни у панелі веб-майстрів Google та Яндекс.
На цьому все. Вибачайте, що коротко але я не такий великий веб майстер. Просто, можливо комусь дана стаття допоможе (мені буде приємно якщо так). Дані налаштування для вас можуть не підійти, оскільки дуже багато залежить від хостингу, який ви використовуєте.