Как перевести сайт на https

Привет, сейчас я Вам расскажу о том, как можно бесплатно перевести обычный сайт (блог) на работу по протоколу HTTPS, и в качестве примера мы рассмотрим ситуацию, когда Ваш сайт расположен на хостинге REG.RU – это крупнейший регистратор доменов REG.RU, который также предоставляет услуги хостинга.

На самом деле компания REG.RU уже достаточно давно предоставляет такой бонус как – бесплатный SSL сертификат. Им могут воспользоваться как новые клиенты, которые только что зарегистрировались, так и уже существующие, которые уже размещают свои сайты на хостинге REG.RU. Однако данная акция не распространяется на кириллические доменные имена.

Такой сертификат выпускается на 1 год, его продление, внимание! платное, и стоимость не из самых дешёвых, около 1500-2000 рублей в год (актуальные цены здесь), но обычно REG.RU предоставляет различные скидки на продление, т.е. продление услуги обычно дешевле, чем покупка новой, в данном случае продление сертификата. Также хотелось бы отметить, что бесплатные сертификаты, которые предоставляет REG.RU, имеют достаточно хорошую репутацию и обеспечивают высокий уровень криптозащиты, они выпускаются компанией GlobalSign. Этим я хочу сказать, что сертификаты неплохие и стоят своих денег.


Содержание

  • Нужно ли переводить сайт на HTTPS?
    • Плюсы перевода сайта на HTTPS
  • Пошаговая инструкция перевода сайта на HTTPS
    • Шаг 1 — Заказ и установка бесплатного SSL сертификата на REG.RU
    • Шаг 2 – Перевод сайта на HTTPS
      • Переадресация всех запросов с http на https
      • Настройка CMS
      • Изменение файла robots.txt
    • Шаг 3 – Устранение возможных ошибок на сайте
    • Шаг 4 – Настройка поисковых систем
      • Яндекс
      • Google

Нужно ли переводить сайт на HTTPS?

Многие задаются вопросами «стоит ли вообще переводить сайт на HTTPS?», «есть ли в этом какая-либо польза? Ответ на все подобные вопросы – Да, польза есть, переводить сайт на HTTPS стоит!

Давайте рассмотрим все плюсы поподробней.

Плюсы перевода сайта на HTTPS


  • HTTPS – это защищенный протокол передачи данных, т.е. все данные, которые передаются между сайтом и пользователем, шифруются. Обычно сайты работают по протоколу HTTP, где трафик не шифруется, и в случае необходимости хакеры могут перехватить Ваши личные данные, которыми Вы обмениваетесь с сайтом. Перевод сайта на HTTPS является только одним способом защиты сайта, в материале «Как защитить сайт на WordPress от взлома?» мы рассмотрели 17 способов защиты, поэтому советую ознакомиться с этим материалом, если Вы используете WordPress;
  • Статус и доверие пользователей – если Вы работаете по протоколу HTTPS, значит, Вы следите за своим сайтом, развиваете его и хотите, чтобы все соединения с сайтом были защищены. Пользователи видят это, например, наблюдают зеленый значок в браузере, а Google Chrome так и пишет, что соединение «Защищено», а для сайтов, которые работают по не защищенному протоколу, — «Не защищено», и это, Вы сами знаете, бросается в глаза. Тем самым пользователи, которые даже не знают, что это значит, на подсознательном уровне доверяют сайтам с зеленым значком и надписью «Защищено». Таким образом, наличие HTTPS повышает статус Вашего сайта;
  • Скриншот 1


  • Повышение позиций в поисковой выдаче – можно подумать, что для обычных блогов, которые не выполняют никакие функции интернет магазина или у них регистрация вообще закрыта, HTTPS не нужен. Однако уже достаточно давно крупные поисковики, в частности Google, объявляли о том, что факт работы сайта по протоколу HTTPS, находится в числе факторов ранжирования сайтов в поисковой выдаче. Именно поэтому обычным блогам и нужно переходить на HTTPS.

Как Вы уже поняли, плюсы в переводе сайта на HTTPS есть, однако в этом процессе есть некие сложности (не минусы), а именно:

  • Приобретение сертификата – нормальные сертификаты стоят денег, но полностью бесплатные сертификаты также можно найти (например, Let’s Encrypt);
  • Установка сертификата на хостинг – если Вы приобрели сертификат не у своего хостера, его необходимо устанавливать самим, хоть это не так уж и сложно, но в первый раз придётся разбираться и повозиться;
  • Настройка сайта на работу с HTTPS – также необходимо выполнить несколько технических настроек сайта, например, настроить переадресацию всех запросов с http на https;
  • Настройка поисковых систем – необходимо уведомить поисковые системы о том, что Вы теперь работаете по новому протоколу, так как в глазах поисковых систем сайт на https – это новый сайт. За счет этого, пока не будет определено главное зеркало, может немного упасть трафик (но это временно).

Первые две сложности, как я выразился, в случае с REG.RU не являются такими уж и «сложностями», так как Вам практически ничего не нужно делать. Необходимо просто заказать сертификат и дождаться, когда он будет готов. Вам его абсолютно бесплатно установят на хостинг (мне даже кажется, что установка происходит в автоматическом режиме).

Пошаговая инструкция перевода сайта на HTTPS

Давайте пошагово, более детально, рассмотрим весь процесс перевода сайта на HTTPS в случае с хостингом REG.RU.

Шаг 1 — Заказ и установка бесплатного SSL сертификата на REG.RU

Заходим в свой личный кабинет на REG.RU, переходим в раздел «Мои услуги», открываем нужную услугу, т.е. хостинг сайта, которой необходимо перевести на HTTPS. Затем в разделе «Услуги» включаем услугу «Бесплатно SSL-сертификат».

Скриншот 2

Далее появится дополнительное окошко, для того чтобы Вы подтвердили выпуск и установку сертификата на Ваш хостинг, нажимаем «Продолжить».


Скриншот 3

После этого Вам придет на почту счет на 0 рублей, Вы просто нажимаете «Оплатить счет» (никакие деньги с Вашего баланса не спишутся).

Теперь Вам осталось просто ждать. Сначала Вам придет письмо о том, что сертификат выпущен, а потом, что он успешно установлен. На это время REG.RU отводит 24 часа, но обычно сертификат будет уже установлен буквально через 1-2 часа (на одном сайте установку я ждал примерно 1 час, на другом около 2,5 часов).

На этом заказ и установка бесплатного SSL сертификата на REG.RU закончена! Как видите, мы практически ничего не делали. Кстати, Ваш сайт к этому моменту уже будет доступен по новому протоколу HTTPS, можете проверить, указав https:// вместо http:// в адресе своего сайта.

Шаг 2 – Перевод сайта на HTTPS

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

  • Сайт по HTTPS доступен, но он также доступен и по HTTP, поэтому нам необходимо сделать перенаправление всех запросов с http на https;
  • В своей CMS (система управления сайтом) нужно включить настройку, отвечающую за работу нового защищённого протокола;
  • Внести изменения в файл robots.txt.

Переадресация всех запросов с http на https

Принудительное перенаправление с http на https делается с помощью настроек веб сервера, а именно файла htaccess, в нем Вам необходимо установить 301 редирект (redirect) всех запросов, которые идут на http, на https. Чтобы это сделать, вставляйте следующий код в файл htaccess (этот файл расположен в корне Вашего сайта).

    RewriteEngine On   RewriteCond %{SERVER_PORT} !^443$   RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]    

Существуют и другие способы, но этот вариант стоит в числе первых в официальной справке REG.RU.

Также если Вы используете панель управления ISPmanager 5, то Вы можете сделать перенаправления и с помощью нее, т.е. с помощью графического интерфейса, не изменяя тем самым файл htaccess. Более подробно об этом можете посмотреть в официальной справке REG.RU — Редирект с http на https.

Настройка CMS

Системы управления сайтом у всех разные, поэтому мы рассмотрим два примера настройки для двух самых популярных CMS – это WordPress и Joomla.

В случае, если у Вас WordPress.

Заходите в консоль управления сайтом, открываете раздел меню «Настройки -> Общие». В поля «Адрес WordPress (URL)» и «Адрес сайта (URL)» вносите измененный адрес своего сайта, то есть с HTTPS.


Скриншот 4

В случае, если у Вас Joomla.

Заходите в админ-панель сайта, открываете раздел меню «Система -> Общие настройки -> Сервер». В пункте «Включить SSL» выбираете «Весь сайт» и нажимаете «Сохранить» или «Сохранить и закрыть».

Скриншот 5

Основные настройки CMS мы сделали, иногда также требуется в настройках некоторых компонентов или виджетов принудительно указать настройку, например, «Использовать SSL», однако мне этого не требовалось.

Изменение файла robots.txt

Теперь необходимо внести изменения в файл robots.txt, для того чтобы поисковые системы при обращении к Вашему сайту знали, что основным доменом теперь является сайт на HTTPS, а также то, что карта сайта теперь расположена по новому адресу (с HTTPS). Для этого необходимо изменить директивы Host и Sitemap, например


    Host: https://mysite.ru   Sitemap: https://mysite.ru/sitemap.xml    

Шаг 3 – Устранение возможных ошибок на сайте

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

  • Все внутренние ссылки – они должны быть относительными или с использованием протокола HTTPS (включая ссылки на картинки, CSS стили, JavaScript скрипты и так далее). В случае нахождения ссылок с HTTP необходимо исправить их на «относительные» (это лучше всего, так как в этом случае Вы не указываете протокол, а только адрес страницы, например, /page.html, /page/ или //site.ru/page/);
  • Карту сайта – все ссылки в карте сайта также должны быть с указанием протокола HTTPS, если это не так, Вам следует обновить карту сайта;
  • Работоспособность протокола HTTPS – это можно проверить сервисом https://www.sslshopper.com/ssl-checker.html (в результате проверки галочки должны быть все зелёными, никаких сообщений и ошибок быть не должно);
  • Работоспособность всего сайта – рекомендую проверить, все ли компоненты, виджеты у Вас работают в штатном режиме. Чтобы уже на начальном этапе определить и устранить возможные неисправности.

info-comp.ru

Кейс

Что было сделано:

Отметим, что защищенное соединение уже использовалось на сайте в «Корзине», так как именно там осуществляется передача персональных данных клиентов.

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

После установки клиентом сертификата на сервере мы предприняли следующие действия, направленные на смену зеркала в поисковой системе Яндекс:

  • на зеркале с http заменили sitemap на карту зеркала https
  • прописали host https на зеркале http, указали карту сайта зеркала с https
  • в разделе «Переезд сайта» Панели вебмастера Яндекс указали основное зеркало https://galaxystore.ru;

  • чуть меньше, чем за три недели произошла склейка

Что планируется в дальнейшем:

  • осуществить перевод медиа-контента в относительные адреса;
  • настроить редирект с http-версии на https.

Начало индексации https://galaxystore.ru в обеих поисковых системах — в первой половине июля 2016.

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

Необходимо отметить, что через неделю после подачи заявки на переезд сайта, у сайта был обнулен тИЦ. По нашему обращению Платон нам сообщил, что это нормальное явление в процессе склейки зеркал. Мы набрались терпения и подождали два месяца:

1.png

Позиции

Динамика в ТОП10, ТОП5, ТОП3 (период с мая 2016 по сентябрь 2016):

  • ТОП10 с 13% до 24%
  • ТОП5 с 6% до 13%
  • ТОП3 с 3% до 8%

Трафик

По поисковым системам:

Вишневская Мария, Руководитель отдела онлайн-маркетинга:

«На протокол https мы перешли довольно давно, правда работал он только в «Корзине». Воспользовавшись низким сезоном, мы решили осуществить переезд всех страниц сайта с http на https. Надеялись на лучшее, но были готовы к некоторой просадке позиций и трафика. Благодаря усилиям коллег из Риалвеб, нам удалось не только сохранить, но и увеличить SEO-трафик в короткие сроки. Несмотря на то, что работы по задаче еще в полном разгаре, мы рады первым позитивным результатам и надеемся, что тренд роста сохранится.»

Перевод сайта на защищенный протокол https пока не оказал влияния на позиции в Яндекс, но привел к значительному росту трафика в Google. Еще не оконченные работы увеличили рост посещений в два раза.

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

www.seonews.ru

Рекомендации по использованию HTTPS

Используйте надежные сертификаты безопасности

Если вы решили использовать протокол HTTPS на своем сайте, вам нужно получить сертификат безопасности. Его выдает центр сертификации, который проверяет, действительно ли указанный веб-адрес принадлежит вашей организации. Таким образом обеспечивается защита посетителей от атак с перехватом. Чтобы обеспечить высокий уровень защиты, при настройке сертификата выберите 2048-битный ключ. Если вы уже используете сертификат с менее надежным ключом (1024-битным), замените его на 2048-битный. При выборе сертификата следуйте изложенным ниже рекомендациям.

  • Получайте сертификат в надежном центре сертификации, который может предоставить техническую поддержку.
  • Определите, какой тип сертификата предпочтителен для вашего сайта:
    • Одиночный сертификат для одного защищенного источника (например, www.example.com).
    • Многодоменный сертификат для нескольких известных защищенных источников (например, www.example.com, cdn.example.com, example.co.uk).
    • Сертификат-шаблон для защищенного источника с несколькими динамическими субдоменами. (например, a.example.com, b.example.com).

Используйте переадресацию 301 на стороне сервера

Перенаправляйте пользователей и поисковые системы на страницу с поддержкой HTTPS или ресурс с переадресацией 301 на стороне сервера для адресов HTTP.

Убедитесь, что страницы HTTPS можно сканировать и индексировать

  • Не запрещайте посредством файлов robots.txt сканировать и индексировать страницы HTTPS.
  • Не размещайте на страницах HTTPS метатеги noindex.
  • Чтобы проверить, могут ли страницы быть просканированы, воспользуйтесь инструментом проверки URL.

Используйте технологию HSTS

На сайтах, использующих протокол HTTPS, рекомендуется применять технологию HSTS (HTTP Strict Transport Security). В этом случае браузер будет запрашивать страницы HTTPS, даже если пользователь введет http в адресной строке. а Google будет предоставлять в результатах поиска только защищенные URL. Все это снижает вероятность показа пользователям незащищенного содержания.

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

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

  1. Выполните переход на HTTPS, не включая HSTS.
  2. Активируйте отправку заголовков HSTS с минимальным значением директивы max-age. Отслеживайте объем трафика пользователей и других клиентов, а также эффективность зависимых объектов, например объявлений.
  3. Постепенно увеличивайте значение max-age в заголовках HSTS.
  4. Если HSTS не затрудняет пользователям и поисковым системам просмотр веб-страниц, то сайт можно добавить в список предварительной загрузки. Большинство популярных браузеров использует этот список, чтобы проверять, защищен ли тот или иной сайт.

Включите предварительную загрузку HSTS

Чтобы повысить скорость загрузки и уровень безопасности страниц HTTPS, можно активировать предварительную загрузку HSTS. Также изучите требования на сайте hstspreload.org.

Распространенные проблемы

Ниже перечислены некоторые проблемы, которые могут возникнуть при использовании защиты TLS, и способы их устранения.

Описание Действие
Просроченные сертификаты. Вовремя обновляйте сертификаты.
В сертификате неправильно указано название сайта. Убедитесь, что вы получили сертификат для всех имен хостов, которые обслуживают ваш сайт. Предположим, в сертификате указан только хост www.example.com. Пользователь, который попытается перейти на example.com (без префикса «www.»), не попадет туда из-за несоответствия сертификата.
Не поддерживается указание имени сервера (SNI, Server name indication). Ваш веб-сервер должен поддерживать SNI. Также рекомендуйте посетителям использовать поддерживаемые браузеры. SNI поддерживают все современные браузеры. Для поддержки устаревших браузеров вам понадобится выделенный IP-адрес.
Проблемы сканирования. Не блокируйте сканирование своего сайта HTTPS с помощью файла robots.txt.
Проблемы индексирования. По возможности разрешите поисковым системам индексировать ваши страницы. Старайтесь не использовать метатег noindex.
Старые версии протоколов. Старые версии протоколов уязвимы. Используйте последние версии библиотек TLS и протоколов.
Совмещение защищенных и незащищенных элементов. В страницы HTTPS можно встраивать только контент, который передается по протоколу HTTPS.
Разное содержание на страницах HTTP и HTTPS. Содержание на страницах HTTP и HTTPS должно быть идентичным.
Ошибки кода статуса HTTP на страницах с HTTPS. Убедитесь, что ваш сайт возвращает правильный код статуса HTTP. Например, для доступных страниц используется код 200, а для несуществующих ‒ 404 или 410.

Дополнительные рекомендации

С другими рекомендациями по использованию страниц HTTPS на сайте можно ознакомиться здесь.

Перенос сайта с протокола HTTP на HTTPS

Смена протокола сайта с HTTP на HTTPS считается переносом сайта с изменением URL. Это действие может временно повлиять на учет трафика. Подробнее…

Добавьте в Search Console ресурс, использующий протокол HTTPS. Помните, что Search Console расценивает страницы HTTP и HTTPS как разные, поэтому их данные не совпадают.

Ознакомьтесь со страницей устранения неполадок при переносе файлов Sitemap.

Дополнительная информация

Статьи о реализации TLS на сайтах:

  • Рекомендации Qualys по использованию SSL и TLS
  • Информация об SSL и TLS на сайте Mozilla

support.google.com

В переводе этого документа описываются шаги, которые необходимо предпринять для перевода вашего сайта с HTTP на HTTPS. Шаги можно выполнять с любой скоростью – либо всё за день, либо один шаг за месяц. Главное, делать это последовательно.

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

Для кого предназначена эта инструкция?

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

1: Получение и установка сертификатов

Если вы ещё не получили сертификаты – необходимо выбрать поставщика, и купить сертификат. Сейчас есть пара возможностей даже получить сертификаты бесплатно – например, их выдаёт контора RapidSSL. Кроме того, в 2015 году Mozilla обещают сделать бесплатную выдачу сертификатов.

Скопируйте полученные сертификаты на ваши фронтенд-сервера куда-нибудь в /etc/ssl (Linux / Unix) или в приемлемое место для IIS (Windows).

2: Включение HTTPS на сервере

Здесь надо определиться:

— либо использовать хостинг по IP, когда у каждого хоста свой IP
— либо отказаться от поддержки пользователей, которые используют IE на Windows XP или Android с версией менее 2.3

На большинстве сайтов настроен виртуальный хостинг, который работает с доменными именами (name-based) – это экономит IP-адреса и вообще более удобно. Проблема в том, что IE и древний Android не понимают Server Name Indication (SNI), а это критично для работы HTTPS при name-based хостинге.

Когда-нибудь все эти клиенты вымрут. Вы можете отслеживать количество таких клиентов и решить, нужно их поддерживать или нет.

Далее настройте поддержку сертификатов, которые вы получили, в вашем веб-сервере. Конфигурацию сервера можно создать через Mozilla configuration generator или SSLMate.

Если у вас много хостов и поддоменов – кажды из них потребует установки подходящего сертификата. Для поддоменов лучше использовать сертификаты с маской типа *.domain.ru

В идеале, вам необходимо переадресовывать все запросы к HTTP на HTTPS и использовать Strict Transport Security (см. шаги 4 и 5)

После этого проверьте работу сайта с новыми настройками при помощи инструмента Qualys SSL Server Test. Добейтесь того, чтобы сайт заслуживал оценки A или A+.

3: Сделайте все внутренние ссылки относительными

Теперь, когда ваш сайт работает и на HTTP и на HTTPS, вам нужно добиться его работы вне зависимости от протокола. Может возникнуть проблема смешанных протоколов – когда на странице, которую грузят через HTTPS, указаны ресурсы, доступные по HTTP. В этом случае браузер предупредит пользователя, что защита, предоставляемая HTTPS, перестала работать на 100%.

По умолчанию многие браузеры вообще не будут загружать смешанный контент. Если это будут скрипты или стили, страница перестанет работать. К слову, включать в страницу, загруженную по HTTP, контент, доступный через HTTPS, можно без проблем.

Проблема эта решается заменой полных линков на относительные. Вместо такого:

<h1>Welcome To Example.com</h1> <script src="http://example.com/jquery.js"></script> <link rel="stylesheet" href="http://assets.example.com/style.css"/> <img src="http://img.example.com/logo.png"/> <p>Read this nice <a href="http://example.com/2014/12/24/">new post on cats!</a></p> <p>Check out this <a href="http://foo.com/">other cool site.</a></p> 

надо сделать такое:

<h1>Welcome To Example.com</h1> <script src="//example.com/jquery.js"></script> <link rel="stylesheet" href="//assets.example.com/style.css"/> <img src="1450829848287066165294"/> <p>Read this nice <a href="//example.com/2014/12/24/">new post on cats!</a></p> <p>Check out this <a href="http://foo.com/">other cool site.</a></p> 

или такое:

<h1>Welcome To Example.com</h1> <script src="/jquery.js"></script> <link rel="stylesheet" href="//assets.example.com/style.css"/> <img src="1450829848287066165294"/> <p>Read this nice <a href="/2014/12/24/">new post on cats!</a></p> <p>Check out this <a href="http://foo.com/">other cool site.</a></p> 

Все линки должны быть относительными, и чем относительнее, тем лучше. По возможности надо убрать протокол (//example.com) или домен (/jquery.js).

Лучше делать это при помощи скриптов, и не забыть про контент, который может находиться в базах данных, скриптах, стилях, правилах редиректа, тегах link. Проверить сайт на наличие смешанного контента можно скриптом от Bram van Damme.

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

Если в вашем сайте используются скрипты и другие ресурсы от третьих лиц, например CDN, jquery.com, у вас есть 2 варианта:

— также использовать URL без указания протокола
— скопируйте эти ресурсы к себе на сервер. Это в любом случае надёжнее

4: Переадресация с HTTP на HTTPS

Установите тег

<link rel="canonical" href="https://…"/>  

на ваших страницах. Это поможет поисковым системам лучше ориентироваться у вас.

Большинство веб-серверов предлагают простые решения для редиректа. Инструкции для Apache и для nginx. Используйте код 301 (Moved Permanently).

5: Включите Strict Transport Security и Secure Cookies

На этом шаге вы уже ограничиваете доступ к сайту только для HTTPS. Strict Transport Security сообщает клиентам, что им надо соединяться с сайтом только по HTTPS, даже если ссылка идёт на http://. Это помогает против атак типа SSL Stripping и экономит время на переадресациях из четвёртого шага.

Убедитесь, что ваши TLS-настройки реально работают – например, сертификат не просрочен. На этом шаге любая ошибка будет блокировать доступ к сайту.

Включите HTTP Strict Transport Security посредством заголовка Strict-Transport-Security. На этой странице есть ссылки на инструкции для разных серверов.

Примечание: max-age измеряется в секундах. Начните с небольших величин и по мере роста уверенности в работе сайта увеличивайте их.

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

Проблемы с миграцией

habr.com

Что следует помнить при переходе на https

  • переход на https в яндексе и в гугле отличаются — как правило, гугл осуществляет склейку намного быстрее, яндекс в этом пока отстает;
  • получить ssl сертификат можно бесплатно — для большинства туристических сайтов нет никакой надобности покупать дорогие сертификаты, бесплатный ssl сертификат от letsencrypt отлично подойдет для большинства сайтов;
  • не обязательно добавлять переносимые сайты в вебмастера поисковых систем — наличие сайтов в вебмастере яндекса может ускорить склейку, но это не обязательное требование;
  • директива Host в robots.txt — это одно из обязательных условий для быстрой склейки сайта поисковиками.

Алгоритм перехода сайта с http на https

На этом графике можно понять сколько времени потребовалось поисковикам, что бы перенаправить трафик на https

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

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

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

Особенности перехода на https для Яндекса

Яндекс внимательно смотрит на директиву Host в файле robots.txt, именно по ней он склеивает сайты. Поисковик также учитывает тег canonical.

Особенности перехода на https для Google

Google по умолчанию будет индексировать и выдавать в поиске страницы по протоколу https, и внимательно смотреть на тег canonical.

Подготовка сайта к переходу на https

Процесс установки SSL сертификата на хостинге Бегет занял менее минуты

  • (Важно!)Обязательно сделать резервную копию сайта и базы данных;
  • Пройтись по сайту и проверить чтобы все урлы на страницах, все картинки и стили грузились с https.

Сам процесс перехода на https

  • Установить ssl сертификат;
  • (Важно!)Указать в robots.txt хост сайта (Host: https://in-trips.ru);
  • (Важно!)Обязательно проверить доступность файла robots.txt с http и https протокола;
  • Зайти в Яндекс вебмастер на сайт с http, в разделе «Переезд» поставь галочку на https и нажать кнопку «сохранить»;
  • (необязательно) Добавить Яндекс вебмастере домен с https протоколом;
  • (необязательно) Добавить я гугл вебмастер домен с https протоколом;
  • (Важно!)Настроить sitemap.xml так что бы все урлы были с https;
  • (Важно!)Настраиваем тег canonical так что бы все урлы были с https;
  • Ждем склейки сайта в Яндексе (можно определить по Яндекс Вебмастеру), когда главным зеркалом будет указан домен с https протоколом (примерно от 2 до 8 недель).

Завершение перехода сайта на https

  • Удостовериться что большинство станиц сайта (можно определить по Яндекс Вебмастеру) в яндексе проиндексировано на https протоколе, особенное внимание следует уделить страницам, которые несут основной трафик;
  • Настроить серверный 301 редирект с http на https;
  • (Важно!) Обеспечить доступность robots.txt на http и на https протоколе (это должен быть один файл robots.txt), для этого делается исключение при настройке серверного редиректа для файла robots.txt;
  • (необязательно) Чтобы ускорить склейку, можно воспользоваться возможностями HSTS.

Зачем я перевел туристический сайт на https

Вот несколько причин, которые побудили меня перевести обычный информационный сайт, туристической тематики (который отлично себя чувствовал на http протоколе) на протокол https.

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

Ускорить работу сайта. При переходе на https, сайт автоматически начинает работать по протоколу HTTP/2 (новой версии протокола HTTP). Этот протокол позволяет выполнять множество запросов в рамках одного соединения, благодаря чему должна повысится производительность и скорость загрузки сайта. Все подробности про HTTP/2, можно прочитать в Википедии.

Увеличить видимость сайта в Google. Поисковая система Гугл прямым текстом заявляет, что наличие защищенного соединения дает для сайта небольшой бонус при ранжировании (проверим :)).

Быть на волне технического прогресса. Звучит пафосно, но сегодня протокол https является более современным и перспективным, чем его предшественник http.

Как я переводил сайт с http на https (пошаговая инструкция)

Теперь на практике пройдемся по всем пунктам из вышеуказанного списка.

На моём сайте лучшим временем для перехода на https оказалось лето и начало осени

Для начала следует посмотреть на статистику сайта и понять, в какое время меньше всего трафика. Как видно на графике яндекс метрики, лучшее время для перехода это период с мая по сентябрь, но ждать так долго (до мая следующего года) у меня нет возможности, так что переходить будем в этом сентябре.

Подготовка сайта к переходу на https

Резервную копию сайта и базы данных на хостинге Бегет можно сделать в два клика

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

Исправление урлов на https. Это самый муторный и долгий процесс, если делать всё руками. Но если применить автоматизацию, то все урлы вида http:// меняются на https:// за пару секунд. Вот вам простой запрос к SQL базе данных:

UPDATE ТУТ_ИМЯ_БАЗЫ . ТУТ_ИМЯ_ТАБЛИЦЫ SET ТУТ_СТОЛБЕЦ_ТАБЛИЦЫ = REPLACE( ТУТ_СТОЛБЕЦ_ТАБЛИЦЫ , ‘http://’, ‘https://’)

После всех манипуляций проверьте работоспособность сайта, если сайт всё ещё работает, то можно продолжать. 🙂 Если что-то пошло не так, то откатитесь назад, ведь есть бекап. В моем случае порушилась одна из таблиц, когда я её правил не через указанный SQL запрос, а из веб интерфейса phpMyAdmin.

У любого сайта туристической тематики будут всевозможные сторонние виджеты и карты, которые могут что-то подтягивать на сайт по небезопасному протоколу http. В моём случае проблемными виджетами стали карты, вернее сами слои карт (картинки карт), они тянулись скриптом из Интернета по http. Пришлось немного повозиться и найти альтернативный источник карт.

Сам процесс перехода на https

Процесс установки SLL сертификата на хостинге Бегет прост и понятен

Установить ssl сертификат. Как я уже говорил ранее, сайт расположен на хостинге Бегет, который позволяет использовать установку бесплатного ssl сертификата Let’s Encrypt. Весь процесс получения и продления сертификата упрощен до безобразия (смотрите скрин экрана). Если нужен платный сетрификат, то цены на SSL–сертификаты Thawte, Comodo, GlobalSign и Symantec, можно посмотреть по ссылке.

Проверка правильности установки SSL сертификата

Далее, следует проверить правильность работы сертификата, есть много онлайн-сервисов, вот один из них globalsign.ssllabs.com

Указать в robots.txt хост сайта. Это самый простой пункт. Идем в файловый менеджер и правим файл robots.txt, указывая Host: https://in-trips.ru (у вас будет соответственно имя вашего домена). У Бегета прямо в панели управления хостинга есть удобный файловый менеджер, так что нет необходимости устанавливать на компьютер дополнительные программы.

Проверка доступности файла robots.txt. Обязательно следует проверить доступность файла robots.txt с http и https протокола. Сделать это очень просто, надо зайти из браузера на этот адрес по разным протоколам и убедится, что файл открывается.

Вот так должно выглядеть окно в Яндекс Вебмастере, после того как вы уведомили Яндекс в своем желании перейти на https

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

Настроить sitemap.xml. Тут всё просто, иду в админку сайта и там указываю протокол https. Сбрасываю кеш и новая карта сайта готова.

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

Ждем склейки сайта в Яндексе. Это пожалуй самая мучительная и волнительная стадия перехода. Тут следует только ждать и не делать лишних действий.

Завершение перехода сайта на https

Ждем когда яндекс проиндексирует https. Следует удостовериться что большинство станиц сайта была в поиске по нужному протоколу. Это можно узнать в Яндекс Вебмастере или простым поисковым запросом site:in-trips.ru (вводить прямо в окно поиска). Как 90% сайта будет иметь протокол https и в разделе Яндекс Вебмастера обновится главное зеркало (если вы там видите https), то можно смело прописывать 301 серверный редирект.

Яндекс вебмастер имеет систему уведомлений (очень удобная штука), она так же подскажет, что сайты склеились.

Серверный 301 редиркет с http на https. Далее, следует настроить серверный 301 редиркет с http на https. Тут можно использовать примерно такой код (код может быть и немного другой) в файле .htaccess:

RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Далее, следует проверить правильность редиректа, для этого есть много онлайн-сервисов, вот ссылка на один из них redirect-checker.org

Проверка доступности файла robots.txt. Следует внести изменения в файл .htaccess, код может быть примерно следующего содержания:

<FilesMatch «robots.txt$»>
RewriteEngine off
</FilesMatch>

Обязательно следует проверить доступность файла robots.txt с http и https протокола. Сделать это просто, следует из браузера зайти на этот адрес по разным протоколам и убедится, что он открывается и не редиректит на https.

Что стало с сайтом после перехода на https

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

Моя ошибка при указании тега canonical

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

Вижу что страницы с https в индексе Гугла уже присутствуют, но по одинаковым поисковым запросам присутствуют страницы с протоколом http (см. картинку). Причем это полные дубли. Возможно это из-за того, что я накосячил и забыл указать в теге canonical верный протокол (https). Вот поисковик и думает, что основная страница должна быть с http.

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

Первая неделя после установки SSL сертификата

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

Гугл быстро понял что сайт доступен по протоколу https и уже в первую неделю трафик по этому протоколу увеличился до 70%. На графике видно, что в первые дни перехода на https, заходы гугл бота на сайт увеличились в разы (узнал по логам сервера и по графику из гугл вебмастера).

В гугл вебмастере стала появляться информация по поисковым запросам, по которым посетители идут с поиска на сайт по https протоколу — это радует. При этом в статистике сайта http (старый сайт), запросы постепенно падают.

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

Вторая неделя после установки SSL сертификата

Письмо от Яндекса, оно говорит что сайт с http и https склеены. Теперь можно настроить 301 редирект

Наконец-то Яндекс официально склеил сайты https и http, о чём уведомил в вебмастере. Для склейки потребовалось всего 12 дней. SSL сертификат был установлен 10 сентября, а 22 сентября яндекс признал главным зеркалом сайт с https протоколом.

На графике видны различия между Яндексом и Гуглом. Из гугла трафик по протоколу https пошел сразу, у яндекса спустя несколько недель, а до этого практически весь трафик шел на http

Если смотреть аналитику, то и Яндекс и Гугл 80% трафика льют на https версию сайта, а 20% (по непонятным причинам) идет на http версию. 301 редирект ещё не устанавливаю, жду пока всё устаканится.

Третья неделя после установки SSL сертификата

На этом графике можно понять сколько времени потребовалось поисковикам, что бы перенаправить трафик на https

26 сентября установил редирект и неридирект для роботс. Это завершающий этап перехода на https, дальше по идее должна быть обычная «жизнь» сайта.

Итог перехода на протокол https

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

Трафик из поисковых систем

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

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

Дубли страниц в поиске

Было непонятное увеличение страниц в индексе поисковых систем. В гугле длительное время оставались страницы с http. Чуть позже эти страницы ушли из индекса и общее количество страниц пришло в норму.

Пропали лайки на кнопках

После перехода на https протокол все лайки и шаринги на социальных кнопках пропадут

Про это я уже писал в прошлом посте (про плюсы и минусы перехода на https), все лайки с социальных кнопок пропали, теперь даже самая популярные статьи не имеют лайков на кнопках.

Подготовка к переходу на https

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

Удобство для пользователей сайта

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

Ускорить работу сайта

На графике видно как гугл индексировал сайт после перехода на https. Можно заметить улучшение времени загрузки, но почему-то только временно

С ускорением сайта за счет нового протокола HTTP/2 — это вопрос спорный и мне кажется, что есть более действенные меры для ускорения сайта (использование Memcached, Boost, Redis и т.д.). В моем случае видно незначительное улучшение производительности, сайт стал загружаться чуть быстрее, это видно из вебмастера гугл. Но чуть позже (это видно на графике), всё вернулось на прежние показатели. Объяснения этому явлению у меня нет.

Увеличить видимость сайта в Google

Примерная видимость сайта в гугле (из Вебмастера гугла) до и после перехода на https. Можно видеть, что видимость примерно одинаковая, никаких бонусов

Есть незначительное увеличение видимости в Гугле, но я бы не сказал что оно критичное и есть вероятность, что прирост вызван обычной сезонностью, а не установкой SSL сертификата. Следует вести наблюдения на более длительном промежутке времени (пол года или год).

Быть на волне технического прогресса

Это пожалуй одна из самых противоречивых причин, которая может побудить перевести сайт на https. Я бы сказал, что это даже в некой степени вредная, на этот счет есть много пословиц: «Не нужно ремонтировать, то что исправно работает», «Лучшее, враг хорошему» и т.д.

Удачного вам перехода на новый безопасный протокол https.

in-trips.ru

Как перевести сайт на HTTPS: руководство к действию

Если вы планируете сменить протокол сайта на HTTPS, но сомневаетесь – нужно ли вашему ресурсу это? Самое время разобраться. Из статьи вы узнаете:

  • в чем преимущества сайта на https;
  • когда лучше осуществлять переезд;
  • как произвести смену протокола.

С января 2017 года обновленный Google Chrome 56 помечает сайты с HTTP, как небезопасные. При том, отображается это не нейтральной буквой «i», а надписью «not secure» — «ненадежный».

Пример not secure от Google

Так Гугл помогает пользователям узнать, что оставлять личные данные или совершать платежные операции на сайте опасно. Владельцам ресурсов Google рассылает подобные уведомления:

Письмо от Google с рекомендациями по переходу на https

Смена протокола влияет на доверие пользователей к сайту. К тому же, Google включил протокол https в факторы, влияющие на ранжирование. Какие ещё плюсы?

В чем преимущества сайта на https

Этот протокол обеспечивает безопасность транспортировки данных, способен шифровать передаваемые сообщения от браузера пользователя к серверу.

Преимущества защищенного протокола:

  • конфиденциальность;
  • целостность (хакеры не смогут украсть информацию, использовать или видоизменить);
  • защищенность аутентификации пользователей.

Схема работы http и https

Это важно для:

  • банковских сайтов;
  • интернет-магазинов;
  • платежных систем;
  • систем международных денежных переводов;
  • почтовых сервисов.

И других веб-ресурсов, которые используют приватную информацию клиентов (пользователей) для авторизации (входа в личный кабинет). В этом деле – безопасность на первом месте.

Когда лучше осуществлять переезд

Молодой сайт логичнее переводить по принципу: чем раньше, тем лучше. Сделать это гораздо проще на начальном этапе и в дальнейшем продвигать ресурс, не теряя драгоценные позиции и трафик.

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

«Старым» ресурсам сменить протокол сложнее, потому что:

  • переиндексация всех страниц занимает длительное время;
  • при смене протокола временно обнуляется показатель ТИЦ.

Реальный график - пример временного обнуления тИЦ

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

Основная проблема при некорректном переносе – это понижение позиций ресурса в результатах поиска. Происходит это из-за того, что смену протоколов ПС расценивает как изменение главного зеркала, и при настройке 301 глобального редиректа происходит полная переиндексация сайта.

Главная задача при смене http на https – сообщить поисковикам об этих действиях, иначе ПС будут видеть дубли ресурса (один и тот же контент будет доступен по двум протоколам).

Как произвести смену протокола

Организовать переезд можно по такой схеме:

  1. Приводим ссылки на сайте (включая весь контент текстовый, медийный) к виду: //site.ru/…../…../, вместо http:// site.ru/…../…..
  2. Покупаем сертификат SSL в центре сертификации (например, в  Comodo, Symantec, Trustwave) или у компаний-реселлеров.

Существуют такие типы сертификатов:

  • бесплатные self-signed – устанавливать их не рекомендуют, так как браузеры будут выдавать уведомление, что «сертификат не является доверенным», это небезопасное решение;
  • которые содержат доменное имя – Domain Validation – DV. Самые простые и распространенные сертификаты. Выдаются на 1 домен;
  • подтверждающие домен и организацию – Organization Validation – OV. Перед тем, как  выдать такой сертификат, могут проверить свидетельство о государственной регистрации компании. Выдаётся именно организации, а не частному лицу;
  • с расширенной проверкой – Extended Validation- EX. Подтверждает самый высокий уровень доверия к сайту. Это отображается в адресной строке: указывается зеленым название организации.

В разных браузерах общая пометка защищенных протоколов на сайте

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

Стоимость сертификатов (на год) варьируется от 10$ до 300$. Также сертификаты систематизируют по функционалу:

  • обычные SSL-сертификаты – на 1 домен;
  • Wildcard – для обеспечения шифрования на поддоменах;
  • SAN – 1 сертификат защищает несколько доменов.
  1. Устанавливаем сертификат, проверяем работу сайта на http и https. Если несколько ссылок на сайте открываются через  http://, браузер выдаёт предупреждение:

Предупреждение при открытии ссылок с https на http

Если сертификат установлен неправильно или используется тип self-signed, то предупреждение будет выглядеть так:

Предупреждение при неверно установленном сертифекате

  1. В этом пункте есть отличия в зависимости от приоритетной поисковой системы:

4.1. Для ресурса, который продвигается в Google настраиваем редирект с http на https, за исключением файла robots.txt (в нем указываем хост с «https»). В файл htaccess добавляем:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]

RewriteRule ^([^/]+) $1 [L]

RewriteCond %{HTTPS} !=on

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

И в файле robots.txt должна быть строчка Host: https://site.ru (где вместо site.ru домен текущий).

4.2. Для Яндекса: не используем редирект.

Настраиваем постраничный каноникал с http на https версию сайта

В файле robots.txt. указываем хост

Host:https://site.ru (где вместо site.ru домен текущий)

После того, как произойдет склейка и главное зеркало будет выбрано на HTTPS (также в выдаче не останутся страницы с протоколом http), настраиваем постраничный глобальный редирект 301 с http на https.

    1. Меняем настройки в Яндекс Вебмастере (обновляем sitemap и файл robots.txt,  указываем, что сайт переехал на надежный протокол).

Изменение настроек в Webmaster - предупреждение о переезде сайта на безопасный протокол

      1. Делаем аналогичные изменения в Google Вебмастере.
      2. Проверяем работу инструментов для аналитики (указываем в настройках новый протокол).
      3. Генерируем новые xml-карты сайта.

Эта инструкция, а также подробные рекомендации в справке Google и Яндекса помогут правильно сменить протокол.

Основные проблемы в виде проседания трафика и временной потери показателей ТИЦ можно избежать, если подобрать правильно время для этого и провести смену протокола, исходя из приоритетности поисковика. Практика показывает, что проседания – незначительны и непродолжительны. Вот несколько примеров:

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

Пример того, как переезд не отразился на позициях

Разница восприятия переезда Гуглом и Яндексом

Ещё один пример переезда без последствий для позиций сайта

Быть или не быть

Постепенно все ресурсы, независимо от тематики, переходят на безопасный протокол HTTPS. Единственный нюанс – стоимость сертификата и доработки. Проанализируйте заранее, выдержит ли ваш бюджет такие траты. И последнее, зайдите на веб-ресурсы конкурентов и посмотрите, а есть ли у них заветный зеленый замочек?

wezom.com.ua


You May Also Like

About the Author: admind

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Adblock
detector