SSL-сертификат — переход с http на https

1. Заказываем бесплатный сертификат. Можно через хостеров, можно через сервис sslforfree.com

2. Устанавливаем. Тут процесс у всех хостеров отличается. Можно обратиться к ним за помощью или дополнительными инструкциями по подключению сертификата.

3. Настраиваем сайт для работы по https. Информацию взял у хостеров sweb.

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

В первую очередь осуществляется переадресация сайта на защищенный протокол HTTPS. Переадресация с протокола HTTP на протокол HTTPS реализуется добавлением в файл .htaccess следующих директив:

RewriteEngine on
SetEnvIf X-Forwarded-Proto https SERVER_PORT=443
SetEnvIf X-Forwarded-Proto https HTTPS=on
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

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

Проверить страницы сайта можно с помощью следующего сервиса.

При наличии элементов, доступных только по протоколу HTTP, ссылки на них меняются на относительные (к примеру, вместо http://yourdomain.com/content/pic.jpg в коде страницы ссылка должна иметь вид /content/pic.jpg), либо явно указывается использование протокола HTTPS (в таком случае ссылка будет иметь вид https://blackcat.com.ua/content/pic.jpg«).

Также меняются ссылки для элементов, загружаемых с внешних ресурсов. Например, если на сайте используется скрипт, доступный по адресу http://blackcat.com.ua/scripts/ad.js, эта ссылка должна быть изменена на //blackcat.com.ua/scripts/ad.js или https://blackcat.com.ua/scripts/ad.js. Обратите внимание, что сайт, на котором расположен элемент, также должен иметь валидный SSL-сертификат.

 

Настройка известных CMS для работы по HTTPS

Помимо ссылок, которые явным образом указываются в коде страницы, существуют особенности при переводе различных CMS на защищенный протокол.

Joomla!

(так же смотрите информацию ниже).

В конфигурационном файле (configuration.php) строка public $live_site =»»; заменяется на следующую public $live_site = ‘https://blackcat.com.ua’; где «blackcat.com.ua» — имя вашего домена. Также вместо строки public $force_ssl = ‘0’; используется: public $force_ssl = ‘1’;.

В Joomla! версии 3.x. перевод сайта на протокол HTTPS может быть осуществлён автоматически в административной панели сайта в разделе Система -> Общие настройки. На вкладке Сервер в поле «Включить SSL» устанавливается значение «Весь сайт«.

В Joomla! 3.x. Русская версия для проверки работы сайта по протоколу HTTPS до указания в файле /public_html/.htaccess рекомендуемых в данной статье директив, можно внести изменения в файл /public_html/libraries/joomla/uri/uri.php, заменив строку if (isset($_SERVER[‘HTTPS’]) && !empty($_SERVER[‘HTTPS’]) && (strtolower($_SERVER[‘HTTPS’])!= ‘off’)) на if (isset($_SERVER[‘HTTP_X_FORWARDED_PROTO’]) && $_SERVER[‘HTTP_X_FORWARDED_PROTO’] == ‘https’).

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

WordPress

В административной панели WordPress производится смена протокола в адресе сайта. Для этого в разделе «Настройки» > «Общие«, в полях «Адрес WordPress» и «Адрес сайта» протокол «http» меняется на «https». В конфигурационном файле (wp-config.php) добавляется следующая строка define(‘FORCE_SSL_ADMIN’, true);

Bitrix

Работа сайта включается в административной панели сайта с использованием безопасного соединения. Сделать это можно следующим образом: Настройки > Управление масштабированием > Панель управления > Глобальные действия > Включить https.

Drupal

В конфигурационном файле (/sites/default/settings.php) добавляется следующая директива $conf[‘https’] = TRUE; Также, для удобства настройки безопасного доступа к авторизованным разделам сайта рекомендуем установить модули «Auth SSL Redirect» и «Secure Login«.

MODX

Для расширенной настройки доступа к сайту по защищенному протоколу рекомендуем установить модуль «SSL 1.0.0-ga«, доступный по следующей ссылке. При использовании MODX Revolution для настройки работы сайта по https вносятся следующие изменения в конфигурационный файл core/config/config.inc.php:

if (!defined(‘MODX_URL_SCHEME’)) {
$url_scheme=  $isSecureRequest ? ‘https://’ : ‘http://’;
заменить на:
if (!defined(‘MODX_URL_SCHEME’)) {
$url_scheme=  ‘https://’;

После внесения изменений очищается кэш MODX.

Как указать поисковым системам, что сайт является защищенным

Компания Google рассматривает использование HTTPS на сайте в качестве фактора ранжирования. Для корректного индексирования сайта по протоколу HTTPS компания Google рекомендует соблюдать следующие правила:

Перенаправляйте пользователей и поисковые системы на страницу HTTPS или ресурс с переадресацией 301 на стороне сервера для адресов HTTP.Используйте относительные URL для ресурсов, которые находятся на одном защищенном домене.
Например, для перехода на страницу на вашем сайте blackcat.com.ua, использовать a href=»/about/ourCompany.php» предпочтительнее, чем a href=»https://blackcat.com.ua/about/ourCompany.php» . Это гарантирует, что ваши ссылки и ресурсы всегда будут использовать HTTPS. За счет этого также уменьшается вероятность ошибок в локальном развитии сайта, так как изображения, страницы и другие ресурсы загружаются из локальной среды разработки, а не из производственной среды.Используйте схожие по протоколам URL-адреса для всех остальных доменов (например //petstore.blackcat.com.ua/dogs/biscuits.php ), или обновите ссылки своего сайта для перехода непосредственно на ресурс HTTPS.

Конструктор сайтов настройка протокола HTTPS

Изменения делаются в кострукторе сайтов, значок Настройки -> Настройки -> галочка в поле «Публикация с принудительным HTTPS» и нажать кнопку «сохранить».

Важно!!! Следует понимать, что включение шифрования SSL без сертификата приведет к некорректной работе сайта..


 

Более подробная информация по настройке SSL (https) для Joomla

Взял с данного ресурса.

Нормальная работа сайта по https предполагает:

  1. соответствующий протокол для всех внутренних ссылок сайта
  2. https-протокол для CSS- и JS-файлов, картинок и иных подгружаемых файлов
  3. отправку данных форм по https
  4. редирект страниц с http на https

Поэтому сейчас переходим к настройке Joomla для соблюдения всех необходимых условий.

Изменения в файле конфигурации Joomla

  1. открываем файл configuration.php, находим директиву live_site и прописываем https://site.ru (URL без слэша на конце)
  2. в этом файле находим опцию force_ssl и ставим значение 2, чтобы админка и внешний интерфейс открывались по протоколу https (если поставим 1, то по защищенному протоколу будет открываться только админка)

Включение SSL в админке Joomla

Опцию force_ssl не обязательно изменять напрямую в файле конфигурации: можно зайти в панель управления Joomla (СистемаОбщие настройки, вкладка Сервер, раздел Настройки сервера) и выбрать соответствующее значение для опции Включить SSL:

Включить SSL в админке JoomlaПри этом измениться значение опции force_ssl в файле конфигурации Joomla.

Важно знать:
В настройках некоторых компонентов (VirtueMart, JoomShopping) также есть опция по включению SSL для редиректа на https страниц данных компонентов.

При правильной настройке сервера и корректной установке SSL-сертификата опция Включить SSL (force_ssl в файле конфигурации) обеспечивает нормальную работу сайта на Joomla по https: все подключаемые файлы и внутренние ссылки будут работать по защищенному протоколу, а при запросе страниц по протоколу http будет происходить редирект на https.

Дополнительные действия для Joomla

Если приведенные выше действия не обеспечили нормальную работу Joomla по протоколу https, то опробуйте следующие методы:

Изменение в файле .htaccess

В конец файла .htaccess добавляем следующую строку кода:

SetEnvIf X-SSL-Emu on HTTPS=on

Изменение в файле конфигурации

Добавляем в конец файла configuration.php следующую строчку:

$_SERVER['HTTPS'] = 'on';

Получится вот так:

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

Редирект главной страницы

Открываем файл .htaccess и прописываем следующий код для главного редиректа при запросе вашего сайта через строку браузера.

Код размещаем после строки RewriteEngine On:

RewriteCond %{HTTPS} off
RewriteRule ^(abc/def|ghi)(.*)/?$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

Сейчас ваш сайт всегда будет открываться по протоколу https и будет загружаться со всеми стилями, скриптами и изображениями.

Но! Осталось проделать еще 2 важных пункта.

Пути к изображениям и формам

Если на странице вашего сайта будут найдены изображения, которые загружаются не по протоколу https, то зеленого значка около названия вашего сайта не видать. Сам сертификат при нажатии на него будет говорить, что не все элементы грузятся по безопасному протоколу. В этом случае проверяем и исправляем.

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

Но есть изображения, путь которые вставлены в HTML-код и к ним указан абсолютный путь. Вот у таких изображений нужно в пути вместо http:// написать https://.

Изображения могут быть как в текстах, модулях, так и неправильно прописаны, например, в файлах стилях вашего шаблона.

На будущее, если вы хотите указать абсолютный путь (полный) к файлу, то прописываем без указания протокола, например //site.ru/images/photo.jpg

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

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

Как искать изображения, которые загружаются не по https?

  1. открываем браузер Google Chrome
  2. заходим на проблемную страницу
  3. нажимаем Просмотреть код
  4. открываем консоль и видим список всех элементов, использующих небезопасный протокол
  5. исправляем
Важно знать:
Если часть страниц вашего сайта будет загружаться правильно, а часть неправильно, то у вас возникнут проблемы с авторизацией: авторизовавшись на правильной странице и перейдя на неправильную, авторизация сбрасывается и наоборот. В определенных случаях вы не сможете добавлять материалы.

Действия после настройки SSL на Joomla

После того, как будет обеспечена нормальная работа страниц сайта по протоколу Https, необходимо осуществить следующие действия:

Сообщить поисковым системам, что сайт переехал на https

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

Заходим в Яндекс.Вебмастер, ставим соответствующую галочку:

Заходим в robots.txt и дописываем директиву host: https://site.ru

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

Проверка карты сайта

Обязательно следует проверить карту сайта на то, что все ссылки начинаются c протокола https.

Дополнительно рекомендуется загрузить обновленную ссылку на карту сайта в Google Search Console и Яндекс.Вебмастер.

Проверка старых редиректов

Если вы делали редиректы через Redj или RSSEO, то проверьте и подправьте, чтобы конечный адрес был с https.

комментария 2

  • перила из нержавейки

    Добрый день. Если мой сайт останется на http чем это ему черевато в дальнейшем, как может отразиться на продвижении. Заранее благодарен.

    • BlackCat

      Чревато тем, что пользователям выставляется предупреждение, что ваш сайт не защищен и ихние данные тоже. Что отпугивает посетителей. Это одна сторона.
      Во-вторых, поисковики планируют понижать в выдаче такие сайты.

Оставить комментарий

  −  1  =  2