Как перевести сайт на HTTPS — Краткий чек-лист

Здравствуйте, дорогие друзья. Сегодня предлагаю вашему вниманию краткий чек-лист «Как перевести сайт на HTTPS». Это пошаговая инструкция без воды и лишних объяснений. Изначально эту инструкцию я готовил для своих клиентов, которые просили меня пошагово расписать процесс, но при этом кратко, как раз-два три.

В общем, я решил поделиться с вами этой шпаргалкой, уверен, многим понравится такой формат подачи информации.

Этап №1 Подготовка сайта к смене протокола

Смена внутренних ссылок (на изображения, меню, стили, скрипты) с абсолютных на относительные. Все ссылки должны быть относительными (//site.ru/content/)

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

Этап №2 Покупка и установка SSL-сертификата

  1. Первым делом нужно купить SSL-сертификат. Купить его можно самостоятельно, отдельно от хостинга. Или же можно купить через хостинг-провайдера. В чём разница, читайте по ссылке выше. Но обязательно пред покупкой, поинтересуйтесь у хостинг-провайдера, — можно ли установить сертификат, купленный не у них.
  2. Установка сертификата на сервер. Большинство хостинг-провайдеров позволяют выполнить эту процедуру через панель управления. Сделать это можно самостоятельно или через службу поддержки хостинга. Второй вариант предпочтительнее, так как обычно ребята либо сами, либо подсказываю, какой код нужно добавить для редиректа с HTTP на HTTPS и помогают с решением возможных сложностей.
  3. Проверка доступности сайта через HTTPS-протокол. После установки сайт должен работать и с http:// и с https://.

Этап №3 Заключительная настройка сайта

  1. Изменить директиву Host в файле robots.txt. Для поисковых систем, cайт на http и https — это два совершенно разных ресурса.

Для новой версии сайта нужно будет указать директиву Host в файле robots.txt так:

Host: https://site.ru
  1. Установка 301 редиректа с http на https. Редирект настраивается в файле .htaccess.

Для большинства серверов подойдёт такой код:

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

site.ru – вы меняете на домен вашего сайта.

А также можно использовать и такой код:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?site\.ru$ [NC]
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^(.*) https://site.ru/$1 [R=301,L]

Где, site.ru и доменную зону, отмеченную оранжевым цветом, меняете на свои данные.

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

  1. Проверка на наличие ошибок. Необходимо проверить корректность работы ссылок, отображения дизайна. Наличие зелёного замочка в адресной строке браузера – подтверждает, что всё сделано правильно.

Этап №4 Настройка поисковой индексации

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

  1. В Google необходимо добавить и подтвердить новый сайт, указав версию https.
  2. В Яндексе нужно изменить адрес в панели вебмастера. Делается это в меню «Настройка индексирования»«Переезд сайта»«Добавить HTTPS»
  3. При необходимости, перенести дополнительные настройки в панели вебмастеров со старого хоста на новый:

– Настройки региона (геотаргетинг)

– Файлы Sitemap.xml

– Список ссылок в Disawov Tool для Google

– Исключенные параметры URL для Google

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

С уважением, Максим Зайцев.

Понравилась статья? Поделиться с друзьями:
Комментарии: 29
  1. Василий

    Поступили хорошие новости от Спринтхоста. Теперь там можно установить бесплатный сертификат от Let’s Encrypt без выделенного IP адреса.

    1. Максим Зайцев (автор)

      Вась, привет. Я тоже получил радостное сообщение. Приятная новость для всех владельцев сайтов на Спринхост. Вот с бесплатного можно и начать!

  2. Евгений

    Спасибо за советы, нужно будет переходить!

    1. Максим Зайцев (автор)

      Здравствуйте, Евгений. Да, постепенно все будут переходить.

  3. Сергей

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

    1. Максим Зайцев (автор)

      Сергей, конечно можно. Что и делают все сейчас.

  4. Дмитрий

    Важно — как пишет Платон в рекомендациях по переезду — не нужно склеивать 301-ым редиректом сайты с http на https. Необходимо дождаться пока Яндекс переклеит (благодаря указанию основного зеркала в robots.txt и добавлению сайта с https в вебмастер), и только потом настраивать 301ый редирект.

    1. Максим Зайцев (автор)

      Но, на практике редирект нужно настроит сразу, иначе старые адреса будут возвращать 404 ошибку. Уже проверено, и сразу настроенный редирект никак не ухудшает позиции или показатели сайта. Так что я считаю, что лучше сразу настроить редирект.

  5. Валерий

    Максим, добрый вечер, я уже запутался с этим сертификатом не понимаю правильно у меня работает или не работает? Сменил шаблон блога проверяю в этом сервисе https://www.jitbit.com/sslcheck/ блог теперь там все страницы блога с не защищенным соединением, в чем может причина быть?

    1. Максим Зайцев (автор)

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

      1. Валерий

        А, что с ним можно сделать избавиться?

        1. Максим Зайцев (автор)

          Или скопировать в отдельный файл и подключить к сайту.

  6. Валерий

    Убирал его совсем счетчик рамблера, но эти ошибки в сервисе sslcheck не ушли раньше их не было думаю это шаблон виноват. Ты думаешь, что у меня все нормально с работой SSL и можно не париться?

    1. Максим Зайцев (автор)

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

  7. Сергей

    Спасибо, полезная шпаргалка ) Вроде всё настроил, сервисами разными проверил, в браузере показывается, что всё защищено, разрабам написал про robots.txt, а то у меня там старый host (без протокола) и ссылка на сайтмап с http.

    1. Максим Зайцев (автор)

      Всё правильно, это нужно исправить обязательно. Желаю успехов.

  8. Елена

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

    С октября 2017 г. в браузере Chrome (версии 62) будет показываться предупреждение о возможной опасности, когда пользователи вводят текст в поле на странице HTTP или переходят на такую страницу в режиме инкогнито.

    Следующие URL на Вашем сайте содержат текстовые формы ( или ), которые будут вызывать предупреждение в браузере Chrome. Проверьте эти страницы и примите необходимые меры для защиты пользователей. В списке представлены не все URL.
    Т. е. если например, человек захочет оставить комментарий и при введении своего email в соответствуещее поле ему будет высвечиваться предупреждение об опасности, так или нет? И ещё про режим инкогнито, зачем вообще кому то переходить на мой сайт в режиме инкогнито, совсем непонятно, вряд ли это вообще когда то произойдет?!))

    1. Максим Зайцев (автор)

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

      1. Елена

        А, если у меня весь сайт на http , нет страниц c https, то все страницы сайта будут помечаться, как возможно опасные ?

        1. Максим Зайцев (автор)

          Да, всё верно!

  9. Дмитрий

    Максим, спасибо. Было полезно ;)

  10. Ольга

    Здравствуйте, Максим! Я перевела свой сайт на https и заметила, что все коды, которые были «спрятаны» через ajax исчезли. Подскажите, в чем может быть причина и как восстановить их отображение?

    1. Максим Зайцев (автор)

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

  11. Ольга

    Здравствуйте, Максим! Я проделала все, что здесь описано, исправила все ошибки, получила зеленый значок во всех браузерах, однако мой сайт до сих пор доступен и по http:// и по https://. Я изменила (проставила https://) в роботс в Host и Карте сайта (хотя последний пункт вы не указывали), сделала переадресацию .htaccess по второму варианту (первый не подошел). Почему же сайт остался доступен по http://? Или надо подождать, пока произойдет склейка?

    1. Максим Зайцев (автор)

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

      1. Ольга

        Специально закачала Мозиллу, чтобы зайти на сайт через другой браузер, в котором еще на своем сайте не работала. Ввожу ссылку на любую статью, убрав s из https:// и открывается статья без переадресации видом http://……..Обновила кэш и на сайте плагином WP Super Cache, та же картина. Думаю, вы сами можете в этом убедиться, если зайдете на какую-нибудь статью на моем сайте, уберете s из https:// в ее ссылке — вы увидите ту же картину, что и я. Может, для моего сайта не подходит код в .htaccess., который я взяла у вас, нужно воспользоваться каким-то третьим вариантом 301 редиректа?..

        1. Ольга

          Или, может, ошибка в том, что я этот код редиректа проставила .htaccess в самом конце, после # END WordPress?

          1. Ольга

            Нашла ответ в другом варианте кода, может, кому пригодится:
            RewriteEngine On
            RewriteCond %{HTTPS} off
            RewriteCond %{HTTP:X-Forwarded-Proto} !https
            RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
            Поставила его в самом начале файла .htaccess и все получилось! Теперь редирект работает!

          2. Максим Зайцев (автор)

            Ольга, редирект лучше ставить вначале файла. Рад, что вы всё доделали. Успехов Вам!

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