Переезд сайта на 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 можно считать удачно завершённым.

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

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

  1. Дмитрий:

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

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

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

      Ответить
    2. Сергей:

      яндекс сам себе выдал сертификат. Или я не туда смотрю

      Ответить
  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.

      Ответить
  6. Nata:

    Здравствуйте! Спасибо за статью. В последнее время тема много шума навела. Очень много противоречий даже у самого Яндекса, как нужно правильно переводить сайт. Яндекс сразу написал, что нужно в роботс.тхт прописать хост https, а потом ЯНДЕКС многим в личной переписке написал, что нужно прописывать только после склейки доменов http и https.
    Кстати у меня Ваш код в htaccess RewriteEngine On
    … RewriteRule ^(.*)$ https ://%{HTTP_HOST}/$1 [R=301,L] делает почему-то сайт не рабочим.
    В результате, у меня сейчас в htacess работает этот код:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
    RewriteRule ^([^/]+) $1 [L]
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^ https ://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
    Я всё сделала, у меня полностью работает сайт на https корректно. Только хотелось бы немного уточнения с Вашей стороны, как правильно сообщить Яндексу и Гуглу о нашем новом сайте https? В Яндексе: просто добавить сайт в список с подтверждением прав на него и размещением у себя на сервере файла или «Настройка индексирования» — «Переезд сайта» — «Добавить HTTPS». А в Гугл как добавить? Здесь бы хотелось больше подробностей! Может кому-то и покажется очевидным фактом, кто делал это множество раз… Очень хочется сделать всё правильно с первого раза. Заранее спасибо!

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

      Здравствуйте, я в роботс сразу прописывал https. Возможно поэтому ТИЦ ко мне возвращался несколько месяцев.
      Тип кода в htaccess зависит от настроек у хостера, проще ему сразу написать и спросить, что надо прописать.
      В Яндексе добавлял новый сайт, потом использовал переезд сайта, потом добавлял sitemap, проверял роботс.
      В google просто добавил новый сайт с https. Для всех других его версии указал в Search Console основной домен.

      Ответить
  7. Nata:

    Большое спасибо! Все пункты проделала, буду ждать переиндексации.

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

      Удачи. На текущий момент из замеченных плюсов:
      1. В адресной строке отображается замок зелёный (это раньше было) и слово «Надежный».
      2. Подписка на Push уведомления для https происходит в один клик, не надо никаких сторонних прокладок.

      Ответить
  8. Сергей:

    Денис добрый день
    покупали ли вы выделенный IP ? Нужен ли он для установки сертификата?

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

      Добрый. Нет, выделенный IP не покупался. Как понял он нужен только для нормальной работы сильно устаревших браузеров.
      По данным я.метрики такими у меня на сайте никто не пользуется.

      Ответить
      1. Сергей:

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

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

          Возможно хотят, чтобы вы SSL-сертификат у них покупали.

          Ответить
          1. Сергей:

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

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

              Сейчас видя сколько стоит хостинг в Германии для сайтов не коммерческой направленности выгодно размещаться там.
              Когда переходил к hoster.by еще не до конца понимал как и что работает, теперь знаю.

              Ответить
  9. Nata:

    Подскажите, а что это может значить? При «переезде сайта» с http на https в вебмастере Яндекс сначала появилась фиолетовая полоска вверху «В ближайшее время в результате поиска вместо домена http появится https»? а спустя наверное 1 недели-1,5 появилась лента красного цвета «Внутренняя ошибка сервиса. Попробуйте повторить запрос.» У кого-нибудь было что-то подобное и как можно решить данную проблему?

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

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

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

        Да нет, Денис, я код вставила правильно (ещё чуть выше Вам писала, что Ваш код мне подошел не весь), я запрашивала у хостинга. Только недавно обнаружила, размышляя над причинами проблемы, что у меня несколько htaccess: в директории сайта «public_html». Выглядит это так: сайт 1, сайт 2, htaccess. При открытии каждой папки в отдельности сайт 1, сайт 2 имеется свой htaccess. Так вот мне подумалось, а не читает ли ПС первый htaccess, который находится вне папок сайтов? Там ведь и в помине нет того редиректа, который я устанавливала для своего сайта. Вообще не пойму от куда этот файл htaccess взялся, может хостинг установил когда-то, а я не заметила.

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

          В Яндекс.Вебмастере есть инструмент Проверка ответа сервера. Вводите туда страницу без s, т.е. http. В ответе должен быть 301 Moved Permanently.

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

            Проверила ответ сервера, всё как Вы написали 301 Moved Permanently. Location: сайт с https Значит, читает ПС всё правильно, что ей и положено.

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

              Robots.txt доступен как по http так и по https, т.е. ни для первого ни для второго варианта нет редиректа?
              Других предположений в чём может быть у вас проблема у меня нет. Обращайтесь к специалисту который посмотрит ваш сайт и решит проблему.

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

                Robots.txt доступен по https и http (с http перенаправляет к https). А может вообще не в моем сайте дело, а просто сервисная ошибка Яндекса, такое ведь тоже может быть. Глюк системы! :) Спасибо за Ваши ответы.

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

                  На 4 шаге в карте «!» поставил на строке в которой написал, что не должно быть редиректа для роботса на протоколе http (по тексту статьи об этом тоже писал).

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

                    Очень важное дополнение. Спасибо большое! :)

                    Ответить
  10. Александр:

    Добрый день Подскажите, что будет с внешними ссылками на сайт при смене протокола HTTP на HTTPS? На сайт есть ссылки через HTTP, но при смене протокола сайт будет доступен по HTTPS. И придется делать редирект HTTP на HTTPS. Поисковики посчитают внешние ссылки битыми, а вес с них потеряется?
    Так же с моего сайта берут картинки и вставляют себе на сайт, после смены протокола изображения будут недоступны по HTTP?
    Что то я вообще запутался

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

      В панели вебмастера на сайте с https отображаются все внешние ссылки которые были на http версии сайта. Картинки можно оставить доступными как по http так и по https (у меня так и сделано).

      Ответить
      1. Александр:

        Денис спасибо что ответили!
        Какие то преимущества от того что перешли https ощутили?
        У вас сейчас сертификат от COMODO как и писали в статье? А то посмотрел, ваш хостер предлагает сертификаты и цены приемлемые.

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

          В строке поиска надпись — надежный, подписка на push уведомления в 1 клик. Сертификат тот же остался, я его сразу на несколько лет оплачивал.

          Ответить
  11. Василий:

    Здравствуйте!

    При добавлении сайта с https в ЯВ появляется надпись:
    «https://site.ru» — это не главное зеркало сайта site.ru. Робот индексирует только главное зеркало.

    И варианты как добавить сайт с https:
    1 — Добавить главное зеркало, site.ru
    2 — Всё равно добавить «https://site.ru»

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

    Какой вариант выбрать и какой вариант выбрали Вы при добавлении сайта с https в ЯВ?

    P.S. Редирект 301 настроен, robots.txt доступен по обеим адресам, в «Переезде сайта» уже отметил «HTTPS» и есть сообщение об изменении адреса site.ru на «https://site.ru». Теперь решил добавить сайт «https://site.ru», так как убедила Ваша статья, спасибо!

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

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

      Ответить

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

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

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