Как установить SSL сертификат на сайт и настроить HTTPS

В этой статье мы разберём, как получить и установить SSL сертификат на сайт WordPress и настроить HTTPS.

Для тех кто не знает, что такое протокол HTTPS можете прочитать в Блоге Яндекса.

Небольшое знакомство — SSL сертификаты имеют разные характеристики:

  • DV (Domain Validation) — проверка домены.
  • OV (Organization Validation) — подтверждение домена и организации.
  • IDN (Internationalized Domain Names) — поддержка национальных доменов.
  • EV (Extended Validation) — с «Зелёной адресной строкой» в браузере.
  • WC (WildCard) — с поддержкой поддоменов.
  • SGC (Server Gated Cryptography) — высокий уровень шифрования.

Для частного лица хватит самого простого «DV».

Стоимость самых дорогих для организаций (например банков и интернет-магазинов, там обязательно необходимо иметь хорошую защиту) может достигать нескольких сотен тысяч рублей.

Преимущества SSL сертификата:

  1. Все наверное уже слышали про рекомендации Google переводить сайты на защищённый протокол. По материалам Официального блога теперь это фактор ранжирования.
  2. Так же разработчики Google Chrome объявили, что начиная с 2017 года браузер будет помечать все сайты без SSL, как небезопасные, красным значком «Not secure» в адресной строке.not secure
  3. Возможность включения HTTP2 — подробнее на Хабре.

Для чего нужен ssl сертификат для сайта

Многие вебмастера пишут, что особого увеличения в выдаче не заметили, но всё же если Гугл что то задумал-то в будущем, мне кажется, это будет обязательным условием и лучше это делать раньше, а не ждать до последнего.

Думаю Яндекс тоже скоро к этому придёт, а может уже и ставит втихаря минусики сайтам без SSL.

Сам переход с HTTP на протокол HTTPS, если всё сделано правильно, не вызывает проблем с индексом поисковиков. А новым сайтам рекомендую сразу ставить SSL, не нужно будет потом возвращаться к этому вопросу.

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

Как получить SSL сертификат

Есть два способа получения, как и всегда, это платно и бесплатно 🙂 .

Лично я предпочёл платный вариант, потому что считаю, что бесплатно никак не может быть лучше платного, да и мало ли что измениться в политике компаний по выдаче, возьмут отзовут например или ещё что. А так купил и забыл на целый год (можно и на 2 и 3 года даже покупать, при этом и цена ниже).

SSL сертификат бесплатно:

  1. Через сервис «CloudFlare» и там в настройках «Crypto» включаем SSL.
  2. В компании «StartSSL».
  3. На сайте «Let’s Encrypt», а так же его раздают многие хостинг-провайдёры.
  4. При покупке домена в Reg.ru.

Если кто знает ещё, пожалуйста пишите в комментариях, добавим в список 🙂 .

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

Как купить SSL сертификат

Лично я в поисках наиболее дешёвого SSL нашёл трёх поставщиков:

  1. RackStore — от 362 руб. при оплате на 3 года (444 р./год).
  2. FirstSSL — от 470 р. на 3 г. (560 р./г.).
  3. GoGetSSL — позиционируют себя, как самая крупная компания по продажам сертификатов в мире с самыми низкими ценами. От 480 руб. при оплате на 3 г. и 600 руб. если только на 1 год.

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

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

Я покупал в «Кибер Парке». После регистрации в панели управления переходим «Наши услуги» — «Товары» — «Заказать» (нужно будет заполнить свой профиль — ФИО, адрес, тел.).

Далее генерируем CSR код.

У Вас должен быть домен вида — «любое слово@домен сайта». Именно такой почтовый адрес нужно вставлять для генерации CSR. Если E-mail и домен будут отличаться вы не получите сертификат.

Заполняем всё, как показано на картинке, только своими данными.

получение ssl

Далее у вас появится окно с CSR кодом и Private Key. Сохраните оба значения в блокнот (текстовый редактор, например Notepad).

Полученный код (без Private Key, только CSR) вставляете в поле для ключа. В следующем окне нужно выбрать тип сервера (обычно у большинства Apache, но если не уверены можете спросить в техподдержке своего хостера) и E-mail который вы указали ранее.

Всё, нажимаете кнопку «Заказать», оплачиваете и ждёте письма на почту. Сначала вам придёт код подтверждения, его нужно ввести на странице, перейдя по ссылке в письме.

ssl сертификат

А минут через 10 придёт сам сертификат.

Установка SSL сертификата на сайт WordPress

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

Лично у меня на хостинге в панели управления есть настройки, где я просто в специальные поля ввёл сам сертификат и ключ. Если у вас таких полей нет, то обратитесь в техподдержку. Процедура подключения IP и SSL дело нескольких минут и зависит только от оперативности вашего хостинга.

Как настроить редирект с http на https

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

  1. Заходим в админку сайта и на файловый менеджер на хостинге.
  2. Делаем резервную копию (бэкап).
  3. Устанавливаем плагин «Better Search Replace».
    С помощью его мы заменим все абсолютные ссылки на относительные, если таковые присутствуют. Вкладка «Инструменты» — «Better Search Replace» в ПУ сайта.
    пакетная замена ссылок wordpressЕщё можете проверить и заменить ссылки в картинках.
    Для этого в верхнее поле введите

    src="http://

    а в нижнее

    src="//

    Так же отмечаем все таблицы и жмём «Run» (выполнить).
    Теперь ваш сайт должен работать по двум адресам, как с HTTP, так и с HTTPS — проверьте. Всё плагин можно удалять, он нам больше не понадобится.

  4. Далее на хостинге открываем файл «wp-config.php» и перед надписью «Это всё …» добавляем следующую строчку:
    define('FORCE_SSL_ADMIN', true);
    /* Это всё, дальше не редактируем. Успехов! */
    

    Это небольшая защита админки WordPress.

  5. Идём в «Настройки» — «Общие» и там где у вас «Адрес WordPress» и «Адрес сайта» прописываем «https://ваш сайт».
    Если эти поля у вас не доступны можно поменять через «Базу данных».

    1. Идём в «PHP MyAdmin».
    2. Ищем там таблицу «wp_options» — двойной клик и редактируем.
      php myadmin замена https
  6. В файле «.htaccess» ставим постоянный редирект:
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  7. И через пробел там же добавляем, что сайт можно использовать лишь только через протокол HTTPS:
    <IfModule mod_headers.c>
    # this domain should only be contacted in HTTPS for the next 12 months
    Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
    </IfModule>
  8. Идём в админку сайта и добавляем метатег в секцию «head» там где все ваши метатеги (обычно в файле «header.php»).
    <meta name="referrer" content="always">
    

    Он нужен для передачи данных о переходах. Если вы его не поставите то ничего передаваться не будет, соответственно любых отчётах статистики вы ничего не увидите.

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

  9. Если в «robots.txt» у вас указана директива «Host» и «Sitemap», то меняем http на https.

На этом настройки сайта закончились. Теперь ваш сайт при любом переходе должен показывать зелёный замочек в строке браузера и в админке тоже.

Но это ещё не всё 🙂 , теперь нужно сообщить поисковикам о нашем переходе, т. к. для них сайт с HTTPS и без SSL — это два разных сайта.

Подробнее, как добавить сайт в поисковики.

  1. Идём в Яндекс.Вебмастер и добавляем наш новый сайт. Далее идёте в «Настройки индексирования» — «Переезд сайта» и ставите галочку «Добавить HTTPS».
  2. Так же добавляем в Google. Тут ничего больше делать не нужно.
  3. Можете добавить в Bing по желанию (аналогично Гугл).
  4. Mail не работал во время написания этой статьи.

С недавних пор (02 июня 2016) и Mail заработал. Сначала добавляете без HTTPS, а потом в настройках указываете какой протокол использовать.

Дополнительно:

  • Ну и не забудьте во всех поисковиках отправить Sitemap.
  • Важный момент — после перехода возможно, что в некоторых старых браузерах и на старых Windows (например XP) сайт будет не отображаться.
  • Ещё если у вас стоит реклама с использованием ресурсов с сайта без SSL, то на такой странице у вас вместо «Зелёного замочка» будет «Жёлтый треугольник» с сообщением — что ваше соединение не защищено.
    Поэтому сотрудничайте только с рекламодателями которые осуществляют свою передачу через HTTPS или как вариант некоторые ресурсы можно загружать к себе (например скрипт баннера).

На этом всё, отслеживайте изменения позиций в поисковиках, а особенно в Google.

Если что то пошло не так после изменений

Проблемы с переадресацией.

Для открытия сайта с HTTPS используется постоянный редирект 301 — это серверная настройка вашего хостинга. На каждом хостинге соответственно своя настройка сервера поэтому мой пример может и не работать у кого-то.

Варианты исправлений:

  1. Пишите в техподдержку с просьбой настроить 301 редирект для HTTPS.
  2. Ищите администратора по серверам на бирже фриланса.
  3. Пробуете другие редиректы:
    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 %{ENV:HTTPS} !on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    Так же пробуйте и другие в интернете.

Если слетели плагины, стили или другое.

Нажимаете «Ctrl+U» и смотрите, какие ссылки в коде «http» без «S».

Находите эти строки в файлах и переписываете их ручками.


Рейтинг 5 5 (2)

Читайте так же: