Перевод сайта на протокол HTTPS
Зачем вообще менять протокол?
В первую очередь, для безопасности!
Также, сайты с защищенным протоколом HTTPS лучше ранжируются, а интернет-провайдер не может вмешаться в работу ресурса, например, добавить рекламные блоки или поменять рекламу.
Конкурентные преимущества протокола https:
При работе по протоколу http данные передаются в открытом виде, а это небезопасно, т.к. между пользователем и сервером есть посредники (роутеры, провайдеры...), через которых данные можно перехватить. Протокол https, в свою очередь, дает защиту соединения между клиентом и сервером, при помощи шифрования.
Для Яндекс и Google наличие SSL-сертификата является фактором ранжирования.
C 2017 года Google Chrome отмечает сайты, работающие по протоколу http, как «незащищенные», что безусловно сказывается на посещаемости.
«По наблюдениям Яндекса, трафик при переходе на HTTPS не теряется.»
Некоторые сомневаются в переходе из-за того, что поисковики делают разницу между ссылками с протоколами https и http. Логично, что терять позиции сайта при переходе не хочется.
С одной стороны, Яндекс и Google не дают гарантий на сохранение позиций и трафика. С другой стороны, отвечая на популярные вопросы о переходе, Яндекс отметил, что по их наблюдениям трафик не теряется. Опыт же наших пользователей демонстрирует, что позиции после перехода только растут, главное, следовать инструкции.
Как перевести сайт на 1С Битрикс с http на https протокол:
Прежде всего, нужно обратиться на хостинг, купить SSL-сертификат и установить его. Этот пункт не расписан подробно, т.к. им занимаются администраторы сервера, на котором находится ваш сайт.
- Пункт первый после покупки и установки SSL-сертификата — заменить все ссылки с http на относительные или абсолютные ссылки c протоколом https.
Например:
/company/ — относительная ссылка
http://mywebsite.ru/company/ — абсолютная ссылка с протоколом http
https://mywebsite.ru/company/ — абсолютная ссылка с протоколом https
//mywebsite.ru/company/ — абсолютная ссылка с относительным протоколом
Также необходимо просмотреть все тексты с абсолютными ссылками и сделать их относительными. Ещё лучше — просканировать программно.
- Далее, везде, где есть ссылки на ваш сайт, поменяйте в ссылках протокол на https.
- В настройках карты сайта поменяйте протокол соединения, и заново сгенерируйте файл sitemap.xml.
- Настройка вебмастера Яндекса и Google.
Добавьте новый ресурс —
https://mywebsite.ru
В прежнем Яндекс.Вебмастере (
http://mywebsite.ru/) на странице Индексирование-Переезд сайта укажите «Добавить HTTPS». Обычно переезд занимает 3-4 недели.
Передаем в вебмастера ссылку на sitemap.xml и обновляем robots.txt.
Также вам нужно перенести всю информацию с прежнего Яндекс.Вебмастера: геотаргетинг, товары, справочник организаций и т.д
Ошибки сканирования удобнее смотреть через вебмастер google.
- Проверьте формы обратной связи.
Иногда аяксовые запросы указывают абсолютные ссылки, значит будет появляться ошибка отправки данных, не будут работать формы.
- Проверьте выгрузки на торговые площадки, такие как Яндекс.Маркет.
В кастомных выгрузках протокол может быть жестко прописан.
Все файлы выгрузки нужно сгенерировать заново.
- В настройках интеграции с 1С укажите ссылку с https.
При стандартной интеграции с 1С, достаточно заменить протокол http на https в ссылке на сайт, которая указана в 1С в настройке интеграции с сайтом.
Ссылка должна выглядеть так:
https://site.ru/bitrix/admin/1c_exchange.php
Внимание: версия платформы 1С должна быть не ниже 8.3.4, так как начиная с нее в 1с добавлена поддержка протокола https.
(На нескольких сайтах была проблема интеграции с 1С именно по протоколу https, модуль дополнение от битрикса для 1С был модифицирован и устаревшим.
Решили модуль не переписывать, а проводить интеграцию с 1С по протоколу http.
Для этого в коде редиректа установили ограничение для скрипта, принимающего запросы от 1С:
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC]
RewriteRule ^
https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] )
- Сделайте 301 редирект на https в .htaccess
Теперь не нужно ждать пока пропишется главное зеркало, сразу можно делать 301 редирект с http на https.
Используйте один из вариантов:
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$
https://mysite.ru/$1 [R=301,L]
или
RewriteCond %{HTTP:PORT} !^443$
RewriteRule ^(.*)$
https://%{HTTP_HOST}%{REQUEST_URI} [L,R]
или
RewriteCond %{HTTP_HOST} ^mysite\.ru$ [NC]
RewriteRule ^(.*)$
https://www.mysite.ru/$1 [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^
https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Критерий успешности перехода на https:
- сайт просканирован, для всех страниц код ответа сервера 200
- вебмастера Яндекса и Google настроены, в них передан sitemap.xml с новыми ссылками и обновлен robots.txt
- в robots.txt прописан HOST с https и Sitemap с https
- в экспортируемых файлах ссылки с https
- интеграция с 1С проходит без ошибок