Взяли те же 264 домена компаний Екатеринбурга, на которых считали поломки индексации, и посмотрели на другую сторону: как у них устроено шифрование. Замер 19 сентября 2026 года, живых главных — 196.
Девять из 196 не отдают защищённое соединение вообще
Первое, что выяснилось: шифрование есть не у всех. У девяти адресов запрос по защищённому протоколу не проходит:
| Что случилось | Сколько |
|---|---|
| сертификат не проходит проверку | 3 |
| соединение не установилось | 3 |
| ответа не дождались | 2 |
| неверная версия протокола | 1 |
Восемь из этих девяти прекрасно живут по незащищённому адресу — человек попадёт на рабочую страницу и увидит в адресной строке пометку «Не защищено». Девятый не отвечает никак.
Дальше речь про оставшиеся 187.
Заголовок Strict-Transport-Security: нашёлся у 35 из 187
Это меньше пятой части. Разберём, что он делает, потому что цифра сама по себе ничего не значит.
Человек набирает адрес без указания протокола. Браузер по умолчанию идёт по незащищённому, получает перенаправление и уходит на защищённый. Всё это занимает доли секунды, но первый запрос ушёл открытым текстом, и подменить ответ в этот момент можно. HSTS убирает этот шаг: браузер, однажды увидев заголовок, следующие max-age секунд сразу идёт по защищённому адресу.
Отсюда и главная оговорка: заголовок начинает работать только со второго захода. Первый всё равно уходит открытым.
Длительность: год у большинства, пять минут у одного
| max-age | Сколько сайтов |
|---|---|
| год (31536000) | 26 |
| больше года | 3 |
| от полугода до года | 1 |
| от месяца до полугода | 2 |
| меньше месяца | 3 |
Самое короткое значение — 300 секунд. Через пять минут после ухода посетителя защита испаряется, и следующий его заход снова начнётся с открытого запроса. Это не ошибка настройки: так делают, когда осторожно пробуют. Но пробу надо доводить до года, иначе смысла нет.
Область действия сужена почти у всех: includeSubDomains объявили 10 из 35.
Без него поддомены под защиту не попадают, и если у компании есть
shop. или lk., они остаются с тем же открытым первым запросом.
Восемь объявили преднагрузку, в списке нет ни одного
Отдельный уровень — список предзагрузки. Домены из него зашиты прямо в
браузер, и тогда даже самый первый заход идёт по защищённому протоколу.
Попасть туда можно только заявкой на hstspreload.org, а флаг preload в
заголовке — условие, а не заявка.
Восемь сайтов флаг поставили. Ни одного из них в списке нет.
Проверяли двумя способами, потому что первый оказался ненадёжным. Ответ API
hstspreload.org на все восемь — «неизвестен», но контрольный запрос про
google.com дал тот же ответ, хотя google.com в браузере предзагружен. Тогда
скачали сам файл transport_security_state_static.json из исходников
Chromium — 94 778 записей — и проверили по нему. Контроль: github.com в
файле есть, google.com нет (домены Google зашиты в код отдельно). Все восемь
наших — отсутствуют.
Заодно видно, почему заявки бы и не прошли: у трёх из восьми не выполнены
формальные условия списка — нет includeSubDomains, а у одного вдобавок
незащищённый адрес не перенаправляет на защищённый.
Смешанное содержимое: сначала 18, после уточнения 8
Здесь замер поймал на ошибке нас самих, и это важнее самой цифры.
Первая проверка искала в коде главной любой тег с адресом на незащищённом
протоколе и насчитала 18 сайтов. Прежде чем записывать это в результат, мы
посмотрели, что именно нашлось, — и половина оказалась ложной. Под правило
попадали <link rel="canonical"> и rel="alternate": это не загружаемые
ресурсы, а ссылки, браузер по ним ничего не качает и ничего не блокирует.
После уточнения правила — только стили, скрипты, кадры, картинки и шрифты — осталось восемь:
| Что подгружается открыто | Сколько сайтов |
|---|---|
| скрипт, стиль или кадр (браузер блокирует) | 4 |
| картинка или шрифт (браузер пропускает с замечанием) | 6 |
| форма отправляется на открытый адрес | 1 |
Что именно находится: шрифты Google, подключённые по старому адресу; скрипты счётчиков; карта одного из картографических сервисов. Один сайт грузит скрипт совместимости со старым браузером с хостинга, который Google закрыл в 2016 году, — адрес до сих пор отвечает кодом 404.
Разница между активным и пассивным — не про степень вины, а про то, что увидит посетитель. Заблокированный стиль означает страницу без оформления; пропущенная картинка — только предупреждение в консоли.
Десять сайтов открываются по обоим адресам
Незащищённый адрес отвечает кодом 200 и никуда не ведёт у десяти сайтов из 187. Это ровно тот же дефект, что мы уже считали в разборе индексации: одна страница доступна по двум адресам, поисковик выбирает основной сам. У девяти из этих десяти прошлый замер показал две-три несклеенные версии главной.
Заголовок HSTS тут не спасает: браузер его запомнит, а робот поисковика всё равно знает оба адреса.
Чего этот замер не говорит
Смотрели только главную и только то, что видно снаружи в одном запросе. Внутренние страницы могут грузить открытые ресурсы там, где главная чиста. Про качество сертификата — кем выдан, когда истекает — не спрашивали вовсе. И выборка городская: 187 главных страниц Екатеринбурга, а не рунет.
Коротко
- Защищённое соединение не работает у 9 адресов из 196; восемь из них открываются по незащищённому и выглядят рабочими.
- Заголовок HSTS стоит у 35 из 187, год выдержки — у 26, область расширена на поддомены только у 10.
- Преднагрузку объявили восемь, в списке Chromium нет ни одного.
- Смешанное содержимое нашлось у восьми; первая проверка называла 18, и половину пришлось снять как ложное срабатывание.
- Десять сайтов открываются по обоим протоколам без перенаправления — это дубль главной, а не вопрос безопасности.
