# enterno.io — Полная документация
> Enterno.io — бесплатная онлайн-платформа для мониторинга, анализа и диагностики сайтов.
> Проверка HTTP-заголовков, DNS-записей, SSL/TLS-сертификатов, ping и портов,
> IP-геолокация, анализ PageSpeed, массовая проверка и комплексная оценка здоровья сайта.
## Инструменты
### Проверка HTTP-заголовков
- URL: https://enterno.io/
- API: https://enterno.io/api/check.php
Отправляет HTTP-запросы к любому URL и показывает все заголовки ответа. Поддерживает методы GET, HEAD, POST. Показывает цепочки редиректов, время ответа, анализзаголовков безопасности. Доступны кастомные заголовки и пресеты User-Agent.
### DNS Lookup
- URL: https://enterno.io/dns
- API: https://enterno.io/api/dns.php
Запрос DNS-записей для любого домена. Поддерживает типы A, AAAA, MX, NS, TXT, CNAME, SOA. Показывает TTL, приоритет (для MX) и полные данные SOA.
### SSL/TLS Checker
- URL: https://enterno.io/ssl
- API: https://enterno.io/api/ssl.php
Проверка SSL/TLS-сертификатов. Показывает данные сертификата (CN, SAN, издатель, даты), информацию о соединении (протокол, шифр, биты), цепочку сертификатов. Определяетпросроченные, истекающие и несовпадающие сертификаты.
### Ping & порты
- URL: https://enterno.io/ping
- API: https://enterno.io/api/ping.php
ICMP-пинг со статистикой (мин/сред/макс задержка, потери пакетов). TCP-сканирование портов для популярных сервисов (HTTP, HTTPS, SSH, FTP, SMTP, DNS, MySQL, PostgreSQL идр.).
### IP геолокация
- URL: https://enterno.io/ip
- API: https://enterno.io/api/ip.php
Определение географического расположения по IP-адресу или имени хоста. Показывает страну, регион, город, провайдера, организацию, AS, часовой пояс, координаты.Поддерживает IPv4 и IPv6.
### PageSpeed анализ
- URL: https://enterno.io/speed
- API: https://enterno.io/api/pagespeed.php
Анализ производительности страницы через Google PageSpeed Insights API. Показывает Core Web Vitals (LCP, FID, CLS, FCP, TTFB), оценку производительности, возможностиоптимизации и диагностику.
### Health Score
- URL: https://enterno.io/health
- API: https://enterno.io/api/health-score.php
Комплексный анализ здоровья сайта. Оценивает заголовки безопасности, конфигурацию SSL/TLS, производительность и лучшие практики. Выставляет оценку от A+ до F с подробнымирекомендациями.
### WHOIS
- URL: https://enterno.io/whois
Информация о регистрации домена: регистратор, дата создания, дата истечения, NS-серверы, данные о владельце. Поддерживает все основные доменные зоны.
### Безопасность
- URL: https://enterno.io/security
Анализ заголовков безопасности (CSP, HSTS, X-Frame-Options и др.), проверка на типичные уязвимости и ошибки конфигурации. Оценка безопасности и рекомендации поисправлению.
### Traceroute
- URL: https://enterno.io/traceroute
Трассировка сетевого пути от наших серверов до любого хоста. Показывает каждый узел с IP-адресом, именем хоста и временем ответа. Полезно для диагностики сетевыхмаршрутов.
### Расширенная HTTP-проверка
- URL: https://enterno.io/advanced
Глубокий HTTP-анализ с кастомными методами (GET, POST, HEAD, PUT, DELETE), заголовками, телом запроса и настройками редиректов. Показывает сырые данные запроса иответа.
## REST API
- Base URL: https://enterno.io/api/
- Documentation: https://enterno.io/api/docs
- Authentication: API key via X-API-Key header
- Response format: JSON with {status, data, error} structure
- Rate limits: Free 50/day, Starter 500/day, Pro 5000/day, Business 50000/day
### Эндпоинты API
- POST /api/check.php — HTTP header check
- POST /api/dns.php — DNS lookup
- POST /api/ssl.php — SSL/TLS check
- POST /api/ping.php — Ping and port scan
- POST /api/ip.php — IP geolocation
- POST /api/pagespeed.php — PageSpeed analysis
- POST /api/health-score.php — Health score
- GET /api/tips.php?tool={tool} — Check tips/tooltips
## Справочник подсказок
### HTTP Подсказки
**Strict-Transport-Security** (`strict-transport-security`)
HSTS — защищает от атак понижения протокола, заставляя браузер всегда использовать HTTPS.
Fix: Добавьте: Strict-Transport-Security: max-age=31536000; includeSubDomains
**Content-Security-Policy** (`content-security-policy`)
Мощная защита от XSS и инъекций. Определяет разрешённые источники загрузки ресурсов.
Fix: Начните с: Content-Security-Policy: default-src 'self'
**Content-Type** (`content-type`)
Указывает MIME-тип и кодировку ответа. Позволяет браузеру правильно интерпретировать содержимое.
**Cache-Control** (`cache-control`)
Управляет кешированием ответа в браузере и прокси. Ключевой заголовок для производительности.
**Location** (`location`)
Используется при перенаправлении (3xx). Указывает URL, на который нужно перейти.
**X-Frame-Options** (`x-frame-options`)
Защита от clickjacking — запрещает встраивание страницы в iframe на других сайтах.
Fix: Добавьте: X-Frame-Options: SAMEORIGIN
**X-Content-Type-Options** (`x-content-type-options`)
Предотвращает MIME-sniffing. Браузер использует указанный Content-Type без «угадывания».
Fix: Добавьте: X-Content-Type-Options: nosniff
**Content-Encoding** (`content-encoding`)
Указывает алгоритм сжатия (gzip, br, deflate). Уменьшает объём передаваемых данных.
**Set-Cookie** (`set-cookie`)
Устанавливает cookie. Важно проверить флаги безопасности: Secure, HttpOnly, SameSite.
Fix: Добавьте флаги: Secure; HttpOnly; SameSite=Lax
**Content-Length** (`content-length`)
Указывает размер тела ответа в байтах. Помогает клиенту определить прогресс загрузки.
**X-Powered-By** (`x-powered-by`)
Раскрывает технологию серверной части (PHP, ASP.NET и т.д.). Рекомендуется удалить.
Fix: Удалите в PHP: header_remove('X-Powered-By') или expose_php = Off в php.ini
**Referrer-Policy** (`referrer-policy`)
Контролирует передачу информации о URL-источнике при переходах между страницами.
Fix: Рекомендуется: Referrer-Policy: strict-origin-when-cross-origin
**Permissions-Policy** (`permissions-policy`)
Ограничивает доступ к API браузера (камера, микрофон, геолокация и др.).
Fix: Добавьте: Permissions-Policy: camera=(), microphone=(), geolocation=()
**Server** (`server`)
Показывает тип и версию веб-сервера. Рекомендуется скрывать для безопасности.
Fix: Скройте версию: nginx — server_tokens off; Apache — ServerTokens Prod
**ETag** (`etag`)
Идентификатор версии ресурса для условного кеширования. Уменьшает трафик при повторных запросах.
**Vary** (`vary`)
Указывает, от каких заголовков запроса зависит ответ. Важен для корректного кеширования.
**Expires** (`expires`)
Устаревший способ управления кешем. Cache-Control имеет приоритет.
### HEALTH Подсказки
**HSTS (Strict-Transport-Security)** (`hsts`)
Заголовок HSTS заставляет браузер использовать только HTTPS-соединение с сайтом, защищая от атак понижения протокола и перехвата cookie.
Fix: Добавьте заголовок: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
**Валидный сертификат** (`valid-certificate`)
Проверяет, что SSL-сертификат выдан доверенным центром сертификации и не отозван.
Fix: Убедитесь, что используете сертификат от доверенного CA (Let's Encrypt, Comodo и др.)
**Content-Security-Policy** (`csp`)
CSP ограничивает источники загрузки скриптов, стилей и других ресурсов, защищая от XSS-атак и инъекций кода.
Fix: Настройте CSP с минимальными разрешениями: Content-Security-Policy: default-src 'self'; script-src 'self'
**Совпадение имени хоста** (`hostname-match`)
Проверяет, что доменное имя сайта совпадает с именем в SSL-сертификате (CN или SAN).
Fix: Перевыпустите сертификат с правильным доменным именем или добавьте домен в SAN
**X-Content-Type-Options** (`x-content-type-options`)
Предотвращает MIME-sniffing — браузер не будет «угадывать» тип контента, что защищает от XSS через подмену типа файла.
Fix: Добавьте заголовок: X-Content-Type-Options: nosniff
**Срок действия сертификата** (`certificate-expiry`)
Проверяет, что сертификат не просрочен и не истечёт в ближайшие дни.
Fix: Настройте автообновление сертификата через certbot или аналогичный инструмент
**HTTP статус** (`http-status`)
Проверяет, что сервер возвращает корректный HTTP-код ответа (2xx для успешных запросов).
Fix: Убедитесь, что страница доступна и возвращает HTTP 200
**X-Frame-Options** (`x-frame-options`)
Защищает от clickjacking-атак, запрещая встраивание вашего сайта в iframe на чужих доменах.
Fix: Добавьте заголовок: X-Frame-Options: SAMEORIGIN
**Версия TLS** (`tls-version`)
Проверяет, что сервер поддерживает современные версии TLS (1.2+). Старые версии (SSL 3.0, TLS 1.0/1.1) уязвимы.
Fix: Отключите TLS 1.0 и 1.1 в конфигурации веб-сервера, оставьте TLS 1.2 и 1.3
**Редирект на HTTPS** (`https-redirect`)
Проверяет, что HTTP-запросы автоматически перенаправляются на HTTPS с кодом 301.
Fix: Настройте 301-редирект с HTTP на HTTPS в конфигурации веб-сервера
**Referrer-Policy** (`referrer-policy`)
Контролирует, какая информация о URL передаётся при переходе на другой сайт. Защищает конфиденциальные данные в URL.
Fix: Добавьте заголовок: Referrer-Policy: strict-origin-when-cross-origin
**Время ответа** (`response-time`)
Измеряет время от запроса до получения первого байта ответа (TTFB). Быстрый ответ важен для UX и SEO.
Fix: Оптимизируйте серверную часть: включите кеширование, используйте CDN, оптимизируйте запросы к БД
**Отсутствие mixed content** (`no-mixed-content`)
Проверяет, что HTTPS-страница не загружает ресурсы по незащищённому HTTP, что нарушает безопасность.
Fix: Замените все HTTP-ссылки на HTTPS или используйте protocol-relative URL (//)
**Permissions-Policy** (`permissions-policy`)
Позволяет ограничить доступ к API браузера (камера, микрофон, геолокация) для вашего сайта и встроенных iframe.
Fix: Добавьте заголовок: Permissions-Policy: camera=(), microphone=(), geolocation=()
**Сжатие (gzip/brotli)** (`compression`)
Проверяет, включено ли сжатие ответов. Gzip/Brotli уменьшает размер передаваемых данных на 60-80%.
Fix: Включите gzip или brotli в настройках веб-сервера (nginx: gzip on; gzip_types text/html text/css application/javascript)
**HTTP/2** (`http2`)
HTTP/2 значительно ускоряет загрузку благодаря мультиплексированию, сжатию заголовков и server push.
Fix: Включите HTTP/2 в настройках веб-сервера (nginx: listen 443 ssl http2)
**Cross-Origin-Opener-Policy** (`coop`)
COOP изолирует контекст окна, предотвращая атаки через window.opener и обеспечивая process isolation.
Fix: Добавьте заголовок: Cross-Origin-Opener-Policy: same-origin
**Заголовки кеширования** (`caching-headers`)
Проверяет наличие Cache-Control/Expires заголовков для эффективного кеширования ресурсов в браузере.
Fix: Добавьте Cache-Control: public, max-age=31536000 для статических ресурсов
**Content-Type** (`content-type`)
Проверяет, что сервер указывает правильный MIME-тип и кодировку в заголовке Content-Type.
Fix: Убедитесь, что сервер отдаёт: Content-Type: text/html; charset=utf-8
**X-XSS-Protection** (`x-xss-protection`)
Устаревший заголовок для встроенного XSS-фильтра браузера. Современные браузеры используют CSP вместо него.
Fix: Рекомендуется: X-XSS-Protection: 0 (и использовать CSP вместо этого)
**Скрытие информации о сервере** (`server-info-hidden`)
Проверяет, что сервер не раскрывает свою версию и технологии через заголовки Server и X-Powered-By.
Fix: Уберите заголовки Server и X-Powered-By в настройках веб-сервера (nginx: server_tokens off)
### DNS Подсказки
**A-запись** (`a`)
Связывает доменное имя с IPv4-адресом сервера. Основная запись для работы веб-сайта.
**MX-запись** (`mx`)
Указывает почтовый сервер, обрабатывающий email для домена. Приоритет определяет порядок использования.
**NS-запись** (`ns`)
Указывает DNS-серверы, ответственные за зону домена. Критически важна для работы DNS.
**AAAA-запись** (`aaaa`)
Связывает доменное имя с IPv6-адресом. Обеспечивает доступность сайта по протоколу IPv6.
**TXT-запись** (`txt`)
Текстовые данные: SPF (защита от спуфинга email), DKIM, DMARC, верификация домена.
**CNAME-запись** (`cname`)
Алиас — перенаправляет один домен на другой. Нельзя использовать для корневого домена.
**SOA-запись** (`soa`)
Start of Authority — содержит информацию о зоне: первичный NS, email администратора, серийный номер, таймеры.
### SSL Подсказки
**Валидность сертификата** (`valid-certificate`)
Проверяет, что сертификат выдан доверенным CA, не отозван и цепочка доверия корректна.
Fix: Используйте сертификат от Let's Encrypt или другого доверенного CA
**Совпадение домена** (`hostname-match`)
Common Name или SAN сертификата должны совпадать с доменом сайта.
Fix: Перевыпустите сертификат с правильным доменным именем
**Срок действия** (`expiry`)
Истекший сертификат вызывает предупреждение в браузере и потерю доверия пользователей.
Fix: Настройте автоматическое обновление через certbot: certbot renew --dry-run
**Протокол TLS** (`protocol`)
TLS 1.2 и 1.3 считаются безопасными. Старые версии уязвимы к атакам (POODLE, BEAST).
Fix: Включите TLS 1.2/1.3, отключите SSL 3.0, TLS 1.0 и 1.1
**Набор шифров** (`cipher`)
Определяет алгоритмы шифрования. Слабые шифры (RC4, DES, 3DES) небезопасны.
Fix: Используйте рекомендованные Mozilla конфигурации: ssl-config.mozilla.org
**Цепочка сертификатов** (`chain`)
Полная цепочка от leaf до root CA должна быть установлена на сервере.
Fix: Убедитесь, что промежуточные сертификаты установлены: ssllabs.com/ssltest
**Subject Alternative Names** (`san`)
Список доменов, для которых действует сертификат. Wildcard (*.domain.com) покрывает поддомены.
### PING Подсказки
**Что такое время отклика** (`rtt`)
Ping RTT — время прохождения пакета до сервера и обратно. Нормальное значение: до 100 мс в пределах региона.
**Хост недоступен (100% потерь)** (`unreachable`)
Сервер не отвечает на ICMP. Причины: firewall блокирует ping, сервер выключен, проблема маршрутизации.
Fix: Проверьте, не блокирует ли firewall ICMP. Используйте TCP-мониторинг как альтернативу.
**Потеря пакетов** (`packet_loss`)
Потеря >1% пакетов сигнализирует о нестабильности соединения. Это влияет на VoIP, стриминг и онлайн-игры.
**Высокий ping (>200 мс)** (`high_latency`)
Высокая задержка — признак удалённости сервера, перегрузки сети или сложной маршрутизации через несколько хопов.
Fix: Рассмотрите CDN или выбор датацентра ближе к аудитории.
### IP Подсказки
**IP в чёрном списке** (`blacklist`)
Если IP в спам-листах (Spamhaus, SURBL), ваши письма попадают в спам, а трафик может блокироваться.
Fix: Проверьте репутацию через MXToolbox. Подайте запрос на удаление из блэклиста.
**PTR-запись (rDNS)** (`ptr_record`)
Обратная DNS-запись важна для почтовых серверов. Её отсутствие снижает доставляемость писем.
**Геолокация IP** (`geolocation`)
IP-адрес определяет физическое расположение сервера. GeoIP-базы могут иметь погрешность — реальное положение может отличаться на 50–200 км.
**Shared vs Dedicated IP** (`shared_ip`)
На shared-хостинге один IP используется тысячами сайтов. Проблемы соседей могут влиять на вашу репутацию.
Fix: Для серьёзных проектов рекомендуется выделенный IP.
### SPEED Подсказки
**Медленная загрузка (>3 сек)** (`slow_load`)
Время загрузки >3 секунд увеличивает отказы на 32% (Google). Критично для конверсии и позиций в поиске.
Fix: Сожмите изображения, включите кэширование, используйте CDN.
**TTFB > 600 мс** (`ttfb`)
Time To First Byte >600 мс — медленный сервер, тяжёлые SQL-запросы или отсутствие серверного кэша.
Fix: Включите Redis/Memcached, оптимизируйте SQL-запросы.
**Core Web Vitals** (`core_vitals`)
Google учитывает LCP, INP и CLS в ранжировании. LCP <2.5 сек, CLS <0.1 — целевые значения для хорошего опыта.
**Большой вес страницы (>2 МБ)** (`page_weight`)
Тяжёлые страницы медленно загружаются на мобильных с медленным интернетом.
Fix: Используйте WebP/AVIF, откладывайте загрузку некритических JS.
### SPAM Подсказки
**IP в критических блэклистах** (`listed_critical`)
Ваш IP найден в Spamhaus SBL, XBL или PBL — это серьёзные блэклисты, которые используют крупные почтовые провайдеры. Письма будут блокироваться.
Fix: Немедленно проверьте причину и подайте запрос на удаление через сайт Spamhaus.
**Отсутствует PTR-запись** (`rdns_missing`)
Почтовые серверы часто отклоняют письма с IP без обратной DNS-записи (PTR/rDNS).
Fix: Добавьте PTR-запись у вашего провайдера, указывающую на hostname сервера.
**IP в дополнительных блэклистах** (`listed_warning`)
Ваш IP найден в менее критичных базах данных. Влияние на доставку писем умеренное, но требует внимания.
Fix: Подайте запрос на удаление в соответствующий блэклист.
**IP чист** (`clean`)
IP-адрес не найден в проверяемых DNSBL. Это означает хорошую репутацию для отправки писем.
### HEADERS Подсказки
**Отсутствует HSTS** (`no_hsts`)
Без заголовка Strict-Transport-Security браузеры не принудительно используют HTTPS. Это риск SSL-stripping атак.
Fix: Добавьте: Strict-Transport-Security: max-age=31536000; includeSubDomains
**Длинная цепочка редиректов** (`redirect_chain`)
Каждый дополнительный редирект добавляет 100–300 мс к загрузке страницы.
Fix: Сократите цепочку редиректов до 1 перехода. Прямо с HTTP на HTTPS на финальный URL.
**Отсутствует Content-Security-Policy** (`no_csp`)
CSP защищает от XSS-атак, указывая разрешённые источники контента.
Fix: Настройте CSP заголовок под ваш сайт. Начните с режима report-only для отладки.
**Нет управления кэшем** (`no_cache`)
Без Cache-Control браузеры и CDN могут кэшировать ресурсы непредсказуемо.
Fix: Установите Cache-Control: max-age=3600 для статики, no-store для динамики.
### TRACEROUTE Подсказки
**Высокая задержка на хопе** (`high_latency`)
Резкий рост RTT на конкретном узле указывает на перегруженный канал или географически удалённый датацентр.
Fix: Проверьте географическое расположение проблемного узла через базу GeoIP.
**Много хопов (>15)** (`high_hops`)
Большое количество узлов в маршруте увеличивает задержку и риск потери пакетов на каком-либо участке.
Fix: Рассмотрите использование CDN для сокращения сетевого пути до пользователей.
**Таймаут на промежуточном узле** (`timeout_hop`)
Звёздочки (*) означают, что узел не отвечает на ICMP. Это нормально для firewall-защищённых роутеров.
**Асимметричный маршрут** (`asymmetric`)
Путь туда и обратно может проходить через разные узлы. Это нормально для интернет-маршрутизации.
### WHOIS Подсказки
**Домен истекает менее чем через 30 дней** (`expiring_soon`)
Если вы не продлите домен, он освободится и может быть зарегистрирован конкурентами или сквоттерами.
Fix: Продлите домен немедленно через вашего регистратора.
**Устаревшие NS-серверы** (`old_ns`)
NS-серверы домена не обновлялись более 5 лет. Убедитесь, что серверы актуальны.
Fix: Обновите NS-записи у регистратора, если сменили DNS-провайдера.
**Домен заблокирован (transferLock)** (`registrar_lock`)
Статус clientTransferProhibited защищает домен от несанкционированного переноса.
**Privacy Protection включён** (`privacy_on`)
Контактные данные владельца скрыты через WHOIS Privacy. Это нормально для личных сайтов.
### REDIRECTS Подсказки
**Обнаружена петля редиректов** (`redirect_loop`)
Два или более URL ссылаются друг на друга, создавая бесконечный цикл. Браузер отобразит ошибку ERR_TOO_MANY_REDIRECTS.
Fix: Проверьте настройки сервера и CMS. Убедитесь, что HTTPS-редирект настроен только в одном месте.
**Слишком много редиректов (>3)** (`too_many`)
Каждый лишний редирект замедляет загрузку и может негативно влиять на SEO.
Fix: Оптимизируйте до одного редиректа: HTTP → HTTPS → финальный URL.
**Используется 302 вместо 301** (`302_not_301`)
Временный редирект (302) не передаёт PageRank. Если редирект постоянный — используйте 301.
Fix: Замените 302 на 301 для постоянных редиректов.
**Редиректы настроены правильно** (`ok`)
Цепочка редиректов короткая и использует правильные коды статусов.
### SECURITY Подсказки
**Слабый SSL/TLS протокол** (`ssl_weak`)
Сервер поддерживает устаревшие версии TLS (1.0 или 1.1). Они уязвимы и отключены в современных браузерах.
Fix: Отключите TLS 1.0/1.1 в конфигурации nginx/Apache. Используйте TLS 1.2+ с ECDHE шифрами.
**Отсутствуют заголовки безопасности** (`missing_headers`)
Критически важные HTTP-заголовки безопасности не найдены: X-Frame-Options, X-Content-Type-Options, Referrer-Policy.
Fix: Добавьте в nginx: add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff;
**Открыты потенциально опасные порты** (`open_ports`)
Обнаружены открытые порты, которые не должны быть публично доступны (напр. 3306, 5432, 6379).
Fix: Закройте административные порты с помощью firewall. Разрешите доступ только с доверенных IP.
**Базовые проверки пройдены** (`good`)
Основные настройки безопасности в порядке.
### SEO-AUDIT Подсказки
**Отсутствует тег
** (`no_title`)
Тег title — один из важнейших SEO-факторов. Без него поисковики не понимают тему страницы.
Fix: Добавьте уникальный title длиной 50–60 символов на каждую страницу.
**Отсутствует тег H1** (`no_h1`)
H1 — главный заголовок страницы. Его отсутствие ухудшает понимание структуры контента поисковиком.
Fix: Добавьте один тег H1 с основным ключевым словом страницы.
**Отсутствует meta description** (`no_meta_desc`)
Meta description влияет на кликабельность в выдаче (CTR). Без неё Google может сгенерировать описание из контента страницы.
Fix: Напишите уникальный meta description 120–160 символов с ключевым словом.
**Проблема с canonical URL** (`canonical`)
Некорректный или отсутствующий canonical может вызвать проблемы с дублями страниц.
Fix: Убедитесь, что rel=canonical указывает на основную версию URL.
### KEYWORDS Подсказки
**Плотность ключевых слов** (`keyword_density`)
Оптимальная плотность ключевого слова — 1–3% от общего объёма текста. Слишком низкая плотность снижает релевантность, слишком высокая сигнализирует о переоптимизации (keyword stuffing).
Fix: Используйте ключевое слово естественно, 1–2 раза на 100 слов. Варьируйте формы и добавляйте LSI-слова.
**Ключевое слово в title** (`title_keyword`)
Наличие ключевого слова в теге — один из сильнейших сигналов релевантности для поисковых систем. Размещайте главное ключевое слово ближе к началу заголовка.
Fix: Добавьте целевое ключевое слово в начало тега . Длина title: 50–60 символов.
**Ключевое слово в H1** (`h1_keyword`)
H1 — самый важный заголовок страницы. Поисковик ожидает увидеть главное ключевое слово в H1. Отсутствие ключевого слова снижает релевантность страницы.
Fix: Убедитесь, что H1 содержит целевое ключевое слово. На странице должен быть ровно один H1.
**Ключевое слово в мета-описании** (`meta_description_keyword`)
Google выделяет жирным ключевые слова в сниппете поиска, если они совпадают с запросом. Наличие ключевого слова в meta description увеличивает CTR из поиска.
Fix: Включите ключевое слово естественно в meta description. Длина: 120–160 символов.
**Ключевое слово в URL** (`url_keyword`)
URL является фактором ранжирования. Короткий, читаемый URL с ключевым словом улучшает релевантность и повышает CTR — пользователи видят URL в результатах поиска.
Fix: Используйте ключевое слово в slug URL. Разделяйте слова дефисами, избегайте параметров и ID.
**Ключевое слово в первом абзаце** (`keyword_in_first_paragraph`)
Размещение ключевого слова в первых 100 словах текста — сильный сигнал релевантности. Поисковики придают больший вес тексту, расположенному в начале страницы.
Fix: Упомяните ключевое слово в первом абзаце. Избегайте искусственного введения — текст должен оставаться читабельным.
**Вариации и LSI-слова** (`keyword_variations`)
Использование синонимов, словоформ и тематически связанных слов (LSI) помогает странице охватить больше поисковых запросов. Google понимает семантические связи между словами.
Fix: Добавьте LSI-слова и синонимы ключевого слова. Инструменты: Google Search Console, Яндекс.Вордстат.
**Ключевое слово в alt-тексте изображений** (`image_alt_keyword`)
Alt-текст описывает изображение для поисковых систем и пользователей с ограниченными возможностями. Включение ключевого слова в alt улучшает релевантность страницы и видимость в Google Images.
Fix: Добавьте описательный alt-текст с ключевым словом к основным изображениям. Не злоупотребляйте — alt должен описывать изображение.
### BROKEN-LINKS Подсказки
**Ссылка ведёт на страницу 404** (`http_404`)
Внутренние ссылки на несуществующие страницы (404) ухудшают пользовательский опыт и приводят к потере «ссылочного веса» (PageRank). Поисковики фиксируют такие ссылки при обходе сайта.
Fix: Обновите или удалите ссылки, ведущие на 404. Настройте 301-редиректы со старых URL на актуальные страницы.
**Цепочка редиректов** (`redirect_chain`)
Цепочка из 3 и более последовательных редиректов замедляет загрузку страницы и «размывает» ссылочный вес. Каждый дополнительный редирект добавляет задержку ~100–300 мс.
Fix: Настройте прямой редирект с исходного URL на конечный, минуя промежуточные шаги. Максимум — 1 редирект.
**Внешняя ссылка недоступна** (`external_404`)
Ссылки на внешние ресурсы, которые вернули 404, 410 или 5xx, снижают доверие к вашему сайту. Поисковики могут расценить такие ссылки как некачественный контент.
Fix: Замените неработающие внешние ссылки на актуальные ресурсы или удалите их. Используйте Wayback Machine для поиска архивных версий.
**Ссылка не отвечает (таймаут)** (`timeout`)
Ссылки, по которым сервер не отвечает в течение установленного времени, негативно влияют на время обхода и ухудшают пользовательский опыт — пользователь получает зависающую страницу.
Fix: Проверьте доступность целевого сервера. Если ресурс временно недоступен — уберите ссылку или замените на кэшированную версию.
**HTTP-ссылка на HTTPS-сайте** (`mixed_content_link`)
Ссылки на HTTP-ресурсы с HTTPS-страницы вызывают предупреждения о смешанном контенте. Браузеры блокируют загрузку HTTP-ресурсов на защищённых страницах.
Fix: Замените все HTTP-ссылки на HTTPS-версии. Проверьте абсолютные URL в базе данных и шаблонах.
**Якорная ссылка ведёт в никуда** (`anchor_missing`)
Ссылка с якорем (#section) ведёт на несуществующий элемент страницы. Пользователь переходит на страницу, но не попадает в нужное место.
Fix: Убедитесь, что элемент с указанным id существует на целевой странице. Проверьте правильность написания якоря.
**Непоследовательное использование www** (`www_non_www`)
Ссылки на www.example.com и example.com без настроенного редиректа ведут на дублирующиеся страницы. Это размывает ссылочный вес и может привести к индексации дублей.
Fix: Определите каноническую версию (с www или без) и настройте 301-редирект. Добавьте canonical-тег на все страницы.
**Ссылка с javascript:** (`javascript_link`)
Ссылки вида href="javascript:void(0)" или href="#" без обработчика не предоставляют поисковым системам никакого целевого URL. Это ухудшает обходимость и доступность.
Fix: Используйте реальные URL в href. Для интерактивных элементов — кнопки (