Аудит сайта веб-студии из Казахстана: главная плюс 16 URL из карты сайта, GEO / AI Readiness — 37 из 100. Главный блокер — React SPA без SSR: сырой HTML главной весит 5 987 байт и содержит 8 слов против 255 слов после рендера, то есть 3% контента. Дальше — 15 из 16 страниц, до которых не доходит краулер, soft-200 вместо 404, FAQ без ответов в коде и план внедрения из 14 задач. Внедрения на этом этапе не было: кейс показывает аудит, план и критерии приёмки.
Проверить, как сайт выглядит для ИИ-поиска: что получают ChatGPT, Claude, Gemini, Perplexity и Яндекс Нейро вместо страницы с услугами, ценами и отзывами. Итог этапа — аудит с цифрами, план внедрения и критерии приёмки по каждой задаче.
Объём проверки:
Что получает клиент на этом этапе:
Ограничения, зафиксированные в отчёте: ключа PageSpeed в окружении нет, поэтому Core Web Vitals сняты lab-методом в Chromium на десктопе без троттлинга, а INP в lab не измеряется; выгрузок Google Search Console, Яндекс.Вебмастера и Метрики не было; проверить факт реального цитирования в ответах ChatGPT или Perplexity из окружения нельзя. Внедрение на этом этапе не проводилось.
Сайт работает и выглядит нормально. Проблема не в дизайне и не в скорости, а в том, что в исходном HTML контента почти нет.
Сырой HTML главной — 5 987 байт: пустой контейнер, ноль H1/H2/H3, ноль ссылок и картинок, 53 символа текста. После рендера — 255 слов. В исходном HTML остаётся 3% контента. Так выглядят все 16 адресов сайта.
Указатель canonical на главную стоит на каждом маршруте и роутером не переписывается: уникальных canonical один на 16 страниц. Отдельной страницы цен, услуг или интернет-магазина для поиска и для ИИ не существует.
На странице стоимости пять частых вопросов существуют как кнопки с текстом вопроса. Ответы появляются только после клика, в коде страницы их нет. Ноль пар «вопрос — ответ»: нейросеть видит вопрос без ответа и не может его пересказать.
Файл llms.txt, манифест агентов, два адреса карты сайта и случайный несуществующий путь отвечают кодом 200 и отдают шелл главной страницы. Краулер не отличает мусор от страницы и может затянуть его в индекс.
Краулер дошёл только до главной: в исходном HTML нет ни одной внутренней ссылки. Плюс устаревание — дата изменения старше 180 дней у 100% адресов, вердикт critical_decay. И два мусорных адреса карты сайта отдаются как HTML вместо XML.
По адресу файла-визитки для языковых моделей приходит 200 с типом содержимого text/html и теми же 5 987 байтами шелла главной. Чекер формально насчитал «файл существует» по коду 200, при этом заголовков ноль, markdown-ссылок ноль, оценка 20 из 100.
На страницах есть цены от 70 000, 150 000 и 250 000 тенге, срок 3–5 дней, рейтинг 5.0 и четыре отзыва. В разметке только Organization и ProfessionalService — без цены, отзывов, FAQ и логотипа. Цитируемых фактов: 0, внешних ссылок: 0.
Главная: 8+ лет опыта, 50+ клиентов, 99% довольных. Страницы услуг: 10 лет, 150+ проектов, рейтинг 5.0. Нейросеть получает конфликтующие факты и в итоге не называет ни одну цифру.
Скрипт оценивает только мета-слой — заголовок, описание, canonical, robots — и пропускает Core Web Vitals, потому что нет ключа PageSpeed. Главную проблему он не видит физически. В отчёте этот балл назван вводящим в заблуждение.


Это не «до и после работ», а два взгляда на один и тот же URL: слева то, что получает робот, который не запускает скрипты, справа то, что видит человек в браузере. Разметка при этом не менялась — расходится только то, что успевает отрисоваться.
Работа на этом этапе — измерение и документирование. Каждый вывод закрыт артефактом, а не мнением. Ниже отдельно — план внедрения: он передан клиенту, но не выполнен.
Для каждого адреса из карты сайта забрали исходный ответ и разобрали его тем же парсером, что и отрендеренную версию. Результат одинаковый на всех 16: 5 987 байт, 8 слов, 0 заголовков H1/H2/H3, 0 абзацев, 0 ссылок, 0 картинок, один уникальный заголовок вкладки и один уникальный canonical.
Получен артефакт, который нельзя оспорить: робот и человек получают разные страницы по одному и тому же адресу.
Отрендерили 10 адресов: главную, разделы услуг, кейсов, цен, о компании, контакты, лендинг, страницу заказа и страницу стоимости, а также несуществующий /design как пример soft-404. Считали заголовки, число слов, заголовок вкладки и внутренние ссылки до и после рендера.
Контент на сайте есть, он просто не в исходном HTML: главная — 255 слов и 4 подзаголовка, /pricing — 348 слов, /stoimost-saita — 834 слова, /zakazat-sait — 863 слова. Уникальный заголовок вкладки только у двух адресов из десяти, остальные отдают заголовок главной. Несуществующий /design после рендера даёт 51 слово и ни одного H1 — то есть это действительно пустышка, а не страница.
Фактические запросы к серверу с подменой User-Agent для тринадцати поисковых и обучающих ботов. Проверили robots.txt, цепочку редиректов (0 хопов, 666 мс), заголовок X-Robots-Tag, матрицу индексируемости и файлы, которые запрашивают не-Google системы.
Ни один ИИ-робот не заблокирован: все отвечают 200, WAF и Cloudflare нет, сервер — Vercel. Проблема не в доступе, а в том, что робот получает по разрешению: почти пустой документ.
robots.txt (127 байт, директива карты сайта закомментирована), карта сайта (16 адресов, дата изменения есть у всех), soft-404 прямыми запросами, canonical, hreflang, Schema.org (0 ошибок, 5 предупреждений), AEO и answer-readiness (оценка 0), готовность к цитированию (оценка 35, фактов 0), E-E-A-T, заголовки безопасности (45 из 100), Core Web Vitals lab-методом: LCP 1,62 с, FCP 0,89 с, CLS 0, передача JavaScript 173 КБ.
Картина по всем слоям с цифрами и ссылками на артефакты. Заодно зафиксировали, что четыре тега языка ru / kk / en / x-default указывают на главную: языковых версий на сайте нет, а заявлять их нельзя.
Клиентский отчёт в HTML и PDF: 12 секций, 12 проблем в формате «в чём проблема — решение», два блока призыва к действию, 9 страниц PDF. Отдельно технический отчёт и план внедрения. Письмо — с пятью находками по пунктам, что теряет сайт и что даёт исправление.
Клиент получает не оценку, а список из 14 задач с приоритетом и критерием приёмки по каждой. В письме и отчёте прямо сказано: гарантировать упоминание в ответах нейросетей нельзя, ИИ сам решает, кого называть.
В исходном HTML каждой ключевой страницы не меньше 300 слов, ровно один H1, внутри — цены и ответы FAQ. Проверка canonical показывает свой адрес на всех 16 страницах, а несуществующий адрес отдаёт 404.
Файл llms.txt отдаётся как текст с заголовком и ссылками, robots.txt содержит рабочую директиву карты сайта, валидатор разметки даёт 0 ошибок и находит цены и вопрос-ответ, а оценка answer-first выше нуля.
Проверка «сирот» показывает 0, вердикт по устареванию карты сайта больше не critical_decay, а страница не содержит нескольких языковых тегов на один адрес.
Оценка заголовков безопасности выше 80 из 100; манифест агентов либо отдаётся как валидный JSON со ссылками на существующие операции, либо честно отвечает 404.
Внедрения не было: ни одна из 14 задач не выполнена, поэтому замеров «после» в кейсе нет. Результат этапа — поставленный диагноз, доказательная база и план, по которому внедрение можно проверить и принять.
Отдельно зафиксировано в отчёте и в письме клиенту: llms.txt не влияет на Google и на ответы с ИИ-обзорами — это дешёвая страховка для Perplexity, Claude и самописных агентов, а не фактор ранжирования. И гарантировать появление сайта в ответах нейросетей не может никто: ИИ сам решает, кого назвать.
| Параметр | До | После (план) |
|---|---|---|
| Слова в исходном HTML главной | 8 | от 300 по критерию приёмки C1 |
| Заголовки H1 / H2 / H3 в исходном HTML | 0 / 0 / 0 | ровно 1 H1 плюс иерархия подзаголовков |
| Уникальные canonical на 16 адресах | 1 — главная у всех | 16 — свой адрес у каждого |
| Адреса карты сайта, достижимые краулером | 1 из 16 | 16 из 16 |
| Несуществующий адрес | 200 и шелл главной | 404 со своей страницей ошибки |
| Файл llms.txt для ИИ | 200, HTML, 5 987 байт, оценка 20/100 | текст с заголовком, описанием и ссылками на разделы |
| Ответы FAQ в коде страницы | 0 пар «вопрос — ответ» | 5 пар, ответы в исходном HTML |
| Блоки разметки на странице | 2 разрозненных, без логотипа | связанный граф: организация, сайт, страница, услуга с ценой, вопрос-ответ, крошки, рейтинг |
| Цитируемых фактов / внешних ссылок | 0 / 0 | прямой ответ в первых строках плюс абзац с цифрами и ссылками |
| Цифры о компании | 8 лет и 50 клиентов против 10 лет и 150 проектов | один набор цифр на главной и на страницах услуг |
| Языковые теги | ru, kk, en, x-default — все на главную | реальные языковые версии или теги убраны |
| Устаревание карты сайта | critical_decay, 100% адресов старше 180 дней | вердикт не critical_decay, даты обновляются при правках |
| Заголовки безопасности | 45 из 100, только HSTS | выше 80 из 100 |
| Готовность к ИИ-поиску | 37 из 100 | переоценка после внедрения, без обещанного балла |
Внедрения не было. Все значения в колонке «После (план)» взяты из критериев приёмки плана внедрения, а не из замеров после работ: подставить сюда цифры «после» было бы выдумкой. Отдельно стоит держать в голове расхождение двух оценок одного сайта — 37 из 100 по GEO / AI Readiness и 96 из 100 по стороннему SEO-скрипту: вторую в отчёте названо вводящей в заблуждение, потому что она проверяет только мета-слой.
Скриншоты двух типов: рендеры сохранённых HTML-выгрузок сайта, снятые во время аудита, и скриншоты приложенного клиенского отчёта. Кадров «после работ» нет — внедрение не проводилось. Кликните, чтобы открыть в полном размере.





