Добавить комментарий
Нажимая кнопку «Отправить», вы соглашаетесь с политикой конфиденциальности
31.01.2020
В данной статье поговорим о переезде сайта с http на защищенный протокол https. О необходимости данного действия представители поисковых систем начали намекать еще с конца 2015 года, но по прошествии более чем трех лет, еще осталось большое количество владельцев сайтов, которые данное действие не сделали. Именно для Вас мы написали подробную инструкцию по правильному переходу на новый зашифрованный стандарт.
В материале публикуется самая оптимальная инструкция по переходу на https, основанная на большом опыте нашей компании при переклейке клиентских сайтов на защищенный протокол с минимализацией рисков потери посещаемости и просадки позиций в поисковых системах - Яндекс и Google. Статья разбита на блоки с максимальной информацией по каждому из них.
Чтобы ответить на этот вопрос, сначала необходимо дать определение этому протоколу.
HTTPS (HyperText Transfer Protocol Secure) — это более совершенная версия HTTP-протокола, придуманная в далеком 1994 году для браузера Netscape Navigator с целью защитить от мошенников личные данные, которые пользователи вводят на сайтах. Официальное использование технологии началось с 2000 года, когда она прошла спецификацию RFC 2818. Несмотря на такой возраст технологии, к 2017 году в мире было только 20% сайтов на https, в рунете цифра составляла итого меньше - 4%
Но все изменилось в 2017 году, когда корпорация Google начала массово продвигать данный протокол для сайтов. Популяризация технологии состояла из следующих этапов:
Данные действия привели к тому, что уже к середине 2018 года количество сайтов в мире использующих защищенный протокол, стало больше, чем тех, кто остался на http - 51%. Данное число будет расти дальше и в обозримом будущем достигнет показателя 100%.
Еще в конце 2018 года сдерживающим фактором переклейки сайта была компания Яндекс, которая официально не давала никаких преимуществ защищенному протоколу перед обычным http, но в начале 2019 года в своем официальном блоге заявила, что данная технология становится фактором ранжирования.
А немного позже в Вебмастере Яндекса на части сайтов стало появляться предупреждение о том, что они не используют защищенный протокол.
Исходя из всего вышесказанного, чтобы не отставать от течения и не остаться у разбитого корыта, следует задуматься об установке SSL-сертификата и правильно перевести свой сайт на https уже сейчас.
SSL-сертификаты классифицируют по подлинности и делятся на 3 типа:
При покупке сертификата обязательно стоит обратить внимание используются ли поддомены на сайте. Если они есть, обычный SSL установится только на основной домен, а поддомены останутся незащищенными. Чтобы под каждый поддомен не получать индивидуальный сертификат, существует специальный SSL - Wildcard. Wildcard позволяет защитить несколько доменов (поддоменов) одновременно. Поэтому, если у вас крупный проект использующий поддомены или даже дополнительный домены, то выбирать следует именно Wildcard.
Если требуется получить бесплатный SSL-сертификат, для этого потребуется воспользоваться сервисом SSL For Free - https://www.sslforfree.com/. На стартовой странице указываем необходимый домен, который планируется перевести на https.
На следующем экране необходимо выбрать способ верификации домена, чтобы подтвердить, что он принадлежит вам.
Самый простой способ - “Manual Verification” - когда в корень сайта необходимо закинуть файл подтверждения. Выбираем данный способ, скачиваем файл. В корне сайта создается папка .well-known (обязательно с точкой), внутри еще одна папка acme-challenge и в нее размещает скачанный файл подтверждения (их может быть 1 или 2). После чего нажимаем “Download SSL Certificate”.
Далее получаем архив с файлами, которые можно использовать для установки на свой хостинг.
У каждого хостинга установка сертификата работает примерно по одному принципу. Рассмотрим примеры установки https на нескольких популярных сервисах размещения информации на сервере
В панели управления sweb.ru есть раздел SSL
Заходим в него, нажимаем кнопку “Установить” и на появившейся странице выбираем один из двух способов добавления сертификата к домену - загрузка готового файла, когда надо прикрепить полученные выше данные сертификата. Сертификат для домена (.crt), приватный ключ (.key), промежуточный сертификат (.ca-bundle) - после того, как указали пути для них, нажимаем “Установить”.
В течении 24-часов на сайт будет поставлен https.
Так же Sweb.ru с недавних пор позволяет получить сертификат без дополнительных манипуляций, необходимо только в разделе "SSL" нажать кнопку “Установить” и выбрать пункт "Let's Encrypt" и домен, на который его установить.
Заходим в раздел SSL-сертификаты.
На следующей странице нажимаем кнопку “Установить”, появится форма обратной связи для обращения в техподдержку. В ней указывается доменное имя, пишется просьба об установке SSL-сертификата и прикрепляются файлы из архива. Далее специалисты хостинга в течении 1-2 часов устанавливают https.
Для хостинга на Beget даже не требуется телодвижений с получением файлов для установки SSL, чтобы поставить сертификат, достаточно перейти в “Сайты”.
Там у необходимого сайта нажать кнопку “http”.
И в всплывающем окошке кликнуть на “Установить SSL сертификат”.
Далее, в течении суток, домену будет установлен шифрованный протокол.
После того, как на сайт будет установлен https-протокол, не будет лишним проверить правильность его установки. В этом нам поможет сервис - https://www.sslshopper.com/ssl-checker.html
Вбиваем в строку адрес сайта и получаем данные.
Ключевое, на что стоит обратить внимание - время действия сертификата. SANs показывает количество покрываемых доменов.
После установки SSL-сертификата на хостинге необходимо подготовить сам сайт к переезду на https, сделать это надо как можно оперативнее. Далее будет список общих работ, подходящих под любой движок сайта и индивидуальные настройки для определенных CMS.
Это действие необходимо делать всегда, когда планируются серьезные изменения на сайте, нельзя пропускать данную процедуру. Вовремя сделанный бэкап позволит вернуть сайт в изначальное состояние, если что-то пойдет не так в процессе работы.
Необходимо проверить шаблоны сайта и убедиться, что все ссылки там - относительные. Такие ссылки обеспечивают протоколонезависимость страниц сайта, что делает их доступными по обоим протоколам и упрощает переклейку в поисковых системах.
Абсолютная ссылка выглядит следующим образом: https://test.ru/page/.
Относительная ссылка: /page/.
Там же, в шаблонах сайта, все УРЛы на подключаемые JS-скрипты, картинки, библиотеки, шрифты и другие дополнения сразу стоит поменять на относительные. В основном они находятся в шапке и футере.
Проверка всех внутренних ссылок https-версии сайта.
После замены всех URL проверяем https-версию сайта на то, что на нем ссылок на http-страницы не осталось. В этом нам помогут программы вроде - Xenu, Screaming Frog SEO Spider и другие подобные аналоги. Если после проверки они найдут неизмененные УРЛы, содержащие протокол http, то нужно повторно проверить шаблоны на наличие абсолютных ссылок, найти их и исправить на относительные.
После проведения стандартных работ, для настройки защищенного протокола в Битриксе дополнительно надо сделать только 1 действие: в настройках sitemap.xml адрес карты сайта сменить на https.
В общих настройках ВордПресса необходимо дополнительно указать новое главное зеркало сайта (если брать системные файлы, находится по адресу https://domen.ru/wp-admin/options-general.php). Поле называется - Адрес WordPress (URL).
Если сайт создан на ОпенКарте, то в нем при переходе на https необходимо скорректировать следующие настройки:
На FTP находим 2 файла config.php - с одинаковым названием, но разным расположением. Один в корне сайта, второй - в папке /admin/.
В обоих файлах находим строчки:
define('HTTP\_SERVER', 'http://адрес\_сайта/');
define('HTTP\_SERVER', 'http://адрес\_сайта/admin/').
И меняем на:
define('HTTPS\_SERVER', 'https://адрес\_сайта/');
define('HTTPS\_SERVER', 'https://адрес\_сайта/admin/').
Дальше переходим в панель администрирования сайта и в настройках, во вкладке “Сервер”, указываем “Включить SSL”.
Для сайта на ModX при переводе на https надо сделать одно дополнительное действие - Зайти в «Системные настройки», перейти в ветку “Система и сервер”, далее находим поле “тип сервера” и меняем протокол на https.
Как и для большинства сайтов выше, в панели управления Джумлы в настройках сервера надо указать безопасный протокол для всего сайта. Путь - “Система” - “Общие настройки” - “Сервер” - поле “Включить SSL”, выбрать “для всего сайта”.
После подготовительных работ с сайтом по переезду его на https и индивидуальных настроек CMS остается выполнить ключевые действия для переклейки на новое главное зеркало. Они состоят из следующих шагов:
В robots.txt необходимо изменить путь до карты сайта. Атрибут sitemap, где адрес будет содержать https://
Все адреса в xml-карте сайта обязательно должны быть переведены на https:// , если осталась старая карта сайта, ее тоже надо обновить, сгенерировав актуальные адреса. В конечном итоге она должны выглядеть следующим образом:
Если у страниц на шифрованном протоколе имеются rel="canonical"
, обязательно надо убедиться, что ссылки с них ссылаются на https-версию.
После проведения всех вышеописанных процедур, остается проинформировать поисковые системы о том, что у сайта будет новое главное зеркало. Чтобы это сделать в Яндексе, требуется в его вебмастер добавить и подтвердить защищенную версию сайта. В панели управления должно отобразиться два домена со старым протоколом и шифрованным.
Далее, заходим на старую http-версию домена и указываем у нее новое главное зеркало, поставив соответствующую галочку:
Данная настройка находится по следующему пути в Вебмастере - “Индексирование” -> “Переезд сайта”. После того, как будет поставлена галочка ”Добавить https”, высветится надпись о том, что переклейка началась.
К сожалению, с конца 2018 года Google убрал в своем вебмастере какие-либо настройки, позволяющие указать поисковику новое главное зеркало сайта. Поэтому единственным косвенным действием является добавление и подтверждение в Google Search Console новой версии сайта на шифрованном протоколе и последующая установка 301-редиректа.
После всех проведенных мероприятий, остается последнее и самое основное действие - 301 редирект на новое главное зеркало. Как настроить редирект - способов много и зависит от веб-сервера на котором работает хостинг. Список самых популярных вариантов перенаправлений будет ниже (рекомендуем добавить в закладки). Общая рекомендация по 301-редиректу на https-версию - он должен быть для сайта постраничным. После установки обязательно выборочно проверьте разные страницы через сторонний сервис, чтобы перенаправление срабатывало корректно (рекомендуем для этого использовать bertal.ru).
Приводим список 301-редиректов (не последовательных), практически гарантированно работающих на любом веб-сервере Apache:
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1/ [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^\/]$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ https://%1/$1/ [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://www.%1/$1/ [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ https://www.%1/$1/ [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^\/]$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ https://www.%1/$1 [L,R=301]
RewriteCond %{REQUEST_URI} ^\/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ https://www.%1/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)\/$ https://www.%1/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ https://www.%1/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)\/$ https://www.%1/$1 [L,R=301]
RewriteCond %{REQUEST_URI} ^\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)\/$ https://%1/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)\/$ https://%1/$1 [L,R=301]
Случается, что какой-нибудь стандартный вариант перенаправления прописанный в .htaccess не срабатывает, поэтому ниже приведены альтернативные варианты 301 редиректа на защищенную версию сайта.
RewriteCond %{HTTPS} =off
RewriteRule (.\*) https://%{HTTP\_HOST}%{REQUEST\_URI} \[QSA,L\]
RewriteCond %{SERVER\_PORT} !^443$
RewriteRule .\* https://%{SERVER\_NAME}%{REQUEST\_URI} \[R,L\]
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.\*)$ https://%{HTTP\_HOST}%{REQUEST\_URI} \[L,R=301\]
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.\*)$ https://%{HTTP\_HOST}/$1 \[R=301,L\]
RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'
RewriteRule ^(.\*)$ https://www.site.ru/$1 \[L\]
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .\* https://%{SERVER\_NAME}%{REQUEST\_URI} \[R=301,L\]
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP\_HOST}%{REQUEST\_URI} \[L,R=301,NE\]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.\*)$ https://%{HTTP\_HOST}%{REQUEST\_URI} \[L,R=301\]
Если на хостинге используется набирающий популярность веб-сервер NGINX, то в нем установить 301 редирект на https помогут следующие правила. Данные настройки необходимо вносить в файлах конфигураций виртуальных доменов. В Linux на основе RPM (CentOS, Red Hat) они обычно находятся в директории /etc/nginx/conf.d/. В Linux - Deb (Ubuntu, Debian) — в директории /etc/nginx/sites-enabled/. Во FreeBSD используется один файл — /usr/local/etc/nginx/nginx.conf. Для применения редиректа нужно перезапустить веб-сервер.
server {
listen 80;
server\_name domain.ru www.domain.ru;
return 301 https://$host$request\_uri;
}
server {
listen 80;
server\_name domain.ru www.domain.ru;
return 301 https://www.$host$request\_uri;
}
Хостинг reg.ru обычно использует панель управления ISPmanager, чтобы в ней поставить 301 редирект на https версию, надо перейти в раздел WWW-домены, выбрать свой сайт и нажать “Изменить”.
В появившихся настройках поставить галочку напротив пункта “Перенаправлять HTTP-запросы в HTTPS”.
Средствами панели управления beget.ru поставить 301-редирект нельзя, сам хостинг управляется на Apache, поэтому перенаправления можно установить с помощью файла htaccess.
Перенаправления ничем не отличается для любых других CMS, в зависимости от веб-сервера ставятся либо в файле htaccess, либо в конфиге NGINX.
В Apache, если сайт хостится на reg.ru, для битрикс-сайтов можно использовать следующее правило:
RewriteCond %{SERVER\_PORT} !^443$
RewriteRule .\* https://%{SERVER\_NAME}%{REQUEST\_URI} \[R,L\]
В этой CMS есть плагин для 301 редиректов - RedirectMap. Он позволяет перенаправить отдельно взятый URL, но никак не все страницы сайта, поэтому единственно правильным решением будет использовать описанные выше способы для веб-серверов Apache или NGINX.
На ВордПресс переадресация абсолютно аналогична пункту выше: есть специализированные плагины для редиректов со страницы на страницу. Но чтобы поставить перенаправление для всего сайта, надо использовать htaccess (если сайт работает на веб-сервере apache). Стандартный htaccess в WP, если изменения не вносились, выглядит следующим образом:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - \[L\]
RewriteCond %{REQUEST\_FILENAME} !-f
RewriteCond %{REQUEST\_FILENAME} !-d
RewriteRule . /index.php \[L\]
# END WordPress
Для установки переадресации под RewriteEngine On надо добавить подходящие для ваших условий строки, написанные в разделе “Редирект на https через htaccess”.
— Точно ответить на данный вопрос нельзя. Зависит от количества страниц у сайта и скорости их переиндексации. В Яндексе после проведения всех необходимых процедур полная переклейка на https может произойти в срок от 1 недели до 1 месяца. В поисковой системе Google все сложнее, единственное воздействие на ускорение перехода на https - это 301-редирект и скорость обхода оставляет желать лучшего. Поэтому смена главного зеркала может затянуться до 3 месяцев (а в некоторых случаях итого больше).
— Это вполне может произойти, потому что переезд на https можно приравнять к смене домена. В итоге, весь ссылочный вес передается не сразу, поведенческие факторы, вполне вероятно, не сохраняются и начинают накапливаться заново. Потому, что бы не заявляли представители поисковых систем, просадка позиций на срок от 1 месяца до полугода вполне может произойти, период варьируется в зависимости от точности выполнения всех вышеуказанных рекомендаций. Тут только можно пожелать набраться терпения и ждать восстановления ранжирования запросов до прежнего уровня и их дальнейшего роста.
— Все написанное выше про падение позиций запросов актуально и для посещаемости, она может снизиться на величину до 30% на срок от 1 до 6 месяцев, в зависимости от количества страниц сайта.
— Если рассматривать идеальный вариант, то да - следует поменять (в первую очередь, если ссылки есть на крупных, трастовых ресурсах). Следует отметить, что поисковые системы их также переклеивают со временем сами.
Представители Яндекса за последние 3 года опубликовали целых 5 статей по переводу сайта с http на https
Переезд с http на https для Гугл - официальная информация
19.03.2020
Классификация запросов по частотности: высоко-, средне- и низкочастотные. Язык и анализ поисковых запросов по типу, характеристикам, использованию при продвижении сайта в Яндекс и Гугл.
Читать далее06.05.2020
В этой статье вы узнаете как внедрить микроразметку Schema.org на свой сайт. Какие инструменты можно использовать для разметки сайта, а также как проверить размеченный контент на валидность.
Читать далее02.03.2015
Внешняя оптимизация сайта для поисковых систем с гарантией. Уникальные технологии внешней оптимизации.
Читать далее14.02.2022
Если вам интересно узнать как правильно выполнять группировку запросов после сбора СЯ, то прочитайте эту статью. В ней вы узнаете методы распределения продвигаемых запросов, а также узнаете какие инструменты можно использовать для кластеризации.
Читать далее03.12.2019
Как правильно составить договор на SEO продвижение и оптимизацию сайта в поисковых системах? Образец договора на оказание услуг по SEO от компании Intelsib.
Читать далееНажимая кнопку «Отправить», вы соглашаетесь с политикой конфиденциальности
Оставьте заявку На продвижение и получите нашу книгу в подарок
Наш менеджер свяжется с вами в течение часа, уточнит детали и ваши цели. Затем технические специалисты подберут запросы и разработают стратегию продвижения вашего сайта.
В подарок вы получите бумажную версию нашей книги про
Книга одобрена Министерством образования и науки РФ и является официальным пособием в 24 вузах страны, в том числе в нашем родном НГУ.
Нажимая кнопку «Получить предложение», вы соглашаетесь с политикой конфиденциальности
Укажите сайт и контактные данные, наш
Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности