Платформа мониторинга и рейтинга игровых серверов (CS2, DayZ, Rust, Minecraft, ARK, SAMP) для русскоязычной аудитории. Vue SPA + nginx, prerender только для Yandex/Google. Повторный аудит через ~4 часа после первого.
Изменения с прошлого раза
vs 2026-04-23 · 2-й аудит в истории
+8
к общему скору
50→58 / 100
Технический SEO
+7
Citation readiness (SSR)
+12
Citation readiness (AIO-боты)
+7
3закрыто
/llms.txt отсутствует
NewsArticle: нет datePublished/dateModified/author
FAQPage отсутствует на /tariffs и /help
1новых
/documentation: заявлена в llms.txt и sitemap, но контента нет
5всё ещё открыты
SSR-gating: AIO-боты видят пустой SPA
Гайды без HowTo schema, без автора/дат
/dayz/<slug> дубли в sitemap (49 URL)
Google Search Console не подтверждён
Core Web Vitals не измерены
/llms.txt404→200
/llms.txt content-typetext/html→text/plain
FAQPage на /tariffs (SSR)нет→есть
FAQPage на /help (SSR)нет→есть
NewsArticle: author + datesнет→есть
robots.txt: query-фильтрынет→есть
Sitemap URL count106→107
Общий скор AIO-готовности
Разбор по категориям
Технический SEO82 / 100
Citation readiness (SSR-боты)82 / 100
Доступ ИИ-ботов (AIO)критический блокер
Топ-проблемы
Что чинить в первую очередь
[!!] critical
SSR-gating по UA — AIO-боты видят пустой SPA
Доказательство: у YandexBot и Googlebot — 2684 видимых символа. У GPTBot, ClaudeBot, PerplexityBot и обычного браузера — 77 символов (пустой <div id="app"></div>). Bot/AI-bot ratio 34.8×.
Добавить GPTBot, ClaudeBot, CCBot, PerplexityBot, Google-Extended, Applebot-Extended в whitelist prerender-middleware. Идеально — переключить prerender на default-on с кешированием. ChatGPT, Claude.ai и Perplexity физически не видят ваш контент сегодня — это #1 блокер AIO.
Срок: 1–2 дня бэкенда · Эффект: +25–30 к citation_readiness_aio
[!] high
/documentation — пустая страница, заявлена везде
Доказательство: страница в sitemap (priority 0.7) и в /llms.txt («руководство по API»). По факту — 155 chars контента и единственный JSON-LD блок BreadcrumbList. Negative-сигнал: «обещали — не дали».
Либо срочно наполнить (минимум 2-3 KB структурированного API-описания с примерами), либо временно убрать из llms.txt и понизить priority в sitemap до 0.3.
Срок: решить сегодня · Эффект: убрать negative-сигнал для AI-ботов
[!] high
Гайды без HowTo schema, без автора и дат
Доказательство: /guide/dayz/kostry-v-dayz — Article+BreadcrumbList в SSR, нет HowTo, нет author.Person, нет datePublished/dateModified. Контент идеально ложится на HowTo (пошаговые инструкции, ингредиенты, время).
Перевести гайды в HowTo schema. Author/dates уже добавили на news — скопировать паттерн на гайды (1 час фронта).
Срок: 1 день · Эффект: +5–8 к citation_readiness_ssr
[!] medium
49 дублей /dayz/<slug> в sitemap
Доказательство: в sitemap одновременно /dayz/<slug> и /servers/dayz/<slug> для одних и тех же серверов. Cannibalization индексации.
Удалить короткие /dayz/<slug> URL из sitemap, либо настроить 301-редирект на канонические /servers/dayz/<slug>.
△sitemap содержит дубли49 /dayz/<slug> vs /servers/dayz/<slug>
✓canonical на ключевых страницахlink rel=canonical корректен
✓hreflangru + x-default
✓meta robots полныйindex,follow,max-snippet:-1
✓Yandex.Webmaster подтверждёнd0ad6081ee9988cd
✗Google Search Console не подтверждёнgoogle-site-verification пустой
✓OG / Twitter meta полные+ og:image 1200x630
✗SSR для AI-ботовтолько Yandex/Google — main-блокер AIO
✓JSON-LD: WebSite, Organization, WebApplicationв SPA-shell, видят все
✓FAQPage на /tariffs и /helpпоявилось — починили
✓NewsArticle: author + datesпоявилось — починили
△Article на гайдах: без author/datesпаттерн с news не перенесли
✗HowTo schema на гайдахконтент готов, обёртки нет
△/documentation наполнена155 chars — фактически пусто
△URL: /guide/<slug> vs /guidesroot в plural, детали в singular
△Core Web Vitalsне измерено: PSI_API_KEY не настроен
△Транзитный 502 на /sitemap.xmlразовый, retry успешен — стабильность инфры
Страницы, которые мы посмотрели
6 ключевых страниц
URL
Тип
Размер (SSR / AIO)
Citation readiness
/
homepage
2 684 / 77 chars
42 / 100
/tariffs
commerce
2 525 / 77 chars
78 / 100
/help
support / FAQ
4 485 / 77 chars
75 / 100
/guide/dayz/kostry-v-dayz
guide
3 889 / 77 chars
80 / 100
/news/obnovlenie-rust-vesenniaia-uborka
news
1 156 / 77 chars
70 / 100
/documentation
docs
155 / 77 chars
10 / 100
«SSR» — что видят Yandex/Googlebot. «AIO» — что видят GPTBot/ClaudeBot/PerplexityBot и обычный браузер. На всех страницах AIO-боты получают одинаковый SPA-shell с 77 видимыми символами.
Доступ ИИ-ботов
Кто может читать ваш сайт
YandexBotallowed SSR ✓
Googlebotallowed SSR ✓
GPTBotпустой SPA de facto
ClaudeBotпустой SPA de facto
PerplexityBotпустой SPA de facto
CCBotпустой SPA de facto
Google-Extendedпустой SPA de facto
Applebot-Extendedпустой SPA de facto
«пустой SPA» означает: robots.txt ничего не запрещает, бот формально пускают, но он получает HTML без контента (только <div id="app"></div> и базовый JSON-LD-каркас). Это и есть SSR-gating.
Разметка Schema.org
Что находят SSR-боты на ключевых страницах
WebSite
6/6
Organization
6/6
WebApplication
6/6
SearchAction
6/6
BreadcrumbList
3/6
FAQPage
2/6
Article
1/6
NewsArticle
1/6
Product + Offer + Brand
1/6
HowTo
0/6
Question
0/6
AIO-боты (GPT/Claude/Perplexity) на всех 6 страницах видят только SPA-shell schema: WebApplication, WebSite, Organization, Offer, SearchAction. Богатую разметку видят только Yandex/Google.
Технические метрики
Сервер, рендер, индексация
HTTP-статус
200
OK, HTTP/2
Сервер
nginx/1.27.5
+ prerender-middleware
HTML без JS
12.8KB
browser/AIO-bot view
Видимый текст (Yandex)
2.7K chars
SSR работает
Видимый текст (AIO)
77chars
пустой SPA-shell
Sitemap URLs
107
+1 vs prev
/llms.txt
3.6KB
text/plain — починили
SSR/AIO ratio
34.8×
блокер AIO
Render diff: prerender только для Yandex / Google
Для всех 6 проверенных страниц картина одинаковая: SSR отдают только двум UA, остальные получают одинаковый пустой SPA-shell. Это инфраструктурный gating на уровне prerender-middleware.
User-Agent
HTML
Visible text
Тип ответа
Mozilla/5.0 (Chrome)
12 796
77
SPA-shell
YandexBot/3.0
12 135
2 684
SSR
Googlebot/2.1
12 135
2 684
SSR
GPTBot/1.0
12 796
77
SPA-shell
ClaudeBot/1.0
12 796
77
SPA-shell
PerplexityBot/1.0
12 796
77
SPA-shell
Механизм: body-swap, не URL-redirect. Прогнали curl -sIL на 4 страницы × 6 UA — ни одного 301/302, финальный URL = исходный, Vary: Accept-Encoding. Сервер подменяет тело ответа на бэке в зависимости от UA. URL-cloaking'а на этом сайте нет.
Прозрачность
Что мы НЕ можем сейчас измерить
Не продаём магию. Всё, что перечислено ниже, требует публичного API у ИИ-поисковиков (которого нет) или данных, к которым у нас пока нет доступа.
Фактическое цитирование в Яндекс.Нейро / GigaChat / Алисе / ChatGPT Search. Нет публичного API. «Citation readiness» в отчёте — proxy-метрика на основе структуры контента и schema.
Core Web Vitals (LCP / INP / CLS).PSI_API_KEY не настроен в окружении. Для SPA с client-side hydration это критическая метрика.
Поведенческие сигналы. Время на сайте, bounce, glubina просмотра — нужен доступ к Яндекс.Метрике / GSC клиента.
Истинный SSR-механизм. Видим только эффект через HTTP. Это может быть prerender.io, headless Chrome, статический кеш или Node SSR — наружу неотличимо.
Внутренний backlog клиента. Не знаем, что уже в работе, а что ещё не приоритизировано. Возможно, prerender для AI-ботов уже в спринте.
Методология
Как это считалось
Общий принцип
Каждая метрика — либо прямое измерение (например, наличие llms.txt: файл либо есть, либо нет), либо proxy-оценка (citation readiness: LLM-оценка, насколько страница соответствует тому, что модели обычно выбирают для цитирования).
Технический SEO (82): прямые измерения — HTTP-статус, robots.txt, sitemap.xml, llms.txt, schema.org JSON-LD, meta-теги. Точность ~95%, ограничение — не запускался Lighthouse.
Citation readiness SSR (82): композит из прямых проверок (наличие нужных schema-типов, author/dates, длина контента) и proxy-оценки структуры. Точность ~80%.
Citation readiness AIO (22): прямой замер «что видит AI-бот» через multi-UA fetch + анализ visible text + JSON-LD. Точность ~95% для технической доступности; реальное цитирование = отдельная задача (см. «Что не меряли»).
Diff с прошлым аудитом: бинарное сравнение по checks, для которых статус документирован в обеих data.json. Score — экспертная корректировка с учётом веса категорий.
Margin ±5 на общий скор — отражает неопределённость от ненастроенного PSI и невозможности замерить реальное цитирование.
Это настоящий отчёт настоящего клиента
Хотите такой же — для своего сайта?
Express-разбор бесплатно, за 1 рабочий день. Если найдём что-то существенное — предложим Loop: 3 итерации за 30 дней с публичной историей роста скора.