Что это
Security-заголовки — это HTTP-заголовки ответа сервера, которые браузер получает вместе со страницей и использует для ограничения потенциально опасного поведения. Ключевые из них: Strict-Transport-Security (HSTS) принудительно переводит соединение на HTTPS, X-Frame-Options запрещает встраивание страницы в <iframe> на сторонних сайтах, Content-Security-Policy ограничивает источники загружаемых ресурсов. Заголовки живут не в HTML, а на уровне конфигурации веб-сервера или CDN.
Почему это важно для SEO
Google с 2014 года учитывает HTTPS как фактор ранжирования. HSTS — следующий уровень: он устраняет редиректную цепочку http → https, которая замедляет первый запрос и тратит краулерный бюджет. Без HSTS каждый бот делает лишний HTTP-запрос, получает 301, идёт на HTTPS. При глубоком сайте на 10 000 страниц это тысячи лишних запросов за обход.
Для Яндекса security-заголовки влияют на оценку безопасности сайта в Я.Вебмастере (раздел "Безопасность и нарушения"). Сайты с кликджекинг-уязвимостью (отсутствие X-Frame-Options) могут использоваться для фишинга, что ведёт к пессимизации или метке "Сайт может угрожать безопасности". Это прямой удар по ИКС и CTR в выдаче. Google аналогично помечает скомпрометированные сайты в Search Console в разделе "Проблемы безопасности".
Как проверить вручную
- curl из терминала — самый быстрый способ увидеть реальные заголовки:
``bash curl -I https://example.ru ` Ищи строки Strict-Transport-Security, X-Frame-Options, Content-Security-Policy, X-Content-Type-Options`.
- Browser DevTools — открой вкладку Network, перезагрузи страницу, кликни на первый запрос (document), вкладка Headers → Response Headers. Видишь список всех заголовков ответа.
- Онлайн-сканеры — используй securityheaders.com: вводишь URL, получаешь оценку A–F с детализацией по каждому заголовку. Отдельно проверь через Screaming Frog: Custom → Search → Response Headers, добавь колонку для
strict-transport-securityи краули весь сайт — так найдёшь страницы без нужных заголовков.
- PageSpeed Insights / Lighthouse — в разделе "Best Practices" Lighthouse фиксирует отсутствие критичных заголовков и снижает балл.
Как исправить
Nginx
# В блоке server {}
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;Apache (.htaccess)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"WordPress
Плагин Headers Security Advanced & HSTS WP или вручную в functions.php:
add_action('send_headers', function() {
header('Strict-Transport-Security: max-age=31536000; includeSubDomains; preload');
header('X-Frame-Options: SAMEORIGIN');
header('X-Content-Type-Options: nosniff');
});Tilda
Tilda не даёт прямого доступа к заголовкам сервера. Решение — проксировать сайт через Cloudflare и настроить заголовки в разделе Rules → Transform Rules → Modify Response Header.
1C-Bitrix
В .htaccess в корне сайта добавь блок Apache выше. Либо через настройки веб-сервера на уровне хостинга — у большинства провайдеров (Таймвеб, Рег.ру) есть раздел "HTTP-заголовки" в панели управления.
Webflow
Аналогично Tilda — только через Cloudflare или собственный reverse proxy, так как Webflow не предоставляет доступ к конфигурации сервера.
Типичные ошибки
- HSTS без `includeSubDomains` — если поддомены работают без HTTPS, браузер заблокирует их после первого визита на основной домен. Проверь все поддомены перед включением директивы.
- `X-Frame-Options: DENY` на сайтах с виджетами — если ты сам встраиваешь калькуляторы или формы через iframe в другие свои страницы,
DENYих сломает. ИспользуйSAMEORIGIN. - Дублирование заголовков — если заголовок прописан и в
.htaccess, и в коде приложения, браузер получит два значения. Nginx/Apache в таком случае могут вести себя непредсказуемо. Проверяй черезcurl -I. - Добавление HSTS до переезда на HTTPS — включать
Strict-Transport-Securityна HTTP-сайте бессмысленно и опасно: браузер игнорирует заголовок, но если позже HTTP-страница окажется недоступна, пользователи не смогут зайти. - Игнорирование `preload` — без подачи домена в hstspreload.org HSTS работает только после первого визита. До него первый HTTP-запрос всё равно уходит. Preload-список браузера решает эту проблему, но требует
max-ageне менее 31536000.
Влияние на разные типы сайтов
Для интернет-магазинов на Битрикс или кастомных решениях security-заголовки критичны вдвойне: страницы корзины и оплаты без HSTS уязвимы для атак типа SSL-stripping, а отсутствие X-Frame-Options открывает возможность кликджекинга на страницах с кнопкой "Купить". Яндекс и Google при обнаружении вредоносного кода на таких сайтах выдают предупреждение в выдаче — это обнуляет CTR моментально.
Контентные сайты и SaaS страдают иначе: без X-Content-Type-Options: nosniff браузер может интерпретировать загруженный файл не как заявленный тип, что открывает XSS-уязвимости через UGC-контент. Лендинги на Tilda или Webflow технически ограничены в настройке заголовков, поэтому Cloudflare становится обязательным инструментом, а не опциональным.