Переезд сайта на https. Пошаговая инструкция

Markevich.by
Республика Беларусь г. Минск просп. Независимости 117А 220114 +375297757379 denis@markevich.by

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

И значок «i» по клику на который появляется информация о том, что сайт не защищен.

Hoster.by начал предлагать SSL сертификаты. Обоснование применения такое:

SSL-сертификат — это стандарт шифрования, который устанавливает безопасное соединение между клиентом и сервером. Другими словами, это гарантия того, что данные между браузером и вашим сайтом будут передаваться по защищенному каналу. Как следствие, SSL-сертификат информирует посетителей сайта о том, что вашему ресурсу можно доверять.

Exler.ru, Devaka.ru, Blisch.by переехали на HTTPs. В целом переехал и я. Ниже о том, как сделать https для сайта, купить, установить SSL-сертификат, подготовить сайт к переезду,  сделать переадресацию с http на https, проследить за правильностью переезда.

Как сделать https для сайта

В качестве эксперимента установил бесплатный SSL-сертификат на неосновной домен, в целом ничего сложного. SSS-сертификат со сроком действия 3 года обошелся в 14$.

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

Составил план по переезду на https в MindMeister, в процессе план корректировался финальная версия.

Мой результат на 23.10.2016 — сайт работает на https, в индексе поисковиков страницы с https, позиции восстановились, слетел до 0 ТИЦ (возможно временно).

Подготовка сайта к переезду

Markevich.by работает на Wordpress, хостингом управляю через Cpanel. Вся приведённая ниже методика работает на Wordpress и CPanel.

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

Поле того как будет изменен протокол на https все ссылки внутри блога окажутся неправильными. Готовлюсь, меняю все ссылки на относительные (относительно протокола).

Были ссылки с http.

C помощью нескольких SQL-запросов к базе данных убрал протокол из всех ссылок на сайте. Генератор SQL-запросов для переезда сайта — https://truemisha.ru.

Краткое описание перечисленных SQL запросов:

  1. Первый запрос обновляет параметры «Адрес WordPress» и «Адрес сайта» в Настройки > Общие (не нужен).
  2. Второй запрос затрагивает содержимое постов — URL картинок и внутренние ссылки.
  3. Третий запрос обновляет метаданные постов (произвольные поля). Там редко можно найти URL сайта, но подстраховаться не помешает.
  4. Четвертый и пятый запросы относятся к комментариям (содержимое комментария и сайт автора).

Итог выполнения SQL-запросов — затронуто более 10 000 строк.

Теперь все ссылки в статьях стали относительными.

Покупка SSL-сертификата

В Беларуси покупать сертификат дорого. Выбрал SSL-сертификат — Comodo PositiveSSL (сравнить с другими можно здесь). Купил в GogetSSL — 14$ на три года.

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

На первом шаге необходим CSR.

Сгенерировать CSR можно в CPanel, перехожу в Безопасность/SSL/TLS.

Создаю закрытый ключ.

Для каждого установленного сертификата SSL должен быть сгенерирован новый файл ключа.

Новый закрытый ключ создан.

Дальше возвращаюсь к Gogetssl и CSR. В Cpanel это запрос на подпись сертификата (CSR). Создать, просмотреть или удалить запрос на подпись сертификата SSL.

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

Зашифрованный запрос на подпись надо вставить в форму вместе с верхней и нижней строками:

  1. ——Begin certificate request——
  2.  ——End certificate request——

После вставки жму — Validate CSR.

Следующий шаг — прохождение валидации домена, выбираю — email.

Проверяю почту, приходит подтверждение.

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

SSL сертификат теперь активирован.

Можно его скачать и начать установку на сайт. SSL сертификат также приходит на почту.

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

Теперь иду в Cpanel в Сертификаты (CRT) — Создать, просмотреть, отправить или удалить сертификаты SSL.

Выбираю свой сертификат и передаю.

Кроме сертификата для домена есть еще 3. Передаю их все. Дали — пускай будут.

Перед тем как отсюда уйти, жму изменить сертификат для markevich.by и копирую зашифрованный сертификат (вместе с begin).

Дальше перехожу снова в Cpanel и в этот раз выбираю — Установка и управление SSL для сайта (HTTPS). Управление сайтами с SSL.

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

Пакет центра сертификации: (CABUNDLE) не трогаю.  Включить SNI для почтовых служб — оставляю включенным. Нажимаю установить сертификат.

Жму установить сертификат.

Около 15 секунд идет установка. Итоговое сообщение.

Сертификат установлен и теперь сайт доступен по https. Делаю редирект в http на https.

Переадресация с http на https

Здесь важно сделать так, чтобы каждая страница на http переадрсовывала на такую же страницу с https. Но при этом robots.txt был доступен как по http так и по https. Добавляю несколько строчек в htaccess.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Меняю в WordPress протокол на https.

Устранение ошибок

Есть ряд ошибок которые не дают появиться зеленому замку. Chrome помогает найти причину.

Исправляю ошибки.

SSL-сертификат установлен. Сайт доступен только https. Меняю относительные внутренние ссылки на ссылки с https.

Индексирование в Яндекс и Google сайта с https

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

Жду пока Яндекс склеит сайты.

После чего отключаю игнорирование редиректа для robots.txt удаляя две строки в htaccess

RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]

В процессе позиции сайта в какой-то момент провалились, но не надолго.

Всё. Осталось дождаться пока восстановиться ТИЦ Яндекса и тогда переезд сайта на https можно считать удачно завершённым.

Не менее интересно почитать:

Обсуждение: 20 комментариев

  1. Дмитрий:

    Еще вариант магазина, где можно выгодно купить SSL-сертификаты — LeaderSSL.ru. Тоже разные бренды, широкий выбор + компания имеет свой офис в Москве. Среди их клиентов сам Яндекс.

    Ответить
    1. Денис Маркевич:

      Если покупать дорого, то есть смысл купить у хостера. Установят SSL-сертификат бесплатно.

      Ответить
  2. Виталик:

    Не совсем понятны новые требования поисковых систем. Зачем такой сертификат информационному сайту, при посещении которого человек не передает и не получает никаких персональных данных?
    А вообще посмотрел, конечно, не мало геморроя с этим переездом…

    Ответить
    1. Денис Mаркевич:

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

      Таким образом, благородная цель Google защитить пользователей, настоящая — поднять свои доходы.

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

      Ответить
      1. Виталик:

        В общем, Windows 10 следит, Google следит и так далее… Ну, благо, теперь хоть провайдер не сможет отследить по аватарке. ;-)

        Ответить
        1. Денис Маркевич:

          При условии, что все перейдут на https. Google в этом направлении работает с 2014 года.

          Теперь когда основным браузером можно считать Хром, то вероятность того, что своего они добьются велика. Нет https — тебя нет в поиске.

          Ответить
          1. Виталик:

            Опять возникает чувство дежавю. Что-то подобное не так давно было и с микроразметкой для сайтов.

            Ответить
            1. Денис Mаркевич:

              Да, были рекомендации google и «шум» в интернете. Себе ее внедрил, каких-то огромных преимуществ не вижу, разве, что в Google вебмастере сообщения об ошибках пропали.
              По https по моему сейчас довольно тихо, сайты просто переезжают. Свой взгляд на https отразил выше. Стоит недорого, новым сайтам использовать обязательно, чтобы потом не возится с переездом.

              Ответить
              1. Виталик:

                Конечно, понимаю, что надо будет это делать со временем. Но все-таки повременю, поскольку техническая часть процесса не совсем простая.

                Ответить
  3. Михаил:

    Подскажите какой сервис отслеживания позиций на последнем скрине.

    Ответить
    1. Денис Маркевич:

      SE Ranking

      Ответить
  4. Bahus:

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

    Ответить
    1. Денис Mаркевич:

      Читал мнение, что несколько месяцев до восстановления ТИЦ может пройти. Google оперативнее отреагировал. Все старые внешние ссылки для сайта с https уже появились. У Яндекса — нет.

      Ответить
      1. Bahus:

        Яндекс всегда был тормозом. :) Хотя в поиске вроде ссылки уже с https.

        Ответить
        1. Денис Mаркевич:

          В поиске ссылки с https появились быстро. У меня ТИЦ до появления в панели вебмастере о склейке сайтов был для версии с https и http равным 60. Появилось сообщение о склейке — ТИЦ слетел.

          Ответить
          1. Bahus:

            Гугля отреагировал на переход на https подъемом позиций. Небольшим, но все же подъемом. В яндексе позиции скачут. Ждемс.

            Ответить
            1. Денис Mаркевич:

              Аналогично. Пара недель и уже у меня будет месяц как сайт на https.

              Ответить
        2. Денис Mаркевич:

          5 декабря ТИЦ поднялся до 50. Можно сказать, что переезд на https завершен и прошёл гладко.

          Ответить
  5. Eva:

    Здравствуйте! Спасибо за статью.
    Я не могу разобраться с картинками на сайте.
    Вроде переезд на https сделала, а все картинки остались на http. При этом когда загружаю новую картинку на сайт, она тоже грузится на http.
    Что с этим можно сделать?

    Ответить
    1. Денис Mаркевич:

      Здравствуйте, у меня после смены http на https в самом движке wordpress (в панели управления) всё стало работать через https. Картинки при этом доступны как по http, так и с https.

      Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

© 2016 Маркевич Денис Анатольевич, Республика Беларусь, г. Минск, +375297757379, denis@markevich.by