Skip to content

Методология Health Score — v2.0

Кратко. Рейтинг Health Score 0–100 (v2.0) складывается из шести открытых категорий на 120 «сырых» баллов, нормализованных к 0–100: 30 баллов security HTTP-заголовки, 25 баллов SSL/TLS, 25 баллов производительность (время ответа + размер + редиректы), 20 баллов best practices (HTTPS-only, валидный статус, content-type), 10 баллов флаги cookie (HttpOnly/Secure/SameSite) и 10 баллов сила CSP-политики (тот же грейдер, что в отдельном инструменте /csp). Каждый вес зафиксирован в api/health-score.php и публикуется здесь дословно.
История версий. v2.0 (2026-06-02) — добавлены категории Cookies (10 баллов) и качество CSP (10 баллов); итоговое число 0–100 теперь нормализация 120 «сырых» баллов, поэтому оценки немного сдвинулись относительно v1.0. v1.0 (2026-05-05) — исходная формула из четырёх категорий (security headers, SSL/TLS, производительность, best practices).

1. Security Headers — 30 pts

ЗаголовокВес
Strict-Transport-Security (HSTS)6
Content-Security-Policy6
X-Content-Type-Options4
X-Frame-Options4
Referrer-Policy3
Permissions-Policy3
X-XSS-Protection2
Cross-Origin-Opener-Policy2

Веса соответствуют приоритетам OWASP Secure Headers Project. HSTS и CSP несут максимальный вес, потому что закрывают самые крупные классы атак (downgrade + injection). Заголовок отсутствует → 0 баллов; присутствует (любое непустое значение) → полный вес.

2. SSL/TLS — 25 pts

  • 10 pts — валидный сертификат (цепочка доверена, не отозван)
  • 5 pts — hostname совпадает с CN/SAN
  • 5 pts — истекает через >30 дней (3 если 7–30, 0 если <7)
  • 5 pts — установлено TLS 1.2 или TLS 1.3

Нет HTTPS → 0 баллов (вся 25-балльная категория потеряна). Опорный стандарт: Mozilla Server-Side TLS Guidelines.

3. Performance — 25 pts

  • 15 pts — TTFB < 800 ms (полные); 10 баллов 800–1500 ms; 5 баллов 1500–3000 ms; 0 если >3000 ms
  • 5 pts — ответ < 500 KB (3 балла 500 KB–2 MB; 0 если >2 MB)
  • 5 pts — 0–1 редирект (3 балла если 2; 0 если 3+)

Пороги TTFB совпадают с границами "Good"/"Needs Improvement"/"Poor" Google Core Web Vitals. Penalties по размеру и редиректам — оценочные, основаны на том, что стабильно ухудшает реальный пользовательский опыт в наших RUM-данных.

4. Best Practices — 20 pts

  • 8 pts — итоговый URL — HTTPS
  • 6 pts — статус ответа 200 или 301/302 на 200
  • 3 pts — установлен Content-Type
  • 3 pts — ответ сжат gzip / br

5. Cookies — 10 pts (v2.0)

  • 4 pts — все Set-Cookie с HttpOnly (частичный зачёт пропорционально)
  • 4 pts — все Set-Cookie с Secure
  • 2 pts — все Set-Cookie с SameSite

Сайт, который не ставит cookie на первом ответе, получает все 10 баллов — нет cookie, нет риска трекинга/PII. Та же эвристика флагов, что в отдельном инструменте Cookie Security и его встраиваемом бейдже.

6. CSP — 10 pts (v2.0)

  • 10 / 8 / 6 / 4 / 2 pts — CSP-политика с оценкой A / B / C / D / F
  • 0 pts — заголовок Content-Security-Policy отсутствует

Буквенная оценка берётся из того же грейдера, что и отдельный CSP Analyzer (src/csp-analyze.php) — покрытие директив, штрафы за unsafe-inline/unsafe-eval, wildcard-источники. Report-only политика оценивается, но помечается.

Нормализация

Шесть категорий дают 120 «сырых» баллов. Публикуемый рейтинг 0–100 — это round(raw / 120 × 100) с зажимом в 0–100. Внутренние веса каждой категории остаются как в v1.0, а две новые категории добавляются сверху.

Буквенная оценка

БаллыОценка
90–100A+
80–89A
70–79B
60–69C
50–59D
0–49F

Источники

Версионирование

v1.0 — опубликовано 2026-05-05. Зеркалит api/health-score.php на коммит fab3b25 (Wave 1 SEO-аудита). Будущие изменения весов поднимут версию и добавят delta-блок снизу страницы — исторические цитаты останутся воспроизводимыми.

Запустить проверку →

Интерактивный калькулятор

Двигайте слайдеры — формула пересчитывается мгновенно.

--
A


  
Запустить на моём сайте →