Как установить ssl сертификат на сайт joomla

от admin

Перевод Joomla на HTTPS (SSL-сертификат)

SSL-сертификат — это криптографический протокол, который подразумевает более безопасную связь. Он не позволяет мошенникам перехватить или подменить личные данные пользователя: контакты, номер банковской карты, логин, пароль, адрес электронной почты и т.д.

По этой причине использование SSL-сертификата на сайтах, я считаю обязательным!

Перевод Joomla на HTTPS

Прежде чем приступать к настройке SSL на сайте Joomla, убедитесь в том, что SSL-сертификат установлен для вашего домена (делается это на хостинге). То есть на сервере должен быть включён HTTPS.

Также обязательно сделайте резервную копию сайта.

Как включить HTTPS в Joomla!

В панели управления сайтом переходим в Система | Общие настройки и там переходим на вкладку Сервер. Параметр «Включить HTTPS» выбираем «Весь сайт».

Как настроить HTTPS в Joomla!

После того, как включили HTTPS в панели управления, нужно внести небольшие изменения в файл configuration.php и .htaccess:

Шаг 1. Открываем файл configuration.php, который находится в корневой папке сайта. Находим в нём строку с параметром $live_site. И прописываем в этот параметр имя вашего сайта с https.

Вот пример как выглядит эта строка для моего сайта:

И конечно же не забудьте сохранить файл configuration.php после внесенных изменений.

Шаг 2. Теперь нужно установить перенаправление с HTTP на HTTPS в файле .htaccess. Этот файл тоже находится в корне вашего сайта. Чтобы перенаправить пользователей с HTTP на HTTPS откройте файл .htaccess и найдите в нём строку RewriteEngine On. После этой строки нужно добавить следующий код:

Также можно установить перенаправление с www на HTTPS. Для этого добавляем еще такой код:

Теперь проверьте всё ли правильно работает.

Как проверить правильно ли работает HTTPS на сайте:
  1. Введите в адресной строке браузера адрес вашего сайта с HTTP и нажмите Enter. Должно произойти перенаправление с HTTP на HTTPS и в адресной строке уже буде адрес сайта с HTTPS.
  2. Введите в адресной строке браузера адрес вашего сайта с WWW и нажмите Enter. Должно произойти перенаправление с WWW на HTTPS и в адресной строке уже буде адрес сайта с HTTPS.
  3. Введите в адресной строке браузера адрес вашего сайта без HTTP, WWW, HTTPS (просто адрес). Нажмите Enter. Должно произойти перенаправление и в адресной строке уже буде адрес сайта с HTTPS.

Если эти три пункта выполняются, значит всё настроено правильно.

Если всё сделано правильно, то в адресной строке браузера, рядом с адресом сайта, должен быть значок закрытого замка (на любой странице сайта). Если по нему кликнуть, то вы увидите сообщение «Защищенное соединение», или «Безопасное подключение».

Joomla SSL

Частые проблемы при переходе на SSL-сертификат и их решение

  • 1. Если не получается сохранить файл configuration.php после внесения изменений, значит этот файл защищен от записи.

Чтобы получить возможность редактировать файл configuration.php, нужно с помощью файлового менеджера установить для него права доступа 644.

  • 2. Если в файле .htaccess не работает код, приведённый выше, то попробуйте этот:
  • 3. Если в консоли браузера высвечиваются ошибки mixed content, то попробуйте добавить в файл configuration.php следующую строку:

А в файл .htaccess

Как включить SSL в VirtueMart

Для того, чтобы включить SSL в VirtueMart — перейдите в ViryueMart | Конфигурация и на вкладке «Мгазин» отметьте галочкой пункт Включить SSL.

VirtueMart SSL

  • Назад
  • Вперед

В файле configuration.php все так как у Вас написано.
А вот с файлом .htaccess такая странная штука получается, у меня почему то их два таких файла: .htaccess и .htaccess 1. Причем внутри у них разный код, вернее начало одинаковое но в .htaccess 1 там еще есть строчки кода. Откуда взялся .htaccess 1 — не знаю. Перед этим переписывалась с техподдержкой, они там что то пытались сделать.
В файле .htaccess нашла RewriteEngine On и вот что там написано:

RewriteEngine On
## Begin — Rewrite rules to block out some common exploits.
# If you experience problems on your site then comment out the operations listed
# below by adding a # to the beginning of the line.
# This attempts to block the most common type of exploit `attempts` on Joomla!
#
# Block any script trying to base64_encode data within the URL.
RewriteCond % base64_encode[^(]*\([^)]*\) [OR]
# Block any script that includes a tag in URL.
RewriteCond % (|%3E) [NC,OR]
# Block any script trying to set a PHP GLOBALS variable via URL.
RewriteCond % GLOBALS(=|\[|\%[0-9A-Z]<0,2>) [OR]
# Block any script trying to modify a _REQUEST variable via URL.
RewriteCond % _REQUEST(=|\[|\%[0-9A-Z]<0,2>)
# Return 403 Forbidden header and show the content of the root home page
RewriteRule .* index.php [F]
#
## End — Rewrite rules to block out some common exploits.

## Begin — Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End — Custom redirects

##
# Uncomment the following line if your webserver’s URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

## Begin — Joomla! core SEF Section.
#
#RewriteRule .* — [E=HTTP_AUTHORIZATION:%]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond % !^/index\.php
# and the requested path and file doesn’t directly match a physical file
RewriteCond % !-f
# and the requested path and file doesn’t directly match a physical folder
RewriteCond % !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End — Joomla! core SEF Section.

В файле .htaccess 1 написано тоже самое, но плюс еще что то, что не пойму.
Я все время боюсь лезть в код, боюсь что то сделать неправильно. Вот и ищу решение. Спасибо ВАм огромное за помощь!
Подскажите, пожалуйста, все ли правильно у меня в этом файле написано?

Установка SSL сертификата на Joomla сайт: переходим на https протокол

Я не знаю, зачем нужен SSL сертификат на Joomla сайте вам. Может у вас Интернет магазин и/или посетители оставляют на сайте свои платежные реквизиты, или вы, как я, заинтересованы в более высоких позициях в выдаче. Причина получить зеленый замок лояльности в адресной строке браузера рядом со своим сайтом может быть любая. Причина получения SSL влияет только на тип вашего сертификата и не важна для этой статьи. Для этой статьи считаем, что вы получили SSL сертификат для вашего домена, на котором создан сайт Joomla.

Кстати, не нужно путать SSL сертификат от центра сертификаций и VPN-сервисы. Оба понятия имеют отношения к безопасности, только SSL сертификат показывает браузеру, что ваш сайт (вернее домен) безопасен, а дешёвый VPN сервис позволяет защитить свою приватность и работать в Интернет анонимно.

Как дела обстоят на практике

Есть 4 типа сертификатов SSL для сайтов:

  • Проверка домена (DV). Выдаются частным лицам, есть бесплатные варианты;
  • Проверка домена и собственника домена (IV);
  • Проверка домена и фирмы (OV);
  • Расширенная проверка организации (EV). Лучший вариант для интернет-магазина.
  • Для кириллического домена нужно искать сертификат типа IDN.

Чтобы получить или купить SSL сертификат, можно воспользоваться следующими практическими вариантами:

  1. Бесплатно. Если ваш хостер настолько хорош, что работает с бесплатным центром сертификации Let’s Encrypt и предлагает бесплатно получить SSL сертификат от этого центра.
  2. Бесплатно. Зарегистрировавшись и получить сертификат DV Free на сайта SmartSSL.
  3. Платно, через, панель своего хостинг провайдера. Если ваш хостер настолько предусмотрителен, что создал дополнительную услугу, по покупке сертификата. Стоимость таких сертификатов от 500 рублей в год, на домен+www, и его покупка прописана на хостинге.
  4. Платно на стороне. Вы можете купить сертификат SSL в специальных центрах сертификации и обратиться к хостеру для его подключения. Лучше сначала спросить у хостера, а потом покупать.

SSL Jomla 3x scrin2

SSL Jomla 3x scrin3

Примечание: Так называемые самоподписные сертификаты не являются для браузеров безопасными. При их использовании и переходе на протокол HTTPS вы сами «пометите» свой сайт, красной меткой, как ненадежный.

Подготовительные работы перехода на https протокол на Joomla сайте

Итак, у вас есть сертификат безопасности SSL, отличный от самоподписного. Не важно, подключили вы его бесплатно на хостинге или имеет два ключа безопасности, для перевода сайта Joomla на безопасный протокол HTTPS нужно:

  • Сделайте резервную копию сайта (сайт+ база данных);
  • Включите для домена SSL кодирование и подключите к домену сертификат безопасности. Пока, не делайте переадресацию с протока http на https;
  • Проверьте доступность сайта по протоколам http и https. По https вы должны видеть сайт, а не пустую заставку.

Настройка Joomla сайта для работы с SSL

Что значит корректный переход на новый протокол https? Это значит, что все страницы вашего сайта, включая все ссылки, картинки, ссылки сторонних расширений, формы должны быть доступны и по протоколу https.

Во-первых, в настройках сайта Joomla, есть кнопка активации SSL режима. Её нужно включить. Вкладка административной панели: Общие настройки >>Сервер.

SSL Jomla 3x scrin1

Во-вторых, если вы вставляли на сайт картинки используя «Медиа менеджер» сайта, то в нем картинки вставляются с относительным адресом и переход на протокол https их не закроет.

В-третьих, все внутренние ссылки, должны быть также относительными или прописанными с протоколов https.

В-четвертых, все внешние ссылки должны поддерживать протокол https и вам нужно прописать в них, вместо протокола http протокол https. Если внешний источник их не поддерживает, их нужно убрать или не обращать внимание на предупреждение браузера.

В-пятых, во всех сторонних расширениях сайта нужно включить режим поддержки SSL (если есть такой режим).

  • Велика вероятность (для примера), что ваш шаблон подгружает через скрипты сторонние стили, а значит в скрипте, указан такой вызов:
  • Доложно быть так

После выполнения всех перечисленных настроек, открываем сайт по протоколу https. Это значит, в адресной строке браузера пишем полностью:

Что делать если браузер показывает сайт ненадежным

Если вам удалось, открыть свой сайт по протоколу https, но вы видите, предупреждение браузера о ненадежности сайта или браузер блокирует часть скриптов сайта, это значит, что браузер видит «Mixed content», смешанное содержание на странице сайта.

Для проверки «Mixed content» лучше использовать браузер Chrome. На странице сайта правой кнопкой открываете вкладку «Посмотреть код». Вверху вкладка «Security», под предупреждением Mixed content ссылка на список ошибок или значок ошибок в правом верхнем углу.

Mixed Content SSL Jomla 3x

В списке ошибок видим ошибки в url, которые нужно исправить. Велика вероятность, что под смешанное содержание попадут: некоторые видео, некоторая реклама, сторонние картинки, и другие коды включающие сторонние, небезопасные url.

Примечание: Все вышеперечисленные настройки можно отнести к технической части перехода на протокол https. Есть вторая часть перехода, SEO настройка сайта после перехода на https.

Оптимизация перехода на протокол HTTPS Joomla сайта

По SEO переход на протокол https сродни переезду на новый домен. Меняя протокол сайта, вы меняет все его ссылки. Это значит, что все страницы вашего сайта, которые были в выдаче, по протоколу http, из индекса выпадут.

Минимизировать потери выдачи, можно, сделав следующие шаги оптимизации:

301 redirect

Если сайт работает на сервере в режиме Apache, то в файле .htaccess, который должен быть у вас в корне сайта, пишем две директивы переадресаций.

Если сайт работает на сервере в режиме Nignx, то ищем кнопку переадресаций из директивы HTTP в директиву HTTPS. Если такой кнопки нет, пишем хостеру с просьбой помощь.

Если не помогают директивы в файле .htaccess, пишем в техподдержку хостера.

Для поисковиков Google и Bing

Для этих поисковиком, в панелях инструментов для вебмастеров, добавляем новый сайт с https и сообщаем о новой карте сайтов с https. Если вы предварительно включили 301 redirect в этих поисковиках больше ничего делать не нужно.

Для поисковика Яндекс

Сначала, в файле robots.txt вашего сайта, меняем директиву Host и пишем новое основное зеркало сайта, полностью: https://site.exe или https://www.site.exe.

В инструментах вебмастера Яндекс, на вкладке «Инструменты» проверяем файл robots.txt, ошибок быть не должно.

Там же, отправляем новую карту сайта sitemap с https.

yandex ssl nastroyka joomla3x scrin4

Там же, на вкладке «Переезд сайта», сообщаем о начале использования протокола HTTPS. Это можно не делать, если вы прописали новую директиву Host (лучше сделать).

yandex ssl nastroyka joomla3x scrin1

yandex ssl nastroyka joomla3x scrin2

yandex ssl nastroyka joomla3x scrin3

Примечание: если у вас крутой трафик и вам «ну очень жаль» трафик, вам можно попробовать следующую схему оптимизации безопасного протокола:

  • Не делайте переадресации http на https нигде. Сайт будет доступен по двум адресам.
  • Добавьте на Яндекс новый сайт с https.
  • Ждите его полной индексации (4-6 месяцев).
  • Теперь сделайте переадресацию http на https.

Есть мнение, что на новом интерфейсе Яндекс (новом алгоритме) можно сразу сделать переадресацию, и трафик плавно перетечет на новый протокол. Похоже это так, я не вижу потери трафика, скорее наоборот. Зато что вы точно потеряете с переходом на https это ТИЦ. С 301 редиректом, он обнулится на обеих сайтах (http и https), до следующего апдейта ТИЦ.

Выводы

Установка SSL сертификата на Joomla сайт и переход на https протокол, дело серьезное, в некоторых вариантах затратное. Поэтому, начать переход на безопасный протокол, серьезного проекта, лучше с общения с техподдержкой вашего хостера. Если они не могут вам помочь, искать альтернативный хостинг с вразумительной поддержкой SSL сертификации.

Переводим сайт Joomla на HTTPS с бесплатным SSL

В данной статье мы рассмотрим вопросы, касающееся переноса сайта Joomla на HTTPS протокол, а также выясним, зачем это нужно и какие есть преимущества и недостатки. Большинство информации будет полезно не только для перехода уже существующего сайта, но и для запуска нового. Материал может пригодиться владельцам сайтов на Joomla и на любых других CMS.

В 2012 году сайт Aleksius.com работал на протоколе HTTPS с бесплатным SSL от StartSSL™ PKI (01.01.2018 этот центр сертификатов закрылся). После этого я перешёл на HTTP. В статье «Защита Joomla (часть 8). Бесплатный SSL сертификат» рассмотрен ряд вопросов по данной тематике. Но с тех пор произошли изменения в данном направлении.

В 2017 году снова перевёл сайт Aleksius.com, а также пару других своих сайтов на защищённый протокол HTTPS с бесплатным SSL сертификатом от Let’s Encrypt. Проседания трафика или потерь позиций не наблюдалось ни в Google, ни в Яндекс.

Для сайта Didzhej.kh.ua, спустя 1-2 месяца после переноса на HTTPS, заметил небольшой рост позиций в Google (Украина и Харьков) по некоторым запросам. Никаких работ, кроме перехода на HTTPS, не проводил. Возможно совпадение, а, может, и маленький «бонус» за защищённый протокол.

За несколько лет переводил около десятка клиентских сайтов с HTTP на HTTPS. Сайты разной тематики, с разной посещаемостью. Ни разу не наблюдал роста или падения позиций. По крайней мере, в течение 1-4 месяцев после перехода.

Видео урок

  • Шаг 1 (внутренние ссылки) – 00:01:11.
  • Шаг 2 (внешние ресурсы) – 00:04:24.
  • Шаг 3 (meta name=»referrer») – 00:05:38.
  • Шаг 4 (установка SSL) – 00:06:32.
  • Шаг 5 (проверка SSL) – 00:07:56.
  • Шаг 6 (перенаправление) – 00:09:36.
  • Шаг 7-10 (донастройка) – 00:12:10.
  • Шаг 11 (тест сайта) – 00:13:54.
  • Шаг 12-16 (дополнительные сервисы) – 00:17:01.
  • Шаг 17 (отслеживание перехода) – 00:19:41.

Видео лучше просматривать с качеством 720 HD. Этот и другие видео уроки можете найти на каналах сайта Aleksius.com в YouTube и Mail.ru.

Ссылки из видео:

    . .
  • «Переезд сайта после отказа от директивы Host» (Яндекс).

Переход Joomla на HTTPS

При переносе своих сайтов, в основном, руководствовался рекомендациями с официальных сайтов Google и Яндекс. Плюс, очень помог чек-лист по переходу на HTTPS, который выложил Виктор Есипов в комментариях к вопросу в справочном центре Google. На всякий случай, прикрепляю этот файл в конце статьи над комментариями. Стоит отметить, что с 14.04.2017, когда был выложен данный чек-лит, произошли некоторые изменения. Например, в 2018 году Яндекс отказался от директивы Host в файле «robots.txt». Также в блоге Яндекса для вебмастеров 03.06.2019 была опубликована статья «Самые популярные вопросы про переезд сайта на сегодняшний день», в которой можно найти более свежую информацию по данному вопросу, чем в прикреплённом файле.

Будем рассматривать процесс перехода уже существующего сайта на Joomla 3.9.15 с использованием бесплатного SSL сертификата от Let’s Encrypt на Хостинге Украина без выделенного IP. Информация актуальна на 09 февраля 2020.

На всякий случай рекомендую сделать резервную копию всего сайта.

Шаг 1. Проверьте, чтобы все внутренние ссылки сайта были относительными, а не абсолютными. Например, если в одном материале Вы ссылаетесь на другой, то ссылка должна быть такой: «/joomla/rasshireniya/dj-catalog2», а не такой: «http://aleksius.com/joomla/rasshireniya/dj-catalog2». Не указывайте протокол и домен. Для упрощения данного процесса можно выгрузить базу данных Joomla, открыть её, например, в Notepad++ и поискать абсолютные ссылки.

Для поиска можно ввести это (без кавычек ёлочек): «href=http://aleksius.com». Вместо моего, подставьте свой домен. Если таких значений много, то можно автоматически заменить:

Делайте это с осторожностью и только в том случае, если Вы уверены в своих навыках.

Шаг 2. Проверьте, чтобы все ссылки на внешние ресурсы (скрипты чатов, счётчики статистики, видео с видео-хостингов) были указаны с защищённым протоколом. Например, «https://www.youtube.com/embed/XD», а не «http://www.youtube.com/embed/XD».

Шаг 3 (не обязательный). Если Вы ссылаетесь на другие сайты и хотите, чтобы в их статистике Ваш сайт был реферальным источником перехода, то добавьте в код каждой страницы этот тег:

Его нужно добавлять перед закрывающем тегом «</head>». Более подробную теоретическую информацию можно получить в статье «О пользе мета-тега «referrer» в эпоху шифрования». Если Вы используете у себя на сайте компонент sh404SEF, то перейдите в его настройки, на вкладку Компонент sh404SEF – Расширенные, и выберите в спадающем списке Политика источника нужное Вам значение. Я выбрал Только источник. Есть и другие способы добавления данного тега. Специально устанавливать только для этого sh404SEF нет смысла.

Шаг 4. Установите на хостинге SSL сертификат согласно инструкции Вашего хостинг-провайдера. Или попросите сделать это техническую поддержку хостинга. Но пока не включайте перенаправление с HTTP на HTTPS.

Шаг 5 (проверка SSL). Протестируйте сертификат. Я предпочитаю сервис Qualys SSL Labs. Если оценка «А» («А+» или «А-»), то всё нормально. Если оценка ниже, то рекомендую ознакомиться с замечаниями более детально и посоветоваться с Вашим хостинг-провайдером, как можно их устранить. Обратите внимание, что не всегда низкая итоговая оценка, например «B», свидетельствует о проблемах с сертификатом. На рисунке ниже показана часть результатов теста моего SSL

Проверка SSL сертификата сайта Aleksius.comПроверка SSL сертификата сайта Aleksius.com

В моём случае оценка с «A+» (так было в конце 2019 года) снизилась до оценки «B» из-за изменений в критериях оценки данного сервиса. Мой хостинг поддерживает протоколы защиты транспортного уровня (TLS) версии 1.0, 1.1, 1.2, 1.3. Но протоколы версии 1.0, 1.1 устарели и являются менее безопасными. Немного подробнее об этом можно прочесть в статье «Браузеры отказываются от поддержки TLS 1.0 и 1.1» (статья за октябрь 2018). Система тестирования Qualys SSL Labs считает, если к сайту можно подключиться по TLS 1.0 и 1.1, то это снижает уровень безопасности.

Но мой сайт не единственный. Например, у «https://www.google.com» тоже оценка «B» (рисунок ниже).

Проверка SSL сертификата сайта Google.comПроверка SSL сертификата сайта Google.com

И у сайта самого большого банка в мире (Industrial & Commercial Bank of China – Промышленный и коммерческий банк Китая) тоже (рисунок ниже).

Проверка SSL сертификата сайта Icbc.com.cnПроверка SSL сертификата сайта Icbc.com.cn

С такой же оценкой на данный момент (09.02.2020) сайт Symantec – крупная компания по разработке программного обеспечения в области информационной безопасности и защиты информации (рисунок ниже).

Проверка SSL сертификата сайта Symantec.comПроверка SSL сертификата сайта Symantec.com

Обязательно проверьте сайт в разных браузерах. В том числе, в мобильных.

Шаг 6. Настройте перенаправление с HTTP версии на HTTPS. В самой CMS Joomla, перейдите в Система – Общие настройки – Сервер и для опции Включить SSL выберите Весь сайт (рисунок ниже).

Joomla SSLJoomla SSL

Рекомендую очистить кэш сайта и браузера. Уже после этого весь сайт должен работать по протоколу HTTPS.

Также можно сделать перенаправление с HTTP на HTTPS версию сайта в панели управления Вашего хостинга. Об этом можно узнать в технической поддержке хостинга. У хостинга Украина в панели управления перейдите в Мои сайты – «НАЗВАНИЕ ВАШЕГО САЙТА» – Настройки SSL и для опции Переадресация HTTPS выберите Переадресовывать запросы с http на https (рисунок ниже). После этого подождите минут до 15 минут.

Перенаправление с HTTP на HTTPSПеренаправление с HTTP на HTTPS

Читать:
Какая сборка windows 10 самая лучшая

Ещё один вариант – перенаправление, заданное в файле «.htaccess». Есть несколько вариантов. Попробуйте их или уточните в технической поддержке Вашего хостинга.

Также в файле «.htaccess» можно добавить следующую команду:

Она нужна чтобы задействовать HSTS (HTTP Strict Transport Security). Подробнее об этом механизме можно прочесть в Википедии.

Если Ваш хостинг поддерживает CAA (Certification Authority Authorization) записи, Хостинг Украина их поддерживает, то можете добавить эту запись. Немного подробнее о ней можно прочесть в статье «DNS-запись CAA. Зачем нужна и как использовать?».

Шаг 7. Если речь идёт именно про HTTPS в Joomla, то в файле настроек «configuration.php» найдите директиву «public $live_site», и если там указан домен, укажите защищённый протокол для него. Например:

Если у Вас там ничего не указано, то пусть так и будет. Не надо ничего добавлять.

Шаг 8. После настройки SSL в Joomla подумайте, какие именно у Вас есть расширения, которые могут «контролировать» протокол сайта. Например, в RSSEO, в плагине, есть опция, которая позволяет указать протокол сайта и домен. Подобные настройки есть в sf404SEF. И таких расширений много. Поищите их у себя и перепроверьте настройки.

Не забудьте исправить протокол в правилах перенаправлений в файле «.htaccess» или в каких-то расширениях, где Вы ранее могли настраивать перенаправление со старых URL на новые.

Шаг 9. Проверьте файл «robots.txt». Если там есть ссылки на карты сайта, то замените их на защищённый протокол.

Шаг 10. Если у Вас мультиязычный сайт, тогда проверьте, чтобы в HTML коде страниц, для тега «rel=alternate», была указана версия HTTPS сайта. Например:

Также проверьте, чтобы в HTML коде страниц, для тега «rel=»canonical»» была указана версия HTTPS сайта. Например:

Это можно сделать, например, при помощи плагина Aimy Canonical PRO.

Шаг 11. Протестируйте весь сайт. Для этих целей можно посетить все страницы сайта (если их не много) и понаблюдать за сообщениями в консоли для веб-разработчиков в браузере и за значком защищённого соединения в адресной строке браузера. Если в консоли есть ошибки типа «Загрузка смешанного (небезопасного) отображаемого содержимого», если возле значка защищённого соединения в адресной строке браузера есть предупреждающий знак (рисунок ниже, в Mozilla Firefox 70.0.2), тогда ищите причину проблемы. Знайте, что страница не полностью работает по HTTPS.

Загрузка смешанного содержимогоЗагрузка смешанного содержимого

Иногда причиной таких ошибок могут быть внешние ресурсы, загружаемые по HTTP протоколу. Например, веб-шрифты, библиотека jQuery и т.д.. Такие ошибки можно устранить путём настройки расширений, которые используют эти ресурсы. Например, в настройках плагина, отвечающего за контроль версий jQuery, часто бывает опция, которая позволяет сменить протокол, по которому подгружается библиотека.

Если не смогли найти такие настройки, можно скачать весь сайт себе на компьютер (можно без картинок, вложений и видео) и запустить поиск по содержимому файлов. В качестве искомой фразы укажите часть или весь URL с протоколом HTTP. Если найдёте, то попробуйте исправить протокол ссылки прямо в файле. Для поиска я предпочитаю использовать FreeCommander XE.

Если сайт большой, то посещать все его страницы слишком долго. Посетите самые важные и «типовые». Например, несколько карточек товаров, несколько страниц категорий товаров и т.д.

Можно автоматизировать процесс проверки смешанного содержимого. Я так и делаю. Проверяю все страницы сайта, доступные для индексации при помощи специальной программы – WebSite Auditor (рисунок ниже). Заодно проверяю наличие дублирования HTTP и TTTPS версий сайта.

Проверка смешанного содержимогоПроверка смешанного содержимого

Программа построит список URL адресов, где найдена ошибка смешанного содержимого. Это очень ускоряет процесс поиска подобных проблем. Особенно, если сайт состоит из сотен и тысяч страниц.

Для проведения бесплатного SEO анализа с выявлением ссылок работающих на HTTP, можно использовать программу SiteAnalyzer.

Шаг 12. Если Вы ранее регистрировали сайт в Яндекс Вебмастер, то следуйте инструкциям в статье «Переезд сайта после отказа от директивы Host». Также рекомендую ознакомиться со статьёй «Самые популярные вопросы про переезд сайта на сегодняшний день».

Не забудьте для нового сайта (версии с HTTPS) произвести все настройки в Яндекс Вебмастере, как и для сайта с HTTP: добавить карту сайта, указать региональность и т.д.

Шаг 13. Не забудьте обновить протокол сайта во всех сервисах, где Вы его ранее регистрировали: Яндекс.Справочник, Яндекс.Каталог, Google Ads (если это сделать, то можно потерять статистику по объявлениям), Google Карты и т.д.. В принципе, это не обязательно, так как будет работать 301-е перенаправление, которое Вы настроили на шаге №6. Но всё же рекомендую это сделать.

Шаг 14. Если Вы ранее регистрировали сайт в Google Search Console, добавьте туда ещё и версию с HTTPS. Это происходит аналогично тому, как Вы добавляли HTTP версию. Не забудьте добавить карты сайта в Google Search Console (если они есть).

Шаг 15. Если Вы ранее регистрировали сайт в Средствах веб-мастера Bing, добавьте туда ещё и версию с HTTPS. А затем в настройках HTTP версии сайта в разделе Средства диагностики – Перемещение сайта выберите Я перемещаю URL-адреса с этого сайта на другой проверенный сайт: выберите конечный сайт (рисунок ниже) и укажите HTTPS версию сайта.

Переход Joomla на HTTPSПереход Joomla на HTTPS

Шаг 16. Если Вы ранее регистрировали сайт в Кабинете вебмастера Mail.ru, то перейдите в свой сайт в раздел Настройки и активируйте опцию Показывать «https».

Теперь ждите. Регулярно проверяйте сообщения об ошибках в инструментах для веб-мастеров всех поисковых систем. Старайтесь устранять всё максимально быстро. Переезд может занимать достаточно длительное время (даже до 2-6 месяцев). Это зависит от сайта (его размера), ограничений хостинга/сайта в плане скорости индексации поисковыми роботами, поисковых систем.

Шаг 17 (проверка перехода Джумла на HTTPS). Чтобы убедиться, что поисковые системы начали/закончили переиндексацию сайта на HTTPS, можно смотреть на показатели эффективности (клики в веб-поиске) в Google Search Console для HTTPS и HTTP версий сайта. Для HTTP версии эффективность должна падать, а для HTTPS – расти. Это признак того, что переход в процессе. Когда эффективность HTTP версии упадёт до 0, а HTTPS поднимется до прежних показателей HTTP версии (до перехода), это означает, что процесс завершён.

В сервисе Яндекс Вебмастер есть аналогичные данные – Клики в поиске.

Что такое HTTPS и зачем он нужен

Чтобы пользователь мог увидеть страницы Вашего сайта, он должен подключиться к нему. Это подключение происходит на основании набора правил – протокола. Есть много протоколов. Мы будем говорить про HTTPS.

Грубо говоря, HTTPS – это защищённый протокол передачи данных между Вашим сайтом и браузером пользователя. Подробнее об этом можно прочесть в Википедии. Когда пользователь заходит на Ваш сайт, видит его в браузере, вводит свой логин и пароль для доступа в закрытую часть сайта (если такая есть), пишет комментарии/сообщения, оформляет покупки, просматривает видео и т.д., то это происходит за счёт передачи данных от Вашего сайта в браузер посетителя и наоборот. Между сайтом и посетителем данные идут через различные устройства, по проводам или беспроводному сигналу.

Также рекомендую ознакомиться со статьёй в справке Google Search Console «Защитите свой сайт с помощью HTTPS».

Зачем нужен HTTPS. Во время прохождения данных, от Вашего сайта к браузеру пользователя и наоборот, злоумышленники могут перехватить их и воспользоваться в своих мошеннических целях. Например, узнав логин и пароль, они могут войти на сайт от имени пользователя. Благодаря этому могут узнать больше информации о человеке для обмана с целью получения денег. А если на сайте есть конфиденциальная финансовая информация (номера кредитных карт и т.д.), то последствия перехвата данных могут быть ещё плачевнее.

Как раз для минимизации рисков возникновения подобной ситуации существует протокол HTTPS. Благодаря ему данные передаются в зашифрованном виде.

Для настройки HTTPS Вам понадобится SSL сертификат. Как раз он отвечает за шифрование данных. Подробнее про SSL сертификаты можно прочесть в статье «Что такое SSL-сертификат: почему он подключен у 9 из 10 сайтов».

Обратите внимание, что HTTPS даже с самым дорогим SSL сертификатом не гарантирует полной защиты данных.

Преимущества и недостатки HTTPS

Рассмотрим ряд преимуществ, которые может дать HTTPS протокол.

  • Повышение защищённости данных посетителей Вашего сайта (при их передаче).
  • Повышение позиций сайта. Это не 100% гарантия, но наличие HTTPS – это плюс в ранжировании. 6 августа 2014 года Google объявил, что HTTPS стал фактором ранжирования. 21 февраля 2019 в своём блоге Яндекс также отметил возможное положительное влияние наличия HTTPS на позиции сайта.
  • Повышение доверия пользователей к сайту. Большинству простых пользователей не известны преимущества HTTPS, в плане защиты их данных, но так как этот вопрос стал подниматься всё чаще, так как поисковые системы начали обращать на это внимание, то со временем, надеюсь, и обычные пользователи будут с большей охотой отдавать предпочтение сайтам на HTTPS. Также в некоторых браузерах можно найти информацию о том, что соединение зашифровано. На рисунке ниже показан пример такого сообщения для браузеров (сверху вниз на рисунке): Google Chrome 80.0.3987.87, Яндекс.Браузер 20.2.1.234, Opera 66.0.3515.72, Mozilla Firefox 72.0.2.
  • Более точная статистика по переходам пользователей. Если Ваш сайт на HTTP, а пользователь перешёл на него с другого сайта на HTTPS, в Вашей статистике это будет отмечено как прямой переход, а не реферальный.
  • Некоторые сервисы не поддерживают интеграцию или ограничивают функциональность с сайтами, которые работают на HTTP протоколе. Например, отслеживание в Google Merchant доступно только для URL с HTTPS. С рекламой в Google тоже не всё так просто. Например, согласно правилам Вам могут заблокировать показ рекламы, если Вы производите: «получение реквизитов кредитных карт по незащищенным каналам».
  • Возможность применения HTTP/2 для увеличения скорости загрузки сайта. В Firefox, Chrome, Safari, Opera, IE и Edge нельзя использовать HTTP/2 без HTTPS. По этой причине некоторые хостинг провайдеры не активируют HTTP/2, если сайт работает по незащищённому протоколу (HTTP). Подробнее о данном протоколе можно прочесть в статье «Все, что нужно знать о HTTP/2».

А теперь рассмотрим недостатки HTTPS.

  • Риск временного снижения посещаемости. Может быть вызвано тем, что для поисковых систем страницы на HTTP и на HTTPS – это разные страницы.
  • Нужен SSL сертификат. Есть бесплатные, а есть платные. Если выберете платный, то за него придётся отдавать, примерно, от 6,5$ в год за один домен. На данный момент я не нашёл информации в официальных источниках (от поисковых систем), что сайты с платными сертификатами ранжируются выше. В статье справочной системы Google Search Console есть такая фраза (рисунок ниже).

На самом сайте Let’s Encrypt, на главной странице, есть перечень спонсоров (рисунок ниже). По сути, это список организаций, которые проявили доверие к Let’s Encrypt. Среди них, кроме Google, ещё Mozilla (разработчик программного обеспечения), Cisco (производитель аппаратного и программного обеспечение в области информационных технологий и сетей), Sucuri (компания, специализирующаяся на защите сайтов), Siteground (крупная хостинг-компания) и многие другие известные во всём мире «игроки» IT-индустрии.

На основании этого, а также тестов и собственного опыта, могу сказать, что бесплатный SSL сертификат от Let’s Encrypt не уступает платным аналогам. Под аналогами подразумеваю сертификаты, удостоверяющие домен. Если нужно подтвердить компанию, то бесплатный SSL от Let’s Encrypt не подойдёт.

  • Нужно следить за актуальностью сертификата. Если он будет просрочен или отозван центром сертификатов, которым он был выдан, то посетители сайта смогу попасть к Вам только если нажмут ссылку «Принять риск» в окне браузера.
  • Сложности при переходе существующего сайта на HTTPS. Придётся потратить время/деньги, чтобы перевести уже работающий сайт на защищённый протокол. Задача усложняется, если на сайте используются элементы с внешних сервисов, которые не поддерживают HTTPS. В таком случае Вы получите ошибки смешанного содержимого.
  • Старые версии браузеров требуют наличия выделенного IP адреса для нормальной работы с сайтом по протоколу HTTPS. Таких браузеров очень-очень мало, но они есть. Выделенный IP адрес может стоить около 1,5$ в месяц.
  • Незначительные потери в скорости загрузки страницы. Нужно несколько миллисекунд на «обработку» SSL (рисунок ниже).

В завершение хочу привести статистику HTTPS трафика в России по данным Яндекс Радар. В марте 2015 доля зашифрованного трафика была 17,29%, а в январе 2020 выросла до 92,7%. Это может говорить о том, что многие владельцы сайтов прислушались к призывам Google и обзавелись SSL сертификатами.

Статистика HTTPS трафика в РоссииСтатистика HTTPS трафика в России

Рекомендую новым сайтам и сайтам, где трафика нет или почти нет, однозначно начать работать по HTTPS протоколу. Владельцам существующих сайтов с посещаемостью, которую боитесь потерять, стоит подумать, посоветоваться с SEO специалистами и взвесить все преимущества и недостатки. Если Ваш сайт собирает персональные данные (например, интернет-магазин), если Вы хотите интегрироваться с каким-то очень нужным сервисом, но без HTTPS это не получится, то тут больше причин переходить на защищённый протокол. А если у Вас сайт-визитка, лендинг, блог, и Вы не собираете никаких персональных данных, тогда причин внедрять HTTPS протокол куда меньше.

Хорошевский Алексей Примерно с 2008 года и по сегодняшний день создаю сайты «под ключ» на Joomla и WebSite X5. Также занимаюсь их доработкой, SEO-продвижением, контекстной рекламой, защитой от взлома и оптимизацией скорости загрузки сайта.

Кандидат технических наук по специальности «Информационные технологии».

На этом сайте есть контакты и информация обо мне. На нём Вы найдёте примеры моих работ, а также перечень и цены предоставляемых услуг.

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

By now, you might have known that Google prefers SSL/HTTPS based sites which means a better treatment in indexing and search result listing. The latest news is, Google Chrome browser has started flagging all HTTP websites as “Not Secure” (untrustworthy) without any exceptions. Are you scared? You should be. But don’t worry! Now I will show how to enable SSL/HTTPS on a Joomla site in few easy steps.

We’ll discuss on:

  • The quickest solution
  • A FREE and easy method
  • The manual and advanced ways

Did you know?

SSL/HTTPS enhances user-privacy by encrypting the data transmitted between a browser and the server.

Before adding SSL, you site’s URL looks like http://www.example.com. Activating SSL will make it https://www.example.com. To get it done, we need to work both in the site’s hosting server and domain SSL certificate control sides. An SSL certificate can secure one or more domains; to create an SSL host for a domain, you must have a certificate that secures that domain.

The quickest solution: SSL from your hosting provider

As the first step you have to contact your hosting support and ask them if they can make your site available via HTTPS. Many hosting companies offer SSL certificates (from free Let’s Encrypt and other providers) for their customers. And from cPanel you can set SSL for your domain in less than a minute (for example, using the AutoSSL feature). If you use cPanel, you can utilize this method to enable HTTPS on your site. To enable AutoSSL for free, follow this official tutorial from cPanel.

FREE and easy: Cloudflare Flexible SSL

Cloudflare, the renowned web security & performance company and CDN provider, makes SSL activation easy. For websites, blogs, and anyone who wants to explore Cloudflare, they have a free plan. Cloudflare has a free service called ‘Flexible SSL’ that lets you add HTTPS to your site easily.

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

Figure: Cloudflare dashboard.

The process is simple: First we’ll see the Cloudflare side configuration. Then the Joomla-side config will follow.

  1. Create an account with Cloudflare
  2. Add your website to your Cloudflare account
  3. Wait some time until Cloudflare fetches your DNS records
  4. Verify the DNS record
  5. Complete the set up procedure (details on this official tutorial )
  6. Login to your domain registrar and change your domain’s Name Servers as provided by Cloudflare (this can take a few hours)
  7. Create an ‘Always HTTPS’ Page Rule on Cloudflare for your domain (details on this official help article )
  8. Go to the Crypto section of Cloudflare and set the SSL option to Flexible .

The Cloudflare-side setup is done. Now configure your Joomla site to turn SSL on. Follow the process below (a screenshot is given after the texts).

  1. Go to System > Global Configuration > Server tab
  2. Set the Force HTTPS option to Entire Site
  3. Save & Close settings

(However, this can also be done by editing the .htaccess file of the site, which someone may find a bit complex than the built-in method.)

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

Figure: Joomla-side configuration to turn HTTPS on.

It’s done! Clear browser cache and server-side caches. If you see any yellow warning (mixed content), then fix that issue by following the methods detailed in our another post here.

The manual and advanced ways

The above free methods are easy & quick HTTPS solutions. If you want to get an advanced paid SSL certificate for your website, you may need some manual tasks. Here is an example outline for configuring SSL semi-manually on a cPanel based site. Remember, if you don’t have cPanel (or have no panel at all), you can still enable HTTPS on other ways depending on which SSL certificate you are using (both free and paid ones). Now let’s see cPanel’s semi-manual way. However, the terms may vary to cPanel’s version to version.

Server-side configuration

Get and activate an SSL certificate. Then Login to your site’s cPanel interface.

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

Figure: cPanel security settings section.

Now follow the instructions below.

  1. Open SSL/TLS Manager found in the Security section
  2. Click Manage SSL Sites under Install and Manage SSL for your website (HTTPS)
  3. Copy the certificate code you received from the certificate authority (normally via email) including ——BEGIN CERTIFICATE—— and ——END CERTIFICATE—— and paste the code into the Certificate: (CRT) field on the coming page.
  4. Click the Autofill by Certificate button and the system will attempt to fetch the domain name and the private key (otherwise do it manually).
  5. If not filled in already, copy and paste the CA Bundle into the box under Certificate Authority Bundle (CABUNDLE).
  6. Click on the Install Certificate button

The certificate should be now installed on your site server. The next step is to configure HTTPS/SSL inside Joomla. You can verify the certificate installation using this tool. A detailed tutorial for cPanel and SSL can be found here. If you are not using cPanel, you can see this link to get detailed instructions for Apache OpenSSL, NGINX etc.

One more step: Configure HTTPS/SSL inside Joomla

After installing & enabling the SSL certificate on your server, configure your Joomla settings to force HTTPS on the entire site. Visit the admin panel.

  1. Go to System > Global Configuration > Server tab
  2. Set the Force HTTPS option to Entire Site
  3. Save & Close settings

How to enable SSL/HTTPS on a Joomla site (detailed guideline)

Figure: Joomla-side configuration to turn HTTPS on.

And it’s all done. You’ve just enabled HTTPS on your Joomla site. Don’t forget to clear your browser cache and other server-side caches.

How to fix mixed content warnings on Joomla

When a Joomla site doesn’t fully protect or secure all content (attachments, images, menu links, css or javascript files), a browser will display a “mixed-content” warning because of the old HTTP based URLs. The best way to avoid mixed content issues is to serve all content via HTTPS instead of HTTP. You can manually fix this issue by adding the new secured (HTTPS) links to these fields. But sometimes you need to put more effort into. Please read our related tutorial «How to do SSL check & fix» to solve these.

Adding HTTPS to a Joomla site can be done in several methods. Here we’ve just shown a few common ways. The procedures may need to be customized depending on your site’s unique needs. Please share your experience and suggestions with the community via comments. Stay secure, happy developing!

Note: This post was originally published on December 19, 2015. It has been updated on July 26, 2018 to add additional information.

Похожие статьи