Как https поменять на http


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

Что меня побудило перейти на протокол https? В последнее время мне на глаза стали попадаться вот такие заголовки: Браузер Mozilla Firefox в скором времени перестанет поддерживать небезопасные http-соединения; Правительство США поручило всем государственным сайтам перейти на HTTPS; C января 2017 года все сайты, передающие секретные данные (пароли, номера кредитных карт и т.д.) по незащищенному соединению в браузере Google Chrome будут помечаться как небезопасные. Плюс ко всему где-то в интернете читал, что скоро всем сайтам придется перейти на протокол https в обязательном порядке.


подумал, что в один прекрасный день все равно эта участь постигнет и меня. Так зачем же тянуть? Тем более хостинг beget.ru, на котором я сижу предоставил возможность для приобретения бесплатных SSL-сертификатов. В общем, собрал всю необходимую информацию по тому, как перейти с HTTP на HTTPS и сделал это.  ?

Зачем нужно использовать https и что имеется ввиду под безопасностью?

Если говорить кратко, то протокол https позволяет отправлять запросы на сервер с нашего сайта в зашифрованном виде, гарантируя при этом, что эти самые данные не будут перехвачены хакерами. Элементарный пример передаваемых данных – это авторизация на сайте (или регистрация). В процессе авторизации мы отправляем запрос на сервер, который содержит логин и пароль. Так вот, если отправлять эти данные по небезопасному соединению, то они легко могут быть перехвачены, что в результате может привести к взлому сайта. Работу протокола https обеспечивают SSL сертификаты. Они бывают разных видов, про виды сертификатов читайте ниже.

Весь процесс я решил разделить на шаги и выполнять их как раз именно в такой последовательности. Также ниже я дам рекомендации по переходу для популярных cms Joomla и WordPress. У каждого есть свои особенности.

Приобретение сертификата

Для начала необходимо приобрести SSL сертификат, чтобы ваш сайт был доступен по обоим протоколам – http и https.  Давайте сначала внесем некоторые ясности в виды SSL сертификатов.


Виды сертификатов

Простые сертификаты

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

Wildcard SSL

Wildcard SSL – прекрасно подойдет сайтам с наличием поддоменов. В данном случае достаточно выпустить один сертификат, который будет работать на всех поддоменах и позволит сэкономить деньги на покупку отдельных сертификатов.

Мультидоменные SSL сертификаты

Мультидоменный SSL сертификат – сертификат, который может поддерживать сразу несколько доменов. Также, как и Wildcard позволит сэкономить денежку. Так что имейте ввиду, если у вашей компании или проекта имеется несколько доменных имен, то выбирайте именно мультидоменный сертификат.

EV (Extended Validation) сертификаты

EV (Extended Validation) – расширенная проверка компании. Данный вид сертификата могут позволить себе купить только крупные компании. Для его получения необходимо предоставить всю подробную информацию о компании – название организации, реквизиты, наличие о государственной регистрации, реальные звонки для утверждения полученных данных и многое другое. Да, получение такого вида сертификата дело хлопотное, но поверьте оно того стоит. Более того, рядом с адресной строкой в браузере будет отображаться название компании. Вот как это выглядит на примере сайта Сбербанка.


Отображение SSL сертификата в Сбербанк

Смотрится круто и повышает доверие потенциального клиента. Поэтому, владельцам крупных компаний рекомендуется выпуск именно EV сертификатов.

Сертификаты с поддержкой IDN

Не все сертификаты поддерживают кириллические домены. Если у вас домен кириллицей в зоне РФ, то вам следует приобрести сертификат с поддержкой IDN.

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

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

Сегодня приобрести сертификат SSL для сайта можно абсолютно бесплатно. Уже давно Google заявил о том, что пора уже переходить всем на безопасный прокол https и что предпочтение в ранжировании будет отдаваться сайтам именно с защищенным соединением. Кстати, это еще одна причина по которой я перешел на https. В общем, в связи с этим всем в свет появился проект под названием Let’s Encrypt. В первую очередь данный проект рассчитан на доступность приобретения SSL сертификата, а также облегчить жизнь рядовым веб-разработчикам с установкой сертификатов (генерация приватных ключей и прочее). И что самое главное – сертификаты, выдаваемые Let’s Encrypt, абсолютно бесплатные. Лично на моем блоге стоит именно такой сертификат.


Я получил сертификат SSL от Let’s Encrypt в панели управления beget.ru. Если вы пользуетесь данным хостингом, то получить его будет проще простого. Заходите в панель управления Бегет, далее переходите в раздел “Домены” и в списке доменов щелкаете по иконке SSL.

Получение SSL сертификата в Бегет

Иконка рядом с доменом говорит о том, что сертификат уже установлен. Попав в раздел SSL, открываем вкладку “Бесплатный SSL сертификат“. Если у вас имеются поддомены на выбранном домене, то лучше сразу выберите и их тоже, т.к. если этого не сделать сразу, то в дальнейшем придется перевыпускать сертификат.

Выбор бесплатного сертификата в Бегет

Настройка сайта

Загружаемые ресурсы

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


Относительный адрес:

/image.jpg

Относительный адрес вне зависимости от протокола:

//sitename.ru/image.jpg

Абсолютный адрес:

http://sitename.ru/image.jpg

В абсолютном адресе указывается доменное имя сайта с протоколом. Так вот, при переходе на https необходимо применять относительные адреса вне зависимости от протокола, т.е. отсекая сам протокол. При таком подходе ресурсы будут загружаться по такому же протоколу, что и ваш и не важно на http он или на https. Единственное условие – если вы загружаете ресурсы с внешних сайтов (например, с CDN), то данные сайты должны быть доступны по https, иначе от них придется отказаться.

Например, загрузка библиотеки jQuery с CDN с поддержкой https будет следующей:

<script src="//code.jquery.com/jquery-1.12.4.min.js"></script>

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

Тег <base />

Обратите внимание, если вы на сайте используете тег <base> с адресом сайта, то обязательно проследите, чтобы адрес был указан с протоколом https.


пример, <base href=”https://zaurmag.ru” />. Данный тег не является обязательным, но все же, если в вашей cms он используется, то потрудитесь его исправить в случае чего. Находится он в самом начале секции <head>. Если получится так, что вы все ссылки изменили на относительные вне зависимости от протокола (//sitename.ru), а в теге <base> содержится адрес с http, то все ваши относительные ссылки будут считаться относительными в зависимости от протокола http. В результате в консоле браузера вы получите кучу ошибок, а на сайте поплывет дизайн.

Тег rel=”canonical”

Если у вас на сайте используется тег rel=”canonical”, то проследите за тем, чтобы канонический адрес страницы в данном теге был абсолютным с указанием протокола https. Иначе, если будет http он будет работать только во вред.

301 редирект с http на https

Чтобы не потерять трафик нам необходимо сделать так, что когда пользователь заходит на сайт по протоколу http его бы автоматически перекидывало на https. Склейка зеркал и переиндексация сайта в поисковиках дело долгое (Гугл правда быстро реагирует, вот с Яндексом придется ждать), поэтому 301 редирект может это дело ускорить и не дать потерять трафик. Для этого в файл .htaccess нужно добавить всего две строчки:

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

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

RewriteEngine On # Если этой строки нет выше  RewriteCond %{HTTP:X-Forwarded-Protocol} !=https  RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]  

А вот еще один код редиректа. Бывало такое у меня, что выше два кода не работали. Помог только этот.

RewriteEngine On  RewriteCond %{HTTPS} off  RewriteCond %{HTTP:X-Forwarded-Proto} !https  RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

Еще советую добавить код, который будет перекидывать по 301 редиректу на www или на без www, в зависимости от того, какой домен вы выбрали основным.

## редирект с без www на www:  RewriteCond %{HTTP_HOST} ^sitename.ru$ [NC]  RewriteRule ^(.*)$ https://www.sitename/$1 [R=301,L] ## редирект c www на без www:  RewriteCond %{HTTP_HOST} ^www.sitename.ru$ [NC]  RewriteRule ^(.*)$ https://sitename.ru/$1 [R=301,L]

Файл robots.txt

В robots.txt нам обязательно следует указать главное зеркало с протоколом https. Также указать ссылку на карту сайта так с протоколом https. Вот как я сделал на своем блоге:

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

Переезд сайта в панели вебмастеров Яндекс и Гугл


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

Яндекс вебмастер

Для переезда сайта в Яндекс заходим в панель Яндекс Вебмастер по адресу https://webmaster.yandex.ru. Выбираем свой сайт и в разделе “Настройка индексирования” вводим свой домен и отмечаем чек-бокс “Добавить HTTPS“, сохраняем.

Переезд сайта в яндекс вебмастер

Далее переходим в раздел “Настройка индексирования” -> “Файлы Sitemap” и добавляем адрес карты сайта с протоколом https. Данный адрес, если помните мы указывали и в файле robots.txt.

Добавляем адрес sitemap в панели Яндекс вебмастер

Центр вебмастеров Гугл

С Яндексом разобрались, теперь давайте перейдем к Google. Идем в центр вебмастеров Гугл – https://www.google.com/webmasters и добавляем все версии (зеркала) сайта. Всего их должно быть 4. Например, для моего блога я добавил:

http://zaurmag.ru   https://zaurmag.ru   http://www.zaurmag.ru   https://www.zaurmag.ru  

Версии одного сайта в вебмастере гугл

Далее выбираем основное зеркало с https естественно, только с www или без www. Для своего сайта я выбрал без www – https://zaurmag.ru. Открываем сайт и в настройках сайта (кликаем по шестеренке справа) указываем основной домен. Вот на примере моего блога.

Основное зеркало сайта zaurmag.ru в вебмастере гугл

Далее указываем адрес карты сайта. Для этого идем в “Сканирование” -> “Файлы Sitemap” и добавляем адрес карты сайта, щелкнув по красной кнопочке справа. Кстати, пока писал статью обнаружил, что я не добавил карту сайта для основного домена сайта zaurmag.ru.  ?

Карта сайт в Гугл вебмастер

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


Зеленый замочек https

Также хотелось бы сказать, что процесс переиндексации в Гугл занимает не так много времени, примерно 2 недели хватит, а может и меньше. Вот в Яндекс по сложнее с этим, я и не удивлен. Яндекс всегда был тугой в этом плане. В первое время у вас обнулится ТИЦ, если он у вас был и в первый же апдейт ТИЦа должен будет вернуться. Это я написал, чтобы вы не пугались. Ну а далее в Яндекс Вебмастер вы обнаружите следующую картину…

Сайт zaurmag.ru в вебмастере Яндекс

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

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

Переход на HTTPS в Joomla

Обновлено — 15.12.2016

В последних версиях Joomla с переходом на https не должно возникнуть проблем. В файл .htaccess не обязательно добавлять директивы редиректов, движок сам перекинет с http на https. Для этого необходимо просто включить опцию в общих настройках Joomla – “Сервер” -> “Включить SSL” -> “Весь сайт”.

Переключение на https в глобальных настройках Joomla

Ошибка при переходе на Https в Joomla

Один раз у меня было такое, что мне пришлось немного потрудиться, на одном из клиентских сайтов переход на https прошел не так гладко. Браузер ругался на относительные адреса загружаемых ресурсов, хотя адреса были указаны относительными вне зависимости от протокола. Проблема была в теге <base />. Давайте расскажу по порядку.

Помимо тех настроек сайта, что были указаны выше нам необходимо открыть файл configuration.php и в поле live_site вписать абсолютный адрес с проколом https.

public $live_site = 'https://sitename.ru';

По идее после этой настройки в теге <base /> адрес сайта должен быть указан с протоколом https. Но нет, он был указан с протоколом http, от того и пошли все ошибки. Поискал решение проблемы в интернете, конкретно на форуме joomlaforum.ru и нашел решение. Необходимо было сделать некоторый хак ядра, правда уверяли, что после обновления данные изменения не затрутся. Открываем файл –  /libraries/joomla/document/renderer/html/head.php и заменяем (77 строка)

$buffer .= $tab . '<base href="' . $base . '" />' . $lnEnd;

на

$buffer .= $tab . '<base href="' . Juri::base() . '" />' . $lnEnd;

Пока я эту проблему так и не решил. Не понимаю почему так происходит – версия движка последняя.

После этих действий все пришло в норму. Также в общих настройках Joomla, включил SSL. Ее включение привело к неработоспособности сайта.  Если вдруг вы выбрали опцию “Весь сайт” и сайт перестал работать, то вам необходимо открыть файл configuration.php по Ftp,  найти $force_ssl и установить значение на 0.

public $force_ssl = '0';

После этого сайт заработает.

Переход на HTTPS в WordPress

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

Настройка адреса в настройках WordPress

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

На этом и завершу. Всем спасибо за внимание. Не стесняемся, задаем вопросы в комментариях.

zaurmag.ru

Что такое https?

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

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

Кому нужен защищенный протокол?

Изначально защищенный протокол создавался для безопасной передачи данных о платежах и конфиденциальной информации. То есть, был необходим Интернет-магазинам, хост-провайдерам, Интернет-банкингу, а также всем тем, кто проводил финансовые операции. Со временем поисковые системы выяснили, что сайты на https обычно более качественные и безопасные для пользователей. Так защищенный протокол стал одним из факторов ранжирования.

Google открыто заявляет, что сайты с https ранжируются выше, чем прочие равные на http. Яндекс утверждает, что относится к данному протоколу нейтрально, однако практика показывает, что ресурсы с https все же выходят в ТОП охотнее.

Сегодня защищенный протокол передачи данных желательно иметь каждому. Совсем недавно появилась бесплатная версия сертификата (SSL Let’s Encrypt), поэтому переход теперь не стоит ни копейки.

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

Прежде чем приобрести у хост-провайдера сертификат, необходимо подготовить сайт. Без этих работ переход может стоить Вам львиной доли органического трафика или работоспособности сайта. В обязательном порядке нужно:

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

    Все ссылки на сайте должны быть относительными. Грубо говоря, не иметь конкретного домена и протокола. К примеру: https://dh-agency.ru/regionalnoe-prodvijenie/ — это абсолютная ссылка, а вот /regionalnoe-prodvijenie/ — уже относительная. Внутри сайта обе ссылки будут вести на одну и ту же страницу.

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

  • Исправить ссылки на все внешние скрипты;

    Убедитесь, что все внешние скрипты так же поддерживают https. Если Вы не уверены, возможно прописать ссылки без протокола, как указано на принт-скрине ниже.

    Ссылки для скриптов

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

  • Настроить виджеты, плагины и компоненты;

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

    https для виджитов

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

    Защищенное соединение в строке браузера

  • Поменять адрес в настройках Вашей CMS;

    Если вы используете Joomla!, Opencart, WordPress, MODx, Bitrix или другую популярную систему управления, то в настройках всегда есть поле с главным адресом сайта. В WordPress это выглядит следующим образом:

    Адрес сайта в настройках WordPress

Переходим на https

Для начала нужно выбрать и заказать сертификат SSL. Сделать это можно у хост-провайдера. Их существуют несколько видов:

  • SSL Let’s Encrypt — бесплатный сертификат, который выдается каждому желающему. Для этого достаточно только подать заявку на его создание в панели управления хост-провайдера.

    Сертификат SSL lets encrypt

    На данный момент у нас именно такой сертификат.

  • Esential SSL — сертификат подтверждающий только право владения доменом. Выдается очень быстро и стоит дешево. Срок действия 1 год. Можно оформить как на юридическое, так и на физическое лицо.

  • Instant SSL — сертификат подтверждающий право владения доменом, а так же личность владельца (регистрационные данные компании). Срок действия 1 год.

  • SGC SSL-сертификат — схож с предыдущим сертификатом, за одним исключением. Он поддерживает 40-битные расширения. Срок действия 1 год.

  • Обычный Wildcard — Выдается на домен и все его поддомены, поэтому стоит довольно дорого.

  • EV (Extended Validation) сертификат — сертификат с расширенной проверкой. Время регистрации в 2-3 раза дольше обычного. Доступен только юридическим лицам.

  • EV Wildcard и EV SGC — аналогично описанным выше сертификатам, но с расширенной проверкой.

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

Прописываем редирект в .htaccess

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

Нужно это для того, чтобы пользователь при переходе на http сразу перенаправлялся на https.

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

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

Меняем host в robots.txt

Не забудьте поменять Host и ссылку на Sitemap.xml в файле robots.txt.

Смена протокола в robots.txt

Стоит сказать, что если у вас обычное соединение http, то писать его в host не нужно. (пишите просто домен)

Меняем адреса в sitemap.xml

Адреса в карте сайта так же нужно обновить. Это позволит избежать лишних редиректов при обращении робота.

Смена протокола в Sitemap

Добавляем https в Webmaster

В Вебмастере в разделе «Индексирование» есть пункт «Переезд сайта«. Необходимо поставить галочку напротив «Добавить HTTPS«.

Переезд сайта на новый протокол в Вебмастере

После этого, Вы увидите подобное сообщение, которое означает, что Яндекс уведомлен о переезде.

Смена протокола в поиске Яндекса

Добавляем новый Webmaster

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

Адрес со старым протоколом можно не удалять, так как в нем будет информация о внешних ссылках именно на http.

Проверяем, все ли верно

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

Замочек в адресной строке браузера

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

Перейдите на сайт по ссылке с http. При корректной работе Вы сразу должны  быть перенаправлены на защищенный протокол. (В следствии работы 301 редиректа)

В долгосрочной перспективе сайты в Yandex Webmaster должны быть склеены. В результате Вы увидите следующую картину.

Склейка сайтов с https

Кроме этого, в разделе «Индексация» пункт меню «Переезд сайта» должен смениться на «Расклейка зеркал«.

dh-agency.ru

Если вы используете обмен данными с 1с

Внимание! если на сайте используется перенаправление на https протокол всех запросов, то обмен с 1с работать не будет, пока не исключить редирект для адреса http://ваш_сайт/exchange1c

Сделать это можно таким образом в файле .htaccsess, после строки RewriteBase /
Добавьте следующие правила вместо приведенных выше способов редиректа
RewriteCond %{HTTP:X-HTTPS} 1 [NC]
RewriteCond %{REQUEST_URI} ^/exchange1c$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

wiki.moguta.ru

Специалист Google Джон Мюллер (John Mueller) подготовил ответы на самые распространённые вопросы по переходу c HTTP на HTTPS. Всего в список вошло 13 пунктов.

1. Нужно ли настраивать что-либо в Search Console?

Нет, просто добавьте сайт на HTTPS в учётную запись. Отправлять запрос на изменение адреса сайта не нужно.

2. Как провести A/B-тест?

При тестировании непроиндексированного сайта на HTTPS используйте 302 редирект и rel=canonical для HTTP-версии. Не блокируйте HTTP-версию в robots.txt.

3. Гарантирует ли атрибут rel=canonical индексацию URL в формате HTTP?

Нет, однако это очень сильный сигнал при выборе проиндексированного URL.

4. Что делать после тестирования?

Следуйте инструкциям, изложенным в руководстве по переносу сайта с изменением URL. Настройте переадресацию 301 с HTTP-версии на HTTPS; добавьте rel=canonical на HTTPS-страницу с рекурсивной ссылкой; создайте и сохраните файлы Sitemap и списки ссылок.

5. Что делать с файлом robots.txt?

HTTPS-сайт использует файл robots.txt для HTTPS. Проверьте, доступен ли он или возвращает ошибку 404. Убедитесь, что URL-ы в формате HTTP не заблокированы в файле robots.txt для HTTP.

6. Допустимо, если не все страницы на HTTPS?

Да. Начните с части, протестируйте их и двигайтесь дальше.

7. Нужно перенести всё сразу или можно по частям?

Можно по частям.

8. Потеряет ли сайт позиции в поиске?

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

9. Какой сертификат нужен для сайта?

Для Поиска Google подойдёт любой сертификат, который принимают современные браузеры.

10. Потеряет ли сайт ссылочный вес из-за редиректов?

Нет. Использование 301 и 302 редиректов с HTTP на HTTPS не приводит к потере PageRank.

11. Будут ли поисковые фразы видны в Google Analytics после перехода на HTTPS?

После перехода ничего не изменится. Посмотреть поисковые запросы можно будет в Search Console.

12. Как можно проверить, сколько страниц проиндексировано?

Добавьте HTTP и HTTPS-версию как отдельные сайты в Search Console. Для получения более детальной картины используйте отчёт «Статус индексирования» или же данные файлов Sitemap.

13. Сколько времени занимает переход с HTTP на HTTPS?

Время, необходимое роботу Google для обнаружения и обработки всех URL при переносе сайта, зависит от скорости серверов и количества URL.

Напомним, что в августе 2014 года Google начал рассматривать использование безопасного протокола HTTPS на сайте в качестве сигнала для ранжирования.

www.searchengines.ru

1. Приобрести SSL сертификат

Как известно, защищенное HTTPS-соединение активируется путем установки SSL сертификата на сервер. Приобрести его можно в нашем Интернет-магазине SSL сертификатов.

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

2. Переход c HTTP на HTTPS: подготовка сайта

Чтобы в дальнейшем избежать проблем с отображение содержимого сайта через протокол HTTPS, следует изменить все внутренние ссылки на относительные. Например, если ранее внутренние ссылки указывались в формате http://domain.ru/page1/ , то следует заменить их на /page1/.

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

Кроме того, все внешние скрипты, например, библиотеки javascript и jQuery, а также скрипты сервисов Яндекса (например, Метрика и Директ), а также Google (Analytics) и прочие, следует открывать через относительные URL-адреса. Подготовка веб-сайта к переходу с HTTP на HTTPS может занять достаточно много времени, но это поможет избежать многих ошибок в отображении сайта по протоколу HTTPS, и, соответственно, проседания позиций в поисковой выдаче.

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

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

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

Далее Вам следует проверить, правильно ли установлен ваш SSL сертификат. В этом может помочь, например, сервис от SSL Labs (https://www.ssllabs.com/ssltest/) , где вам следует вписать ваше доменное имя и нажать кнопку Submit. Система выдаст оценку настройки защищенного соединения с вашим сервером и подскажет, какие проблемы следует решить. Пример проведенного теста на SSL Labs показан на картинке ниже:
Проверка установки SSL сертификата
Соответственно, если сервис нашел проблемы в конфигурации сервера или показал, что вы не установили промежуточные и корневые сертификаты, лучше как можно быстрее решить эти проблемы.

4. Настроить 301-й редирект с HTTP на HTTPS

Так как поисковые системы Google и Яндекс воспринимают сайты http://domen.ru и https://domen.ru как два абсолютно разных ресурса, после установки SSL сертификата обязательно нужно настроить переадресацию каждой HTTP-страницы на соответствующую ей HTTPS-страницу. Эта процедура соответствует переносу сайта на другой домен. Переадресация должна быть прямой и не включать промежуточных документов, иначе образуются цепочки редиректов, которые только запутают поисковых роботов и негативно повлияют на восприятие сайта в целом.
Как вариант, вы можете осуществить переадресацию с HTTP на HTTPS с помощью .htaccess, если ваш сайт размещен на сервере Apache или же, если на вашем сервере имеется соответствующая утилита. Кроме того, если ваш сайт создан на каком-либо языке программирования, настроить переадресацию можно прямо в коде сайта.

4.1. Настроить внутреннюю перелинковку сайта

Замените URL-адреса с HTTP на HTTPS во всех внутренних ссылках, изображениях, JavaScrip, CSS и прочих элементах. Все внутренние ссылки должны по умолчанию начинаться с HTTPS. Это поможет избежать проблемы смешанного содержимого. Тем не менее, этого шага можно избежать, если вы правильно подготовили сайт к переходу на HTTPS.

4.2. Проверьте работу внешних скриптов и изображений

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

5. Сообщите поисковым системам о переходе на HTTPS

5.1. Убедитесь, что все теги “rel=canonical” в HTML-коде указывают на страницы с HTTPS.

5.2. Обновите файл с директивами для поискового робота robots.txt и карту сайта sitemap.xml, включив в них соответствующие страницы с HTTPS.

5.3. Обновите URL-адрес вашего сайта в социальных сетях и в системах отслеживания трафика, таких как Google Analytics и Yandex Metrika.

5.4. Создайте новую запись для ресурса с HTTPS в Google Webmaster Tools. Помните, что сервис Google Webmaster Tools рассматривает версии сайта с HTTP и HTTPS как два разных ресурса.

5.5. По возможности обновите важные внешние ссылки на ваш веб-сайт, чтобы они вели на URL-адрес с HTTPS расширением.

5.6. Убедитесь, что поисковые системы могут индексировать и предоставлять содержимое вашего ресурса по новому URL-адресу.

5.7. Ежедневно отслеживайте сайт с HTTPS в Google Webmaster Tools и в Google Analytics, чтобы предупредить возможные проблемы с индексацией и отображением вашего сайта.

Помните, что переход с HTTP на HTTPS может вызвать колебания в объемах трафика и в позициях сайта, так как 301-й редирект передает от 90 до 99% веса ссылки. Потеря внешних ссылок, которые ранее вели на HTTP версию вашего ресурса, также может временно спровоцировать падение трафика и позиции.
Тем не менее, многие примеры показывают, что позиции и трафик восстанавливаются уже через несколько месяцев после того, как перейти с HTTP на HTTPS.


www.emaro-ssl.ru

автоматическая замена ссылок сайта

Здравствуйте читатели seoslim.ru! Нередко вебмастера сталкиваются с такой проблемой, когда из-за определенных обстоятельств, требуется смена доменного имени сайта.

Насколько я знаю, домен меняют чтобы:

  • сайт было легче запомнить
  • выйти из-под фильтра поисковых систем
  • сменить доменную зону (com, ru, org, by, net и другие)
  • заслужить внимание поисковиков, если у бывшего домена (дропа) была плохая история

Как правило, с подключением нового домена проблем не возникает, достаточно только перенести содержимое сайта (файлы и базу данных), установить 301 редирект и сделать правки в файле robots.txt.

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

Страшно становится от той мысли, что надо все эти статьи перелопатить и поменять URL адреса ссылок на новые.

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

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

http://seoslim.ru/… — старый адрес сайта

https://seoslim.ru/… — новый адрес сайта

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

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

Плагин. Самый простой способ, чтобы заменить все ссылки на новые WordPress сайтов, надо скачать специальный плагин Velvet Blues Update URLs и в его настройках воспользоваться строкой замены URL адресов.

Первым делом нам надо установить плагин. Для этого я использую строку поиска плагина из административной панели Вордпресс.

Где в строке поиска вводим «Velvet Blues Update URLs» и жмем ссылку «Установить».

установка Velvet Blues Update URLs

Далее его активируем и переходим в настройки данного модуля «Инструменты» далее «Update URLs».

настройки плагина

Перед вами будет представлен следующий набор опций, состоящий из двух шагов.

обновление URL адресов

На первом шаге надо ввести адрес старого и нового домена, в моем случае я меняю протокол с HTTP на HTTPS.

На втором шаге надо отметить галочками, в каких местах менять названия ссылок:

URLs in page content (posts, pages, custom post types, revisions) — в содержании страниц.

URLs in excerpts — в выдержках.

URLs in links — в ссылках.

URLs for attachments (images, documents, general media) — во вложениях (картинки, документы, медиа).

URLs in custom fields and meta boxes — в полях мета данных.

Важно! При замене ссылок обязательно укажите на конце адреса прямой слеш (/), чтобы ссылки подменялись правильно.

Теперь нажимаете «Update URLs NOW», после чего все ссылки внутри сайта будут изменены согласно тем опциям, что вы указали.

Результат замены ссылок плагином

Как видно из скрина выше у меня на тестовом сайте, плагин Velvet Blues заменил 14 ссылок: 11 внутри постов и 3 в картинках.

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

После замены всех линков плагин Velvet Blues можно удалить. :)

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

Это делается через панель управления MySQL базами вашего хостинг-провайдера. Так как я использую хостинг Макхост (о возможностях которого прочитаете здесь и здесь), я перехожу в своем аккаунте в раздел «Управление услугами» далее выбирают «Базы данных».

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

Все базы данных на хостинге

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

панель phpMyAdmin

Несколько команд по замене ссылок:

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

Еще стоит добавить, что автоматически заменить старые ссылки на новые можно с помощью утилиты «WP-CLI» и PHP-скрипт «Search Replace DB», о работе которых почитаете в сети. :)

На этом у меня все. Интересно узнать от своих читателей был ли у кого опыт смены домена или протокола HTTP на HTTPS. C какими подводными камнями вам пришлось столкнулись?

До скорой встречи на страницах seoslim.ru!

seoslim.ru

Как перевести сайт на HTTPS без потери трафика

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

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

Проще говоря, смена протокола поисковой системе представляется, как процесс объединения ресурсов вида http://test.com и https://test.com в группу зеркал или же, как внесение изменений в главное зеркало, если до этого их признали зеркалами друг друга. Чтобы ресурсы стали зеркалами, они должны выдавать одинаковый контент.

Порядок действий по переходу на защищенный протокол

  • Прежде всего, вам необходимо получить и настроить SSL-сертификат. Пользователям нашего хостинга доступны бесплатные SSL-сертификаты, предоставляемые некоммерческой организацией Let’s Encrypt. Инструкции по установке сертификата.
  • Далее необходимо известить поискового робота о том, что ваш ресурс теперь доступен по новому протоколу, для этого следует воспользоваться формой добавления нового сайта в поисковых системах или же добавить его в список своих сайтов посредством сервисов Яндекс.Вебмастер и Webmasters Google.
  • Также, необходимо прописать адрес главного зеркала при помощи директивы HOST, расположенной в файле robots.txt. Пример: Host: https://test.com
  • Если доменам http и https ранее был присвоен статус зеркал, то на этом этапе вы можете посетить сервис Яндекс.Вебмастер и воспользовавшись инструментом «Настройки индексирования — Главное зеркало», сообщить роботу о внесенных изменениях в главном зеркале.
  • Также, рекомендуем набраться терпения, поскольку может пройти несколько недель, прежде чем главное зеркало, будучи в группе зеркал сайта, станет определяться с учетом заданных указаний.
  • В случае необходимости настройте REDIRECT на главное зеркало. Проводить эту процедуру до того, как заданные ресурсы станут зеркалами, не рекомендуется, поскольку это может стать причиной того, что страницы с редиректами не будут индексироваться согласно правилам Яндекса. На период склейки двух зеркал, лучше всего будет позволить поисковым роботам обращаться к сайту по обоим адресам.

infobox.ru

1. Подготовительная работа

Прежде чем переходить на https, желательно подготовить сайт. Сначала необходимо заменить внутренние абсолютные ссылки относительными. Есть несколько типов относительных ссылок. Google советует использовать protocol-relative ссылки. Например, если у вас была ссылка:

http://site.ru/blogpost1.html

то protocol-relative ссылка будет иметь вид:

//site.ru/blogpost1.html

Аналогично надо поступить, если на сайте есть медиа-контент — изображения, видеоролики, аудиофайлы. Например, если ссылка на изображение имела вид:

http://site.ru/image1.jpg

то protocol-relative ссылка будет такой:

//site.ru/image1.jpg

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

Также надо использовать относительные ссылки во внешних скриптах. Например, для библиотеки jQuery надо использовать такой код:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

вместо:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

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

Указанные действия надо проводить только на собственном сайте — обратные ссылки из внешних источников оставляем без изменений.

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

По уровню защиты SSL бывают трех типов:

  • Domain Validated. Такие сертификаты стоят от $10-12 в год. Они выдаются физическим и юридическим лицам только для одного домена. Проверяется лишь принадлежность домена тому, кто заказал сертификат.
  • Organization Validated. Сертификаты выдаются только юрлицам. Стоимость уже составит от $40-50 в год. Проверке подлежат документы о государственной регистрации и принадлежность домена.
  • Extended Validation. Использование этого сертификата позволяет получить зеленую строчку с названием компании в браузере. Стоимость — от $130 в год. В этом случае проводится наиболее тщательная проверка компании, поэтому такой сертификат вызывает наибольшее доверие.

Также SSL-сертификаты различаются по функциональности. Они могут быть обычными (только для 1 домена), Wildcard (если требуется установка https на субдоменах) и SAN (для нескольких доменов), с поддержкой IDN (для кириллических доменов).

Основные поставщики SSL-сертификатов — GlobalSign, Comodo, Thawte, GeoTrust, Symantec, Trustwave. Купить их предлагает большинство хостинг-провайдеров. Они выдаются на срок от 1 до 3-х лет. Каждый провайдер прилагает подробную инструкцию по установке SSL.

После установки проверить корректную настройку SSL можно с помощью сервиса SSL Server Test. Добавляете адрес сайта, и если все в порядке, то результат проверки будет иметь вид:

How to: Как правильно перейти с http на https?

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

3. Склеиваем зеркала

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

Для склейки зеркал в Яндексе, прежде всего, надо внести изменения в robots.txt. Откройте этот файл и исправьте директиву:

Host: site.ru

на

Host: https://site.ru

Аналогично исправьте директиву:

Sitemap: http://site.ru/sitemap.xml

на

Sitemap: https://site.ru/sitemap.xml

Далее переходим в Яндекс.Вебмастер, открываем раздел «Индексирование» / «Переезд сайта» и устанавливаем галочку напротив «Добавить HTTPS» и нажимаем «Сохранить».

How to: Как правильно перейти с http на https?

Остается ждать переиндексации, которая начинается через 2-3 недели после сохранения изменений. Как только главное зеркало будет изменено, об этом придет сообщение в Яндекс.Вебмастере. Если в процессе склейки обнулится тИЦ, переживать не стоит — через пару апдейтов все вернется на свои места.

Далее зайдите в Google Search Console и добавьте версию сайта с https. В отличие от Яндекса, Google понимает, что адреса с http и https ведут на один и тот же сайт, и отдает приоритет при индексировании именно страницам с https.

blog.seopult.ru


You May Also Like

About the Author: admind

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

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

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