Механизм HSTS относится к внутренней оптимизации, и должен использоваться на всех сайтах.
Что такое HSTS? На что влияет? Как настроить?
Разберемся с вопросами далее.
Механизм HSTS
HSTS напрямую связан с безопасным соединением. Сначала кратко разберемся с темой применения HTTPS.
В целях поисковой оптимизации практически все сайты переведены на HTTPS.
Нет оснований продолжать использовать протокол HTTP.
Yandex, Bing рекомендуют HTTPS.
Google рекомендует HTTPS. Есть заявление от поисковой системы:
example, is important, but of course I can’t expect everyone to go HTTPS. Some people don’t have the resources for that. Some people just don’t want to do it for reasons. I don’t know.
It’s important in general, but if you don’t do it, it’s perfectly fine. If you’re in a competitive niche, then it can give you an edge from Google’s point of view. With the HTTPS ranking boost, it acts more like a tiebreaker. For example, if all quality signals are equal for two results, then the one that is on HTTPS would get or may get the extra boost that is needed to trump the other result.
Сайты на HTTPS, HTTP считаются разными сайтами, поэтому следует использовать 301-ый редирект. Поисковая система Google не дисконтирует ссылочный вес.
Как настроить 301-ый редирект? Рекомендованный материал в блоге MegaIndex на тему HTTPS по ссылке далее — Зачем и как перевести сайт на HTTPS бесплатно и без ошибок?
Но использование только 301-го редиректа является недостаточным. Еще следует использовать HSTS.
Что такое HSTS и зачем надо? HSTS является технологией, которая ограничивает открытие сайта из браузера только по протоколу HTTPS.
Название HSTS происходит от HTTP Strict Transport Security.
Какие браузеры поддерживают HSTS? Любой популярный браузер.
Ссылка на список — HSTS в браузерах.
HSTS в SEO
Как HSTS влияет на SEO? При переходе на HTTPS на большинстве сайтов не проводится важная работа по переработке контента.
В лучшем случае на сервере используется правило постраничного 301-го редиректа.
Схема выглядит так:
Но 301-ый редирект решает лишь часть проблематики.
Появляются лишние запросы между сервером и сайтом. Лишние запросы приводят к снижению скорости загрузки сайта. HSTS максимально минимизирует количество запросов между клиентом и сервером.
HSTS также решает проблему смешанного контента. Что такое смешанный контент на странице? Смешанным контентом считаются вставки javascript и iframe, ссылки на которые встроены в страницу с указанием протокола HTTP. Например:
- Страница открывается по безопасному соединению;
- На странице встроена библиотека javascript или код iframe, который подключается по протоколу HTTP.
Плеер YouTube встраивается через iframe.
В браузере предусмотрено предупреждение, которое выводится при наличии mixed content.
301-ый редирект не решает проблематику.
Форсированное защищенное соединение HSTS решает все приведенные выше проблемы, поскольку вставки открываются по HTTPS даже в случае намеренного запроса по HTTP.
Еще решается проблема с атакой на сайт, известной по названию SSL stripping attacks.
Схема запросов и ответов при HSTS другая.
Процесс оптимизирован:
Браузер использует 307 редирект. Никакого негативного влияния на поисковую оптимизацию нет, поскольку краулер поисковой системы получает код ответа 301 от сервера.
Для пущей уверенности, разъяснение Google:
Хотя HSTS действует как переадресация, это не истинный редирект, поскольку его могут видеть только браузеры. Для Googlebot он ничего не означает.
Когда Googlebot будет сканировать HTTP-страницу с HSTS, то он не будет переадресован на HTTPS-версию, как это было бы в случае браузера.
Мюллер также отметил, что HSTS не поможет Google найти новые ссылки. Поэтому при переводе сайта с HTTP на HTTPS нужно настроить 301 редиректы.
HSTS – это вспомогательный инструмент, который должен использоваться в связке с истинными редиректами, чтобы владелец сайта мог быть уверен в том, что пользователи попадут на защищённые страницы.
Механизм предоставляет ряд преимуществ. Использование не требует никаких затрат. Все бесплатно.
Как внедрить?
HSTS: как подключить
Самый простой способ заключается в создании директивы для сервера в файле .htaccess.
Если не знаете как найти файл, обратитесь в поддержку хостинговой компании, попросите активировать HSTS.
Откройте файл .htaccess, пропишите строку:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
В результате все страницы сайта будут запрашиваться браузером через HTTPS.
Параметры следующие:
- max-age=[значение] задает время, в секундах, которое указывает браузеру на период, в течение которого сайт доступен только по протоколу HTTPS;
- includeSubDomains является опциональным параметром, указывающим на применения правила к поддоменам.
Обязательно ли добавлять сайт в список hstspreload? Нет. Добавление ресурса в список под названием HSTS preload указывает браузерам, что при первом обращении страница сайта должна быть открыта по HTTPS. Больше никаких значимых плюсов от размещения в списке для большинства сайтов нет.
HSTS: как проверить
Как проверить работает ли HSTS? Есть бесплатный сервис для проверки.
Ссылка на инструмент — Проверка HSTS.
Проверить сайт на различные ошибки позволяет инструмент от MegaIndex, применяя который можно провести бесплатный аудит по различным параметрам.
Ссылка на сервис — Аудит сайта.
Пример отчета далее:
Выводы
При переезде сайта на HTTPS важно решить проблемы с контентом, который был опубликован ранее.
HTTP Strict Transport Security (HSTS) является механизмом безопасности, который позволяет сайту объявить себя доступным только по безопасным соединениям.
301-ый редирект решает не все задачи. Проблематика следующая:
- Расходуется лишний сетевой трафик. Появляется лишняя нагрузка на сервер;
- Снижается скорость загрузки сайта.
Что делать? Использовать механизм HSTS. В результате сайт в браузере будет загружаться только по HTTPS, и быстрее.
На сервере следует использовать 301-ый редирект. В результате будет сохранено влияние внешнего ссылочного профиля на ранжирование.
Остались вопросы по теме? Знали ли про HSTS? Напишите в комментариях.
Обсуждение
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
"Какие браузеры поддерживают HSTS? Любой популярный браузер"
А кто знает, сколько пользователей в России именно старых браузеров??? Если Вы не знаете посмотрите в Метрике и удивитесь, их очень много!
У нас сайт в котором применили вывод товаров на флексбоксе, так попалась клиентка, у которой была проблема с отображением сайта, посмотрели, а она была с древнего IE. Потом еще посмотрели, оказывается у нас много посетителей с мобильников: Android Browser (4-10 версий), Firefox Mobile (25,66,67,68,77,78,79,80,81) - и по ним 40% отказов. Пришлось подпилить, замечу, под старые браузеры!
В целом у нас сейчас отказов 5-15 % отказов.
Я всегда за все новое, если это новое продумано со всех сторон.
полёт нормальный
https://world-game-news.ru
https://world-avto.fun/
https://gold-musicpro.ru
https://recepty.fun/
Подробно также о внедрении описано здесь: https://blog.sibirix.ru/2019/03/28/hsts/
На своем сайте (https://factum-info.net) мне сразу внедрить не получилось, сервис hstspreload.org выдавал ошибку:
Warning: Unnecessary HSTS header over HTTP
The HTTP page at http://factum-info.net sends an HSTS header. This has no effect over HTTP, and should be removed.
Погуглив, решение нашел на форуме https://forums.cpanel.net/threads/enable-hsts-on-cpanel-whm-interface.660685/, где советовали прописать такой код:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
Техподдержка моего хостинга мне посоветовала внедрить следующий код в .htaccess:
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
Сейчас все работает. Может кому пригодится эта инфа.
Заранее благодарю!
# ===== Редирект с http на https: ======
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
define( 'FORCE_SSL_ADMIN', true ); define( 'FORCE_SSL_LOGIN', true );
$_SERVER['HTTPS'] = 'on';
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) $_SERVER['HTTPS']='on';
Веб-сервер должен сжимать файлы в формат
GZIP, используя собственные процедуры или
сторонние модули. Это позволяет ускорить
загрузку ресурсов, необходимых для
отображения веб-сайта. - рекомендация Аспро.
Уточните, пожалуйста, речь идёт о хедерах HSTS?
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; - вопрос Хостера.
Пока ответ не получен
Для справки в данный момент .htacces подобных записей не имеем.
Возможно сделают и тогда смогу отписать о внедрении.
Но не думаю, что хостер стал бы писать что-то подобное, если бы это опасно для моего сайта.
https://mosakril.ru
https://acryl.spb.ru/
Посмотрим!
Все норм!
Все также норм!
stroygreen.ru
По возможности дополните статью надо ли добавлять после успешной проверки HSTS свой сайт в список hstspreload.org
Всё заработало!!!
Ура! Случилось чудо! Мой сайт защищён! СMS WordPress, может кому-то будет полезно. Спасибо всем, кто делится инфой! И всех с Днём Сеошников (вчера как раз был)!
Как проверить достоверность положительного влияния данной директивы для SEO?
HSTS проверил через чекер, который в статье! Всё ок.
Вот сайты:
https://seo-dvizh.ru/
https://fortis174.ru/
https://mks-group.ru/