Всем привет! В данной статье затронем тему безопасности, а именно безопасный протокол передачи данных – 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) – расширенная проверка компании. Данный вид сертификата могут позволить себе купить только крупные компании. Для его получения необходимо предоставить всю подробную информацию о компании – название организации, реквизиты, наличие о государственной регистрации, реальные звонки для утверждения полученных данных и многое другое. Да, получение такого вида сертификата дело хлопотное, но поверьте оно того стоит. Более того, рядом с адресной строкой в браузере будет отображаться название компании. Вот как это выглядит на примере сайта Сбербанка.

Смотрится круто и повышает доверие потенциального клиента. Поэтому, владельцам крупных компаний рекомендуется выпуск именно EV сертификатов.
Сертификаты с поддержкой IDN
Не все сертификаты поддерживают кириллические домены. Если у вас домен кириллицей в зоне РФ, то вам следует приобрести сертификат с поддержкой IDN.
Подробнее про виды сертификатов и их стоимости вы можете почитать в интернете. Здесь же я привел лишь некоторые, чтобы вы имели понятие, что сертификаты SSL бывают разные.
Получение сертификата
Сегодня приобрести сертификат SSL для сайта можно абсолютно бесплатно. Уже давно Google заявил о том, что пора уже переходить всем на безопасный прокол https и что предпочтение в ранжировании будет отдаваться сайтам именно с защищенным соединением. Кстати, это еще одна причина по которой я перешел на https. В общем, в связи с этим всем в свет появился проект под названием Let’s Encrypt. В первую очередь данный проект рассчитан на доступность приобретения SSL сертификата, а также облегчить жизнь рядовым веб-разработчикам с установкой сертификатов (генерация приватных ключей и прочее). И что самое главное – сертификаты, выдаваемые Let’s Encrypt, абсолютно бесплатные. Лично на моем блоге стоит именно такой сертификат.
Я получил сертификат SSL от Let’s Encrypt в панели управления beget.ru. Если вы пользуетесь данным хостингом, то получить его будет проще простого. Заходите в панель управления Бегет, далее переходите в раздел “Домены” и в списке доменов щелкаете по иконке 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.
Центр вебмастеров Гугл
С Яндексом разобрались, теперь давайте перейдем к 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. Открываем сайт и в настройках сайта (кликаем по шестеренке справа) указываем основной домен. Вот на примере моего блога.
Далее указываем адрес карты сайта. Для этого идем в “Сканирование” -> “Файлы Sitemap” и добавляем адрес карты сайта, щелкнув по красной кнопочке справа. Кстати, пока писал статью обнаружил, что я не добавил карту сайта для основного домена сайта zaurmag.ru. ?
Ну вот, на этом все. Если вы сделали все правильно, то в браузере рядом с адресной строкой у вас должен появиться зеленый замочек. Хотелось бы отметить, что если хотя бы один ресурс будет загружаться по незащищенному протоколу, то зеленого замочка вы не увидете, будет серый восклицательный знак. Отследить загрузку всех ресурсов вы можете в консоли браузера.

Также хотелось бы сказать, что процесс переиндексации в Гугл занимает не так много времени, примерно 2 недели хватит, а может и меньше. Вот в Яндекс по сложнее с этим, я и не удивлен. Яндекс всегда был тугой в этом плане. В первое время у вас обнулится ТИЦ, если он у вас был и в первый же апдейт ТИЦа должен будет вернуться. Это я написал, чтобы вы не пугались. Ну а далее в Яндекс Вебмастер вы обнаружите следующую картину…
Прошло довольно приличное время после перехода на https и как видите по скрину еще не все страницы перешли на https. Что сказать, так устроен отечественный поисковик.
Парус слов про Яндекс Метрику. Если у вас был установлен код яндекс метирки, то в панели метирики вам придется добавить сайт заново с протоколом https.
Переход на HTTPS в Joomla
Обновлено — 15.12.2016
В последних версиях Joomla с переходом на https не должно возникнуть проблем. В файл .htaccess не обязательно добавлять директивы редиректов, движок сам перекинет с http на https. Для этого необходимо просто включить опцию в общих настройках Joomla – “Сервер” -> “Включить SSL” -> “Весь сайт”.
Ошибка при переходе на 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 все адреса хранятся в базе данных в абсолютном виде. После изменения настройки сайта все адреса должны поменяться и в базе данных. Поэтому на случай, если пойдет что-то не так сделайте бэкап.
На этом и завершу. Всем спасибо за внимание. Не стесняемся, задаем вопросы в комментариях.
zaurmag.ru
Переход на HTTPS — проблемы
Прошу прощения, что начинаю с неприятного. Но надо же вас как-то замотивировать читать инструкцию по переезду на HTTPS ?
А возможные проблемы — самый лучший мотиватор делать всё аккуратно и внимательно, как показывает практика. Поэтому обязательно ознакомьтесь с данным блоком информации.
А именно с того, к чему может привести неграмотный переезд сайта на HTTPS.
1. Недоступность сайта
Бывают такие случаи, когда после перехода на HTTPS сайт просто перестал открываться. Такое явление может возникнуть из-за большого количества редиректов с HTTP на HTTPS и их зацикленности.
При возникновении любый проблем с доступностью после перевода сайта на HTTPS изучайте сообщения в браузере и немедленно сообщайте о них технической поддержке своего хостинг-провайдера. Если там находятся квалифицированные специалисты, то в 80% случаев они вам помогут.
2. Снижение трафика
В сети полно грустных историй вебмастеров, у которых на сайтах после перехода на HTTPS упали позиции или даже некоторые страницы выпали из поискового индекса.
Причин может быть много:
- Отсутствие 301 редиректов с HTTP адресов на HTTPS.
- Часть страниц может быть на HTTP, а часть на HTTPS (смешанное содержимое от англ. mixed content). Ещё одной причиной считать содержимое сайта смешанным является наличие HTTP ссылок на страницах, работающих по HTTPS протоколу.
- Ссылки в sitemap могут быть с учётом HTTP.
- После перехода на HTTPS новый адрес сайта не был добавлен в кабинетах вебмастера Google и Яндекс.
- Версия сайта на HTTPS не была отмечена как основная, а старый сайт не был помечен как зеркало. Из-за этого позиции могут понижаться вследствие дублирования контента и разбавления ссылочной массы между двумя доменами.
3. Неправильная работа сайта
Может проявиться в том, что скрипты будут не грузиться вообще или некоторые картинки будут отсутствовать. Причина заключается в HTTP ссылках на статические ресурсы после полного переезда сайта на HTTPS.
4. Потеря статистики посещаемости
После перехода на HTTPS может возникнуть ситуация, что ваши партнёры, рефералами (referrals, affiliates) которых вы являетесь, перестанут видеть трафик с вашего сайта через популярные сервисы аналитики: Google Analytics, Яндекс. Метрика и другие.
Особенно эта проблема может стать актуальной для людей, зарабатывающих на своих сайтах путём размещения баннеров и ссылок, получая доход за переходы и действия, произведённые пользователями при переходе по ним.
Таким образом, после переезда сайта на HTTPS из-за данной проблемы вы просто можете потерять свои деньги, а ваш рекламодатель увидит следующую картину переходов с вашего сайта:
Причиной данной проблемы является то, что переход с вашего защищённого HTTPS сайта на обычную HTTP страницу, которая может быть у вашего партнёра, воспринимается сервисами аналитики как прямой переход на сайт партнёра.
Поэтому ваш сайт может просто выпасть из данной цепочки.
Как вы могли заметить, при описании каждого пункта приведённого списка проблем, которые могут возникнуть при переходе сайта на HTTPS, я указал только их вероятные причины.
А решения?… Что делать, шеф? ?
Именно с этой целью я и составил следующую пошаговую инструкцию как перенести сайт на HTTPS, при выполнении которой вы убережёте себя и свой ресурс от описанных траблов, а также от негативной реакции на них ваших пользователей и поисковиков.
Как перевести сайт на HTTPS — инструкция
При использовании следующей инструкции важно выполнять действия в том порядке, в каком они указаны, иначе она может быть малоэффективна. Поэтому не спешите и при переходе к следующему шагу дождитесь завершения предыдущего.
1. Установка SSL сертификата на сервер
Переезд сайта на HTTPS начинается с покупки и установки SSL сертификата.
Тут всё просто: выбираем подходящий сертификат, покупаем его, устанавливаем на сервер и подключаем к своему сайту. В качестве проверенного продавца могу порекомендовать своего хостинг-провайдера TheHost, у которого, наверное, самые низкие цены на услуги хостинга и SSL сертификаты в Рунете.
О том, зачем нужен SSL сертификат, какие виды SSL сертификатов существуют на сегодняшний день, чем они отличаются и сколько стоят, подробно написано в статье о том, что такое HTTPS, ссылку на которую я привёл в самом начале статьи.
2. Настройка движка сайта
После установки SSL сертификата, для корректной работы по новому протоколу в коде самого сайта и его настройках нужно будет произвести ещё кое-какие изменения.
Первым делом, нужно будет указать, что URL сайта отныне содержит не HTTP, а HTTPS протокол. Такие настройки требуются в большинстве CMS для создания правильных внутренних ссылок, которые являются относительными.
Также важно будет проверить, чтобы существующие страницы сайта корректно открывались по URL с учётом HTTPS протокола.
3. Сообщить поисковикам об изменениях
После этого нужно сообщить поисковикам о том, что сайт перешёл на HTTPS протокол. Для индексации новых URL страниц c учётом HTTPS протокола, необходимо сообщить об их наличии поисковым роботам с помощью так называемых «аддурилок»:
- Яндекс: https://webmaster.yandex.ru/addurl.xml
- Google: https://www.google.com/webmasters/tools/submit-url
- Bing: https://www.bing.com/toolbox/submit-site-url
4. Изменение главного зеркала
У Яндекса и других поисковых систем есть такое понятие, как «зеркало». Зеркалами считаются копии сайтов, среди которых есть главное зеркало – сайт, страницы которого как раз присутствуют в поисковой выдаче.
Процесс переноса ссылочного веса с зеркал на главное называется склейкой зеркал и занимает до нескольких месяцев. На скорость, к сожалению, повлиять никак нельзя, остаётся только ждать.
Главное зеркало сайта устанавливается вручную в кабинетах вебмастеров Google, Яндекс и Bing. При переносе сайта на HTTPS главным зеркалом сайта должна быть именно HTTPS версия. Также указать главное зеркало можно с помощью robots.txt, прописав в нём (или изменил) директиву Host, которая должна выглядеть так:
Host: https://site.com
А также главное зеркало сайта можно указать с помощью 301 редиректа, которые всё равно будут необходимы для переноса веса с HTTP URL страниц на HTTPS.
5. Изменение внутренних ссылок
Параллельно с добавлением HTTPS адресов страниц в аддурилки и настройкой главного зеркала необходимо проверить внутренние ссылки на сайте. Причём, это должны быть не только перекрёстные ссылки внутри статей, но и URL статических файлов (картинок, JS и CSS файлов).
Если ссылки прописаны в абсолютном виде, то нужно будет заменить в них протокол HTTP на HTTPS.
Вообще, самым лучшим решением будет использование относительных ссылок, которые будут содержать протокол, установленный для корня сайта.
Могут быть как относительно протокола в следующем виде:
//site.ru/page.html
Так и относительно корня сайта:
/page.html
Лучше делать изменение внутренних ссылок при помощи специальных скриптов, которые помогут найти и заменить ссылки как в коде сайта, так и в БД, автоматически.
Если же их использование покажется вам слишком сложным, то можете изменить все ссылки вручную. Главное, при этом не забыть про контент, который может находиться в базах данных, внутри JavaScript скриптов, файлах CSS стилей и правилах редиректа.
Когда ресурс большой, то ручной поиск таких ссылок может отнимать много свободного времени, поэтому для инспектирования сайта на предмет наличия смешанного контента рекомендуется пользоваться специальными скриптами либо различными сервисами SEO анализа сайтов.
Если вы не знакомы с тонкостями установки и настройки пакетов через Composer, то лучше воспользоваться вторым вариантом, т.к. он не требует от пользователя наличия специальных данных.
Стоит также учесть, что при использовании сторонних библиотек по CDN или иным другим способом, когда в коде сайта располагается ссылка на них, нужно также заменить их с учётом HTTPS протокола. Либо заменить абсолютные HTTP адреса относительными.
Если сделать это будет невозможно, то от таких ресурсов лучше отказаться совсем или скачать их и вызывать с собственного сервера уже по HTTPS протоколу, естественно, что будет предпочтительно даже с технической точки зрения, т.к. скорость их подключения будет выше, и вы не будете зависеть от наличия Интернет соединения.
6. Установка 301 редиректов с HTTP на HTTPS адреса страниц
Сразу скажу, что редирект потребуется для всех существующих страниц сайта и запросов без исключения, чтобы у поисковых систем не было даже повода придраться.
Сделать это можно при помощи специальных плагинов и пакетов (для того же WordPress HTTPS плагинов существует уйма). Либо даже с помощью средств языков программирования.
Но самым быстрым и простым вариантом является организация 301 редиректа на уровне веб сервера с помощью специальных директив в их конфигурационных файлах.
Если ваш сайт работает на Apache сервере, то добавьте в файл .htaccess, который должен располагаться в корне сайта (или создайте его) следующий код:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L] </IfModule>
Если же вы используете Nginx, то вам потребуется следующая конструкция:
server { listen 80 default_server; listen [::]:80 default_server; server_name example.com www.example.com; return 301 https://$server_name$request_uri; }
Яндекс рекомендует устанавливать 301 редиректы после полной склейки зеркал, т.к. при установке редиректов страницы могут исключаться из поисковой выдачи.
7. Изменение внешних ссылок
Если вас ресурс существует достаточно долго, то, скорее всего, в Интернете можно отыскать ссылки на него с других ресурсов. Будь то обычные посты в социальных сетях или покупные ссылки, которыми вы увеличивали свой ТИЦ за деньги.
Естественно, что все они прописаны с учётом HTTP протокола, который было бы хорошо изменить на HTTPS. Но если у вас нет возможности это сделать, то сильно не огорчайтесь, т.к. при склейке доменов ссылки на любое зеркало сайта учитываются поисковиками для главного зеркала.
Таким образом, старые ссылки будут продолжать работать, передавая веса и ТИЦ.
8. Проверка канонических ссылок
Если вы используете на своём сайте канонические ссылки для исключения дублирования контента (работают для поисковиков как и 301 редирект), то необходимо на них всех поменять url с HTTP на HTTPS:
<link rel="canonical" href="https://site.com/url">
Напомню, что чаще всего такие конструкции располагаются в секции head HTML кода страницы. Однако, могут присутствовать и в других местах, например, на элементах пагинации, которые сами, в свою очередь, могут быть оформлены следующим образом:
<link rel="prev" href="https://site.com?page=1"> <link rel="next" href="https://site.com?page=2">
Если ссылки у них будут указаны также с учётом HTTP протокола, то их также нужно будет перевести с HTTP на HTTPS.
9. Правки на мультиязычных сайтах и в пагинации
Если на вашем сайте имеется мультиязычность, т.е. у страниц есть варианты на нескольких языках с возможностью их переключения в интерфейсе, то, скорее всего, в HTML коде у вас будет присутствовать следующая конструкция:
<link rel="alternate" hreflang="ru" href="https://site.com/">
Если таковая присутствует, то необходимо будет перевести страницу на HTTPS, т.е. изменить её URL с учётом данного протокола.
Также на вашем сайте, даже без вашего ведома, могут использоваться и другие тэги link, на значение адресов ссылок в которых также нужно будет обратить пристальное внимание.
10. Коррективы sitemap.xml
При проверке URL внутренних ссылок не забудьте заглянуть в XML карту сайта или плагины, которые её формируют, и проверить, чтобы она отныне содержала только HTTPS ссылки.
В принципе, если в ней будут URL, указанные через HTTP, то благодаря правильно настроенным 301 редиректам роботы всё равно попадут на итоговую страницу, но это приведёт к наличию у вас на сайте большого числа редиректов, что не останется без внимания поисковиков и снизит скорость загрузки контента.
Также в robots.txt нужно поменять ссылку на саму sitemap.xml с учётом нового протокола HTTPS:
Sitemap: https://site.com/sitemap.xml
11. Сохраняем реферальный трафик
Чтобы не стать невидимкой для Google Analytics и прочих сервисов аналитики, используемых вашими партнёрами, о чём я говорил в начале статьи, понадобится ещё одно действие.
Оно заключается в добавлении мета тега referer, с помощью которого задаётся содержимое заголовка Referer HTTP запроса, отправляемого пользователем вашего сайта через браузер. В идеале там должен содержаться URL сайта, на котором находился юзер при отправке запроса.
По умолчанию, при передаче запросов браузеры руководствуются реферальной политикой No Referrer When Downgrade, которая подразумевает передачу реферальных данных (ссылки на ресурс, с которого запрос был инициирован) только с HTTPS на HTTPS ресурс.
При передаче с HTTPS на HTTP заголовок не будет содержать никаких данных и запрос будет считаться прямым, т.е. когда пользователь ввёл URL сайта вашего партнёра прямо в браузере.
Сразу хочу уточнить, что в значении Referer заголовка будет находиться URL без параметров.
Итак, чтобы изменить данное поведение, нужно в HTML коде необходимых страниц (лучше всего, конечно, сделать это для всего сайта) разместить следующую конструкцию в секции head:
<meta name="referrer" content="значение_параметра">,
Наиболее часто используемыми на практике являются следующие значения параметров:
- no-referrer — реферальные данные не будут передаваться;
- no-referrer-when-downgrade — значение по умолчанию: ссылка источника будет передаваться только сайтам, поддерживающим HTTPS протокол, как и на вашем; сайтам, работающим по HTTP, ничего не будет передаваться;
- origin — реферальные данные будут передаваться не зависимо от протокола и при переходе как с вашего основного сайта, так и с его поддоменов;
- origin-when-crossorigin — при внутренних запросах, т.е. когда переход на URL произошёл пользователем с этого же сайта, будет передаваться полный адрес страницы; в случае же запроса с другого сайта заголовок будет пуст;
- unsafe-url — реферальные данные будут передаваться в любом случае: и при внутренних запросах, и при перекрёстных;
Со списком всех политик безопасности и их описанием (правда, на английском) вы можете познакомиться здесь — https://www.w3.org/TR/referrer-policy/#referrer-policies
В большинстве случаев, для корректной передачи реферальных данных без угроз безопасности ресурса вам пригодится следующий вариант:
<meta name="referrer" content="origin">
После произведения действий, описанных в данной инструкции по правильному переходу на HTTPS сайтов с HTTP, всё, что вам останется — ждать. Ждать полной переиндексации сайта и замещения страниц из поиска с HTTP урлами на HTTPS аналоги.
К сожалению, даже если вы всё сделаете верно, стоит готовиться к кратковременному снижению трафика, т.к. 301 редиректы передают от 85% до 99% ссылочного веса. Трафик может восстанавливаться несколько месяцев.
Также не удивляйтесь тому, что при переходе на HTTPS пропал ТИЦ или данный показатель значительно снизился.
Не волнуйтесь, со временем показатели восстановятся, а трафик может даже и увеличиться благодаря сегодняшней лояльности поисковиков к HTTPS сайтам. Но, как уже говорилось, должно пройти время.
Переезд на HTTPS — снова проблемы…
Аффтар жжот ? Только привёл инструкцию, как избежать проседания трафика и прочих проблем переезда сайта на HTTPS — и снова здрасьте… Какие ещё проблемы?
К сожалению, список трудностей, которые могут возникнуть при переходе с HTTPS на HTTP, не ограничивается перечнем, приведённым в начале.
Я не описал их сразу не потому, что забыл о части и вспомнил только сейчас, а по той причине, что не все они зависят от правильности действий при переводе сайта.
Некоторые из них вызваны особенностями самого защищённого протокола HTTPS, о чём я и захотел поговорить с вами насполедок.
1. Частичная недоступность
Обычно проявляется следующим сообщением об ошибке HTTPS подключения к сайту в браузере:
Причина: В принципе, ничего страшного в данном явлении нет, т.к. сообщение появляется при использовании самоподписанного SSL сертификата или когда истёк срок действия сертификата.
Но пользователи, в большинстве своём, — люди простые ? Просто берут и закрывают сайт в поисках «безопасной» альтернативы.
Естественно, данное поведение не пройдёт незамеченным мимо поисковиков, которые пристально следят за временем нахождения юзеров на страницах сайта, от чего зависят ваши позиции в выдаче.
Решение: Своевременно оплачивайте сертификат или просто переоформляйте его при использовании бесплатного. Многие хостинги, кстати, предоставляют своим клиентам скрипты для автоматического переоформления бесплатных сертификатов от Let’s Encrypt.
Также, данное сообщение возможно в случае установки чужого сертификата, выданного на другой домен. Ну, тут уж, товарищи хакеры, ничего не останется, как отказаться от такого и купить себе персональный.
Кстати! Такая ситуация может возникнуть ещё и тогда, когда недобросовестный регистратор подсунул вам «левый» сертификат. Поэтому при возникновении данных проблем обязательно сообщитетем, у кого вы купили ваш SSL сертификат.
2. Страницы сайта стали дольше загружаться
В большинстве случаев замедление незначительно, но на больших проектах важны все мелочи. И, не зная данной особенности HTTPS протокола, вы будете очень долго искать причину «тормозов».
Причина: Заключается в наличии операций по шифрованию и дешифровке трафика при передаче по протоколу HTTPS.
Решение: К сожалению, бороться с этим не получится, да и бессмысленно, т.к. это нюансы технологии. Как вариант – заняться переоптимизацией сайта там, где это возможно (организовать серверное кэширование, минимизировать размер картинок и других статических файлов – html/css/js).
3. Потеря статистики социальных сигналов (репосты, лайки и т.д.)
Переезд на HTTPS сулит и ещё одну проблему, которая заключается в обнулении счётчиков лайкнувших и зарепостивших вас пользователей. Мелочь, вроде бы. Но, в некоторых случаях, данный нюанс может создать серьёзные проблемы для бизнеса.
Причина: Это происходит из-за того, что статистика считается для конкретного домена. Поскольку сайт при переходе с HTTP на HTTPS, фактически, изменил свой url, то вся статистика будет утрачена и начнёт считаться заново.
Решение: К сожалению, с этим ничего нельзя сделать, пока разработчики социальных сетей не внесут в свои продукты соответствующие изменения. А пока они этого не сделали, вы можете воспользоваться плагинами. Например, для WordPress существует замечательный плагин от WarfarePlugins, позволяющий сохранить статистику социальных сигналов при переходе сайта на HTTPS.
Но данный функционал, естественно, не является основным. Это, скорее, бонус. Основное предназначение расширения — увеличение социальной активности ваших пользователей, что неминуемо приведёт к увеличению трафика.
Минусов у него всего два: плагин на английском и он платный, но цена не заоблачна и составляет единоразовые 30$. В принципе, вы заплатите эти же деньги или даже больше, если будете обращаться к фрилансерам с подобной просьбой.
Как перейти на HTTPS — рекомендации
К сожалению, реальность такова, что при переезде на HTTPS вы действительно можете потерять часть трафика и столкнуться с неминуемыми проблемами другого рода, некоторые из которых были озвучены выше.
Однако, есть способы минимизировать этот эффект и сделать так, что ваш бизнес понесёт при этом незначительные потери.
Для этого есть несколько рекомендаций.
1. Переход в период снижения посещаемости
Правильным решением будет производить переход с HTTP на HTTPS в сезон затишья, когда трафик ресурса минимален. Таким образом, если падение позиций сайта в поисковой выдаче и произойдёт, то снижение трафика на фоне всеобщего спада будет практически незаметно.
А если вдруг ресурс будет некоторое время вообще недоступен, то вы потеряете меньше клиентов, чем в период продаж.
Для большинства ресурсов период застоя – с начала мая до донца сентября, т.к. у большинства людей в данное время отпуска.
Однако, всё равно, для каждой тематики и ресурса он свой, поэтому анализируйте свой годовой трафик, чтобы вычислить подходящее время для перевода сайта на https.
2. Использование сервисов для мониторинга ошибок перехода на HTTPS
В самом начале статьи были рассмотрены проблемы, возникающие при переезде сайтов на HTTPS, а также некоторые их причины. Даже если проблему вы и сможете самостоятельно определить, то проработать абсолютно все причины её возникновения вручную будет весьма долго и затруднительно для неопытных пользователей.
Поэтому я советую анализировать сайт с использованием специальных сервисов незамедлительно после установки SSL сертификата на сервер, настройки движка сайта и 301 редиректов. Таким образом, вы сможете узнать о возникших проблемах при переходе с HTTP на HTTPS раньше Яндекса и Google, что позволит вам избежать проседания трафика.
Одним из таких сервисов является Serpstat, который предоставляет следующую аналитику ошибок SSL сертификата и HTTPS соединения в целом:
Как видите, здесь происходит проверка установки SSL сертификата и наличия типичных ошибок, которые могут возникнуть при переходе на HTTPS, приведённые в самом начале статьи. И хорошо, что на моём тестовом сайте они не были обнаружены.
Единственный недочёт, который отображён на картинке выше, заключался в отсутствии поддержки технологии HSTS на сервере моего хостинга, который решается только сменой такового.
Большой плюс данной аналитики от Serpstat в том, что ошибки подробно описываются, и предлагаются способы их решения. Поэтому очень рекомендую ?
3. Настройка HTTPS соединения на копии сайта
Поскольку неправильный перенос сайта на HTTPS чреват многими проблемами, то я, как веб разработчик, хочу дать чисто профессиональный совет ?
Он заключается в тестировании изменений, а в данной случае, настройке HTTPS соединения, на локальном веб-сервере или копии сайта на одном тестовом поддомене сайта, а не в «продакшене».
Это немного растянет процесс переезда на HTTPS по времени, но зато у вас будет 100% гарантия того, что после переноса сайта на основной домен поисковые роботы сразу будут индексировать контент правильно.
Не будет такого, что вы установили на основной сайт SSL сертификат, сообщили поисковикам об изменениях, а потом начали заниматься редиректами и изменением внутренних ссылок.
В процессе вас ещё что-то отвлекло… И, в итоге, когда вы доделаете всю работу, у вас есть все шансы обнаружить в кабинетах вебмастеров Google, Яндекс и Bing кучу ошибок, из-за которых позиции вашего сайта в выдаче уже начали падать.
Вы в спешке исправляете ошибки, снова отправляете сайт на переиндексацию, и только тогда, возможно, позиции начнут медленно возвращаться. В итоге, этот процесс может растянуться на несколько месяцев, в течении которых вы будете терять своих клиентов.
Примерно о таких возможных сроках проседания трафика говорят и сами поисковики, видимо, предвидя такую ситуацию. Но, использовав копию сайта для настройки HTTPS, вы всего этого сможете избежать.
Единственное, в случае работы с копией сайта, приведённая ранее инструкция будет слегка отличаться.
Сперва я рекомендовал бы скопировать сайт и подключить к нему SSL сертификат на сервере. Затем я бы откорректировал все внутренние ссылки и сделал бы 301 редиректы. Исправил бы robots.txt и добавил бы канонические тэги.
После этого, когда я бы убедился, что всё в порядке, я добавил бы сертификат на основной сервер и подключил бы его к доменному имени сайта с переносом файлов сайта с тестового домена на основной.
Спрашивается: а что делать, если сертификат был куплен на одно доменное имя? Как его использовать на тестовом поддомене?
Всё просто: купленый сертификат устанавливаем на сервере, где будет размещаться основной сайт, а также подключаем его к основному домену. Для тестового можно использовать бесплатный SSL сертификат от Let’s Encrypt либо самоподписанный.
Ну, а если вы купили Wildcard сертификат или вообще мультидоменный, то проблем с этим нюансом у вас не будет в принципе.
Как видите, проблем может возникнуть масса. Особенно у «матёрых» сайтов с большой посещаемостью и историей, которые сегодня активно переходят на HTTPS.
Но, если вы только собираетесь создавать сайт и лишь «прощупываете почву» по поводу HTTPS и SSL сертификатов, то я бы однозначно рекомендовал бы устанавливать их с самого старта проекта, чтобы избежать трудностей перевода в будущем ?
И вот, почему…
Перевод сайта на HTTPS — выводы
Несмотря на кучу проблем, к которой вас может привести неграмотный переход на HTTPS, данное мероприятие всё равно рано или поздно предстоит сделать.
Дело даже не в возросшем уровне киберпреступности, а в том, что компания Google, являющаяся владельцем крупнейшего в мире одноимённого поисковика, постоянно стимулирует вебмастеров делать перевод с HTTP на HTTPS своих ресурсов на данный протокол.
Последним новшеством стала отметка сайтов, работающих по HTTP протоколу, как небезопасных, в Google Chrome, начиная с 29 января 2017 года и 56 версии браузера.
А, учитывая, что сегодня Google Chrome используют более 55% всех пользователей Интернет, то существует большая вероятность, что те из них, кто ничего не знает о данной особенности браузера и HTTPS протоколе в целом, просто уйдут с вашего сайта в поисках «безопасного».
Правда, данные санкции касаются не всех сайтов, а только тех, где имеются формы для ввода информации пользователем.
Блогов, похоже, это не коснётся, т.к. данный сайт отображается в Google Chrome 59 в штатном режиме без всяких предупреждений.
Но если у вас Интернет магазин или другой коммерческий продукт, где пользователи вводят платёжную информацию или другие конфиденциальные данные, то переход на HTTPS для вас неизбежен.
И чем раньше вы его сделаете, тем лучше.
Тем более, что временная потеря трафика на сайте — это не обязательное последствие перевода сайта на HTTPS. Поисковые системы и их алгоритмы — вещи непредсказуемые, о чём неоднократно заявляли их инженеры.
Поэтому вполне возможна ситуация, когда переезд сайта на HTTPS с HTTP приведёт к росту посещаемости практически с первых дней, как это произошло на этом сайте:
Главное следовать изложенной в статье пошаговой инструкции как перевести сайт на HTTPS и руководствоваться рекомендациями в процессе.
Пишите свои отзывы в комментариях, делитесь своим опытом переезда на HTTPS и указывайте мне на мои ошибки. Это тоже нужно ?
Также не забывайте вступать в сообщества проекта в социальных сетях, делиться статьёй со своими друзьями и говорить спасибо с помощью формы под статьёй.
Всем удачи и до новых встреч!
cccp-blog.com
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 показан на картинке ниже:
Соответственно, если сервис нашел проблемы в конфигурации сервера или показал, что вы не установили промежуточные и корневые сертификаты, лучше как можно быстрее решить эти проблемы.
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
Что такое 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://, но не будет сообщения о защищенном соединении.
-
Поменять адрес в настройках Вашей CMS;
Если вы используете Joomla!, Opencart, WordPress, MODx, Bitrix или другую популярную систему управления, то в настройках всегда есть поле с главным адресом сайта. В WordPress это выглядит следующим образом:
Переходим на https
Для начала нужно выбрать и заказать сертификат SSL. Сделать это можно у хост-провайдера. Их существуют несколько видов:
-
SSL Let’s 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.
Стоит сказать, что если у вас обычное соединение http, то писать его в host не нужно. (пишите просто домен)
Меняем адреса в sitemap.xml
Адреса в карте сайта так же нужно обновить. Это позволит избежать лишних редиректов при обращении робота.
Добавляем https в Webmaster
В Вебмастере в разделе «Индексирование» есть пункт «Переезд сайта«. Необходимо поставить галочку напротив «Добавить HTTPS«.
После этого, Вы увидите подобное сообщение, которое означает, что Яндекс уведомлен о переезде.
Добавляем новый Webmaster
Кроме всего перечисленного, что бы получать корректную информацию, нам придется добавить в Вебмастер сайт с https. То есть, по итогам должно получиться 2 сайта. Один с http, другой с https. После обновления сайты будут связаны.
Адрес со старым протоколом можно не удалять, так как в нем будет информация о внешних ссылках именно на http.
Проверяем, все ли верно
Для проверки перейдите на свой сайт и пробегитесь по страницам. В адресной строке браузера у Вас должен появится замочек и протокол https.
Если в некоторых разделах нету замочка, но есть https, это означает, что на странице присутствует незащищенная передача данных. Это может быть следствием работы виджета или скрипта.
Перейдите на сайт по ссылке с http. При корректной работе Вы сразу должны быть перенаправлены на защищенный протокол. (В следствии работы 301 редиректа)
В долгосрочной перспективе сайты в Yandex Webmaster должны быть склеены. В результате Вы увидите следующую картину.
Кроме этого, в разделе «Индексация» пункт меню «Переезд сайта» должен смениться на «Расклейка зеркал«.
dh-agency.ru