Почему мы перешли с HTTP на защищенный протокол HTTPS 07.04.2020

ТОП 3 онлайн казино за 2020 год с лицензией:
  • СОЛ Казино
    СОЛ Казино

    1 место из-за моментальных выплат и хорошей отдачи со слотов!

  • ДЖОЙ Казино
    ДЖОЙ Казино

    Надежный бренд с контролем честности и лицензией!

  • ФРЭШ Казино
    ФРЭШ Казино

    Летний дизайн и моментальные выплаты!

HTTP vs HTTPS. Как перейти на HTTPS без последствий?

Сейчас в интернете идет много споров, использовать ли протокол HTTPS или нет. В августе прошлого года Google заявил , что будет учитывать поддержку протокола HTTPS как фактор ранжирования. Несмотря на это, все же появились явные противники перехода на протокол HTTPS, считающие, что Яндекс не полностью готов к корректной индексации данного типа страниц.

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

Что такое HTTPS?

Любое действие в интернете — это обмен данными, при котором каждый раз ваш компьютер делает запрос к необходимому серверу и получает от него ответ. Стандартно такой обмен данными происходит по протоколу HTTP, основной недостаток которого — незащищенность передаваемых данных, что абсолютно не приемлемо, например, когда речь идет о передаче паролей, данных кредитных карт и другой персональной или конфиденциальной информации.

По сути, HTTPS —это расширение протокола HTTP, поддерживающее шифрование, что обеспечивает безопасность передачи данных.

Плюсы и минусы HTTPS

Так почему же мнения специалистов разделились? Дело в том, что использование протокола HTTPS имеет как свои плюсы, так и минусы.

К отрицательным моментам использования HTTPS можно причислить:

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

Корректный перевод сайта с HTTP на HTTPS

Проблема, с которой вы можете столкнуться при переходе на HTTPS — это временная потеря позиций в поиске и проседание трафика. Поисковые системы считают сайты http://site.ru/ и https://site.ru/ зеркалами (то есть сайтами, которые являются полными или частичными копиями), поэтому важно организовать корректный переезд на новый протокол, придерживаясь следующих рекомендаций:

  1. Для сайта http://site.ru/ в Яндекс.Вебмастере в разделе «Настройка индексирования» в пункте «Главное зеркало» установите главным зеркалом https://site.ru/.
  2. Настройте постраничный 301-й редирект со страниц с протоколом HTTP на страницы с протоколом HTTPS.
  3. Обновите XML-карту сайта — замените в ссылках протокол HTTP на HTTPS. Обновите ссылку на карту сайта в файле robots.txt, например:

Использование HSTS

При использовании защищенного соединения сервер затрачивает больше времени на передачу данных. Поэтому рекомендуем использовать веб-сервер, поддерживающий механизм HSTS (заранее убедитесь, что он включен), что позволит ускорить обработку запросов сервером. В этом случае браузер будет запрашивать страницы через протокол HTTPS, даже если пользователь введет http://site.ru/ в адресной строке.

Рейтинг лучших казино на русском языке:
  • СОЛ Казино
    СОЛ Казино

    1 место из-за моментальных выплат и хорошей отдачи со слотов!

  • ДЖОЙ Казино
    ДЖОЙ Казино

    Надежный бренд с контролем честности и лицензией!

  • ФРЭШ Казино
    ФРЭШ Казино

    Летний дизайн и моментальные выплаты!

В файл .htaccess добавляем следующие строки:

# this domain should only be contacted in HTTPS for the next 6 months
Header add Strict-Transport-Security «max-age=15768000; includeSubDomains; preload»

Основные ошибки

Ниже описаны проблемы, которые могут возникнуть при использовании протокола HTTPS, и их необходимо заранее исключить:

Описание проблемы Действие
Просроченные сертификаты. Вовремя обновляйте сертификаты.
В сертификате неправильно указан основной хост. Проверьте, на какое имя хоста зарегистрирован сертификат.
Не поддерживается указание имени сервера (SNI, Server name indication). Ваш веб-сервер должен поддерживать SNI. SNI поддерживают все современные браузеры. Для поддержки устаревших браузеров вам понадобится выделенный IP-адрес.
Старые версии библиотек. Старые версии OpenSSL уязвимы. Используйте последние версии библиотек TLS.
Совмещение защищенных и незащищенных элементов. Размещайте на страницах HTTPS только защищенное содержание.
Разное содержание на страницах HTTP и HTTPS. Содержание на страницах HTTP и HTTPS должно быть идентичным.

В заключение

Вернемся к вопросу: стоит ли переходить на HTTPS, чтобы улучшить свои позиции в поиске? Мы не видим необходимости переходить на HTTPS исключительно в целях улучшения SEO-факторов и продвижения сайта. Но если у вас есть потребность в использовании защищенного соединения, например, при передаче персональных данных ваших пользователей, то использование HTTPS — единственный верный способ защитить их от злоумышленников.

* Материал обновлен в соответствии с изменениями от 20 марта 2020 года. Яндекс сообщил об отказе от директивы HOST при определении главного зеркала сайта в поиске. Это связано с намерением разработчиков упростить процесс смены зеркал при переезде на новый домен или переходе на защищенный протокол HTTPS. Теперь на всех не главных зеркалах необходимо установить 301-й постраничный редирект, который будет указывать на основной продвигаемый хост сайта.

Правильный переезд сайта с http на https без потери позиций и трафика

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

HTTP, HTTP/2, HTTPS, SSL — о чем речь?

Hypertext Transfer Protocol (HTTP) — это основном протокол связи, который используется на любом сайте для установки соединения.

HTTP/2 — более современный протокол, в котором добавлены увеличивающие производительность и безопасность.

HTTPS — расширение протокола HTTP, которое поддерживает шифрование.

Secure Sockets Layer (SSL) — криптографический протокол для безопасной связи.

Переход на https — зачем мне это?

Я бы выделил 4 причины:

  1. Забота о безопасности данных: сейчас по этой теме сходят все с ума (раньше все клали с пробором, но теперь…). Для сайтов работающих с деньгами и онлайн оплатой — это острая необходимость, т.к. шифруются все данные. Для простых информационных ресурсов — вас все равно заставят перейти на https, т.ч. выбора особо нет.
  2. Это фактор ранжирования: и Яндекс и Google открыто об этом говорили. Если раньше только Гугл заставлял переводить сайты на https, то сейчас за это взялось зеркало Рунета и с 24 января 2020 года в вебмастере уже многие увидели предупреждение:

Предупреждение в Яндекс Вебмастере

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

Меня это не пугает и я все равно юзаю сервис ��

Это может его отпугнуть/насторожить, особенно если это человек не сильно понимающий сути происходящего.

  • Ради HTTP/2 и большей скорости, которая так же является фактором ранжирования. В среднем прирост по скорости достигает 20-30% практически за 20-30 минут работы.
  • Ну а теперь перейдем к пошаговому плану по переходу с http на защищенный протокол https.

    Шаг 1: Подготовка сайта

    Многих сложностей может не быть вообще, если изначально за сайтом следили и делали все чисто и без костылей.

    Бэкап

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

    Относительные ссылки

    Когда на сайте абсолютные ссылки вида http://romanus.ru/page-name — это может быть проблемой, т.к. их нужно:

    1. Либо заменить на относительные вида /page-name;
    2. Либо в абсолютных заменить протокол на https.

    Я бы выбирал 1 вариант, т.к. он более гибкий и пригодится не только в решении текущей задачи. Однако и там есть свои минусы, но это не тема данной статьи.

    Уверен, на любом сайте вы найдете волшебную таблетку (пример замены домена в статьях):

    Пример замены домена через SQL-запрос: кто-то его проверял?

    Почему люди везде это пишут — хз, видимо никто не проверял работоспособность т.к. этот вариант просто не работает. SQL запрос не может заменить домен в ячейке, содержащей целый текст, т.к. это просто замена в лоб (как в Excel). Т.е. вы не можете заменить ячейку, если она не равняется вашему тексту (читай, ячейка = текст и ничего более).

    Но у нас же в ячейках текст статей в html формате.

    Даю 2 рабочих вариант:

    1. Для понимающих (хотя им не нужно объяснять). Идем в PhpMyAdmin, экспортируем нашу базу данных (или конкретную таблицу, в которой нужно сделать изменения). Далее открываем редактором типа Sublime или Notepad++ и через замену все меняем. Далее импортируем исправленный вариант обратно в нашу базу данных.
    2. Чтобы не накосячить. Во многих CMS есть плагины, которые с помощью регулярок могут делать замены (да и без них). Например, для WordPress есть хороший плагин Search Regex — который быстро и без проблем поможет сделать замену в тех местах, в которых это нужно.

    Пример работы плагина Search Regex

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

    Адрес сайта

    В CMS нужно изменить адрес вашего сайта на корректный, в WordPress это делается так:

    Замена домена в админке WordPress

    Внешние скрипты

    Все внешние скрипты должны подключаться строго через https, т.к. в противном случае у вас будет смешанный протокол.
    Чтобы убедиться — смотрите страницы через режим исходного кода и проходитесь поиском или любой краулер аля Screaming Frog, Netpeak и т.д.

    Robots.txt и Sitemap.xml

    В robots.txt чаще всего не нужно никаких изменений вносить (раньше нужно было добавить директиву для Яндекса: host: https://romanus.ru — но теперь это уже не нужно), кроме замены пути для sitemap.xml.

    В самой карте сайта нужно изменить все ссылки. Если она у вас выводится автоматом + все ссылки в базе данных вы изменили — чаще всего никаких доработок не понадобится. Но лучше перепроверить:

    В sitemap.xml не должно быть ссылок на незащищенный протокол

    P.S. Многие рекомендуют делать исключения в .htaccess, чтобы robots.txt открывался по 2 протоколам. Я не делаю этого — проблем не замечал, но держу вас в курсе.

    Шаг 2: Покупка SSL сертификата

    Прежде чем приобретать SSL нам нужно определиться с нашими потребностями.

    Типы ssl

    Все сертификаты выдаются для 1 домена:

    • С проверкой домена (DV): отлично подойдет для блогов, сайтов-визиток, интернет-магазинов и любых сайтов, для которых важно само наличие SSL. Стоит дешево, выдается быстро., замок показывается в браузере.
    • С проверкой компании (OV): вариант для тех, кому важно большее доверие, т.к. центр сертификации проверяет принадлежность компании к домену. Нужно крупным компаниям и магазинам. Делается за 3 дня.
    • С расширенной проверкой (EV): максимальное доверие к компании, т.к. выдается только юридическим лицам и центр сертификации проверяет больше данных. Делается за 7-10 дней, стоит дорого, но вы получаете в браузере вывод вашей компании:

    Пример отображения в браузере EV сертификата

    Если у вас много поддоменов и вы хотите их перевести на https — стоит обратить внимание на сертификаты с пометкой Wildcard (количество поддоменов неограниченно).

    Активация https для домена

    После того, как вы решили какой тип сертификата вам нужен, купили его (свои сертификаты я покупал на gogetssl.com, а для блога решил потестить бесплатный Let’s Encrypt) и не забыли сохранить все ключи, которые вам были даны — самое время привязать все к вашему домену.

    После активации домена он должен пройти валидацию:

    Валидация домена пройдена

    Все, теперь можно переходить к следующему шагу.

    Бесплатный SSL от Let’s Encrypt

    Let’s Ecnrypt — это некоммерческий центр сертификации. Вы можете без проблем взять их бесплатный сертификат, если вам важно само наличие https.

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

    У хостеров бесплатный сертификат подключается за 1 минуту

    На многих хостингах можно буквально за минуту подключить бесплатный SSL.

    Установка SSL на примере FastVPS

    У вас есть ключи и все что вам нужно сделать — это добавить их в панели своего хостинга.

    Просто вставить в поля свои ключи от центра сертификации

    Шаг 3: Оповещаем поисковые системы

    После покупки и установки сертификата на подготовленный сайт мы можем оповестить о наших действиях поисковые системы Яндекс и Google в их кабинетах.

    Яндекс.Вебмастер

    1. Добавляем версию с https в панель вебмастера;
    2. На старом зеркале с http заходим в переезд сайта и ставим галочку;
    3. Залить новую карту сайта;
    4. Не забыть поставить регион

    Меняем зеркало в Яндекс Вебмастере

    По сути в Яндексе переезд на https осуществляется 1 галочкой + перенести свежие данные.

    Google Search Console

    Самое страшное, что может произойти во время переезда сайта на https в Гугл — забыть перенести Disavow файл, потому краткий чек-лист:

    1. Добавить новое зеркало с https;
    2. Если у вас были отклонены ссылки через Disavow Links — нужно обязательно обновить данные;
    3. Добавить карту сайта;

    Шаг 4: 301-редирект с http на https

    Здесь все сложно и просто одновременно. Подробная статья о 301 редиректах с примерами, рекомендую изучить.

    Скорее всего вам подойдет один из вариантов:

    Если варианты не подошли — дергаем программиста с просьбой “склеить 301 редиректом все страницы на http со страницами на https” соответственно.

    Шаг 5: Ожидание переиндексации

    Если вы нигде не накосячили то склейка происходит довольно быстро: 1-2 недели в Google и 2-4 недели в Яндексе.

    • Если у вас были скрипты репостов — они будут показывать 0, т.к. http и https это 2 разные версии;
    • Сайт временно может падать по трафику и позициям в момент склейки. После всей процедуры с большей вероятностью все восстановится;
    • Ссылки будут переклеены в среднем от 4 недель до пары месяцев;

    Вроде все страхи описал.

    Поздравляю, теперь у вас рабочий сайт на https, проверить можно на https://www.ssllabs.com/ssltest/:

    Проверка корректности SSL

    13 популярных ошибок при переходе сайта на https

    Пишу самые популярные моменты, которые знаю из своего опыта или опыта коллег:

    1. Сделать 302 редирект вместо 301 для склейки версий http с https;
    2. Сделать редирект всех внутренних страниц на главную;
    3. Допустить цикличные редиректы;
    4. Забыл, что твой сайт без www, но склеить с https://www.site.ru;
    5. Забыл прописать новый путь для sitemap.xml;
    6. Пропустил этап с заменой абсолютных ссылок;
    7. Не изменил урлы в скриптах и медиа-контенте;
    8. В карте сайта указаны урлы на версию с http;
    9. Описался при наборе домена при получении сертификата;
    10. Может сломаться 1С, если забыли обновить данные;
    11. Сайт интегрирован с различными API и вы забыли изменить адреса;
    12. Косяки с rel=”canonical” на старые страницы;
    13. Не очистил кэш и начал сам себе выдумывать проблемы.

    А с какими косяками вы сталкивались?

    Ответы на несколько вопросов

    Напоследок несколько популярных вопросов, которые могут всплыть:

    Почему сам тянул с переездом на https?
    Я все никак не могу взяться за свои проекты (это видно по дате последних постов и съемки видео на канале), ну и решающим моментом стало оповещение Яндекса о том, что уже пора бы.

    Могу ли я потерять посещаемость?
    Да. Любые действия с сайтом в теории могут негативно повлиять на трафик. Но чаще проблем не бывает, если нигде не напортачил.

    После перехода на https упали позиции, что делать?
    Это тоже нормально. От момента переезда я обычно засекаю 3-4 недели (примерно) и не обращаю внимания на колебания. По истечении этого срока уже должна произойти склейка (в вебмастере зеркала будут слеплены вместе) и тогда можно делать какие-то выводы. Чаще всего все восстанавливается и иногда даже с плюсом.

    Я хочу ЧПУ и SSL — в какой последовательности делать
    Очень скользкий вопрос, сродни «Какой рукой открывать дверь: правой или левой?». Я опасный и потому делаю все сразу за 1 раз :). Проблем вроде не было, но склейка была дольше.

    CNews перешел на защищенный протокол HTTPS

    CNews стал безопаснее

    Интернет работает на основе протоколов, которые представляют собой набор правил, позволяющих осуществлять соединение и обмен данными между включенными в сеть устройствами. Обычные сайты используют протокол HTTP (HyperText Transfer Protocol – «протокол передачи гипертекста»). Однако данные, передаваемые по незащищенному HTTP, могут перехватываться и подменяться злоумышленниками. Банки, системы денежных переводов и другие интернет-сервисы, уделяющие повышенное внимание безопасности при обмене данными, используют защищенные протоколы передачи данных.

    CNews заботится о приватности своих посетителей, поэтому в сентябре 2020 года проекты CNews были переведены на безопасный протокол HTTPS и защищены криптографическим протоколом SSL/TLS, который шифрует всю передаваемую информацию.

    Браузеры «Яндекс», Mozilla Firefox и Google Chrome помечают страницы, которые собирают конфиденциальные данные и не используют HTTPS как «Небезопасные». В то же время при работе с защищенными интернет-ресурсами рядом с адресной строкой браузер отображает кнопку идентификации в виде замка, тем самым информируя пользователя о том, что посещаемый сайт является безопасным.

    Что такое HTTPS

    HTTPS (HyperText Transfer Protocol Secure) – расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS.

    HTTPS обеспечивает защиту от атак, основанных на прослушивании сетевого соединения, в частности от атак типа «человек посередине» (MITM, man-in-the-middle).

    Протокол поддерживается всеми современными браузерами. Пользователю не нужно ничего специально настраивать – безопасное соединение автоматически устанавливается, когда это возможно.

    Как работает HTTPS

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

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

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

    Выдачей сертификатов занимаются центры сертификации или удостоверяющие центры (Certification authority, CA) – авторитетные организации, которым доверяют большинство браузеров.

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

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

    Список казино, дающие самые большую отдачу с автоматов:
    • СОЛ Казино
      СОЛ Казино

      1 место из-за моментальных выплат и хорошей отдачи со слотов!

    • ДЖОЙ Казино
      ДЖОЙ Казино

      Надежный бренд с контролем честности и лицензией!

    • ФРЭШ Казино
      ФРЭШ Казино

      Летний дизайн и моментальные выплаты!

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