Оценка готовности для ИИ — вторая детерминированная ось
Сканирование Pro даёт каждой странице второе число рядом с SEO-оценкой: оценку готовности для ИИ от 0 до 100. Она отвечает на другой вопрос: могут ли роботы ИИ и системы ответов получить и прочитать этот контент и определить его авторство? Она никогда не смешивается с оценкой органического SEO. Это две отдельные оси, у каждой собственные критерии, версия и столбец.
Что означает это число и чего оно не означает
Оценка готовности для ИИ — детерминированная мера технической совместимости, определённая Rankbeam: присутствуют ли на странице проверяемые при обходе признаки и корректно ли они оформлены. Это не прогноз ранжирования, индексации, включения или цитирования в какой-либо поисковой системе или системе ИИ. Ни одна оценка не гарантирует таких результатов. Проверка air_llms_txt начисляет баллы за необязательный файл совместимости llms.txt для инструментов, которые решат его читать. Google Search его не требует, и фактором ранжирования он не является.
Как и SEO-оценка, она полностью детерминирована и воспроизводима: каждый балл связан с одной именованной проверкой по данным обхода, а одинаковые признаки всегда дают одинаковое число. Ни на одном этапе расчёта нет вызовов ИИ. В этом и смысл: прозрачное измерение, которое можно проверить, а не выборка ответов LLM по образцу SaaS-продуктов для оценки «видимости в ИИ».
score = round( Σ credit(check) × weight(check) ) for every rubric checkДве оси, без смешивания
AI-readiness: 74/100 находится рядом с SEO: 82/100; ни одна оценка не меняет другую. Готовность для ИИ хранится в отдельных столбцах ai_readiness_* строки seo_scan_results Pro. Как и для SEO, числовая оценка — возможность Pro: бесплатный seo:audit число не выводит.
Начисление баллов вместо штрафов
SEO-оценка начинается со 100 и вычитает штрафы. Готовность для ИИ работает наоборот: начинается с 0 и добавляет вес каждой проверки полностью или частично. Готовность накапливается, поэтому сайт без признаков для ИИ честно получает около 0, а не «100 минус немного». Сумма весов равна ровно 100.
Система критериев
Расчёт основан на опубликованной версионируемой системе критериев Rankbeam\Seo\Pro\Scanning\AiReadiness\AiReadinessRubric: десять проверок в четырёх категориях.
A · Доступ ботов и управление — 30 баллов
Могут ли роботы поиска ИИ и ассистентов получить доступ к сайту? Оценка использует отдаваемый сайтом /robots.txt и определяет правила для пути самой сканируемой страницы. Страница, подпадающая под Disallow: /section, запрещена, даже если корень открыт. При этом robots.txt — директива для соблюдающих её роботов, а не сетевая блокировка. Назначения ботов — обучение, поиск, ассистент — берутся из каталога роботов ИИ.
| Проверка | Вес | Начисление |
|---|---|---|
air_robots_reachable — robots.txt отдаётся и доступен для чтения | 6 | есть / нет |
air_ai_search_access — роботы поиска ИИ, канала переходов, имеют доступ к сайту | 10 | доля разрешённых |
air_ai_assistant_access — роботы ассистентов ИИ имеют доступ к сайту | 8 | доля разрешённых |
air_explicit_ai_policy — явное правило robots.txt для известного бота ИИ | 6 | есть / нет |
Запрет обучающих ботов не снижает готовность
Запрет ботов обучения, например GPTBot и CCBot, — допустимый выбор, поэтому он никогда не штрафуется. Отношение к обучению учитывается только через air_explicit_ai_policy: наличие осознанного явного правила. Сайт, который запрещает обучающих ботов, но разрешает поисковых ботов ИИ и ассистентов, может получить максимальный балл в этой категории.
B · Обнаружение контента — 20 баллов
| Проверка | Вес | Начисление |
|---|---|---|
air_sitemap_discoverable — XML-карта сайта доступна и указана в директиве Sitemap: | 12 | оба условия / одно / ни одного |
air_llms_txt — отдаётся корректный /llms.txt с заголовком и ссылками | 8 | корректен / присутствует / отсутствует |
C · Машиночитаемый контент — 22 балла
| Проверка | Вес | Начисление |
|---|---|---|
air_server_rendered_content — в HTML, сформированном на сервере, есть содержательный текст, доступный без выполнения JS | 14 | по числу слов |
air_markdown_twin — через согласование формата отдаётся Markdown-версия страницы | 8 | есть / нет |
D · Структурированные данные и готовность для ответов — 28 баллов
| Проверка | Вес | Начисление |
|---|---|---|
air_schema_completeness — присутствует JSON-LD, у основной сущности задан тип, есть авторство и дата; для статей — автор и дата | 18 | полностью / частично / нет |
air_answer_structure — элементы для извлечения ответов: схемы FAQ/QA/HowTo, иерархия заголовков, списки, краткое вступление | 10 | по числу элементов |
Каждая проверка начисляет полный, частичный или нулевой балл либо получает статус пропущена, если нужный признак не удалось получить, например при проверке страницы без её загрузки. Пропущенная проверка даёт 0, но явно отмечается, поэтому признак, который не удалось проверить, никогда не выдаётся за подтверждённо отсутствующий.
Возможности бесплатного аудита
Полноту схемы (air_schema_completeness) можно определить из структурированных данных модели без загрузки страницы. Бесплатный аудит уже использует этот путь для своих проверок готовности для ответов. Остальным девяти проверкам нужен обход, поэтому полная числовая оценка относится к сканированию Pro.
Границы оценки: что она исключает
Эта ось оценивает детерминированные признаки контента. В неё не входят проверки инфраструктуры агентов, связанные с работающим приложением или DNS:
| Исключено | Причина |
|---|---|
| DNS-AID — DNS-записи обнаружения агентов | Инфраструктура DNS / DNSSEC, а не свойство отданной страницы. |
| Web Bot Auth — подпись каждого запроса | Интерактивное криптографическое согласование, а не статический контент. |
| Protocol Discovery — API Catalog, OAuth/OIDC, MCP Server Card, Agent Skills, WebMCP и другие | Требуют работающего приложения, API или MCP-сервера. |
| Commerce — x402, MPP, UCP, ACP | Платёжная инфраструктура агентов; контентному сайту не за что взимать плату. |
В оценку входят полнота сущностей схемы и структура блоков ответов: признаки контента, которые описывают организацию данных и авторство, но не гарантируют их использование поисковой системой или системой ответов.
Версии: исторические оценки не меняются незаметно
Каждая сохранённая оценка готовности для ИИ помечается версией AiReadinessRubric::VERSION, которая её рассчитала, в ai_readiness_version. Любое изменение набора проверок, веса или модели начисления меняет систему критериев и повышает версию. Поэтому у сохранённого числа всегда известно, какие критерии его объясняют, а исторические значения остаются сопоставимыми. Оценка хранится, а не пересчитывается при чтении. Пороговые значения, влияющие на баллы, — число слов и структурных элементов — заданы константами в коде и привязаны к версии. Это не конфигурация: настройка не может незаметно изменить опубликованное число.
Один источник данных версия не фиксирует
Проверки доступа ботов читают текущий каталог роботов ИИ из ядра. Обновление каталога — новый бот или изменение его назначения — фактически меняет входные данные и может сдвинуть две оценки доступа без повышения AiReadinessRubric::VERSION: версия отслеживает критерии, а не каталог. Это намеренно: актуальный список реальных ботов полезнее замороженного. Для точного исторического сравнения фиксируйте версию пакета ядра вместе с версией критериев.
Где хранится оценка
Каждое сканирование создаёт или обновляет столбцы готовности для ИИ в той же строке seo_scan_results, где хранится SEO-оценка:
| Столбец | Содержимое |
|---|---|
ai_readiness_score | Число от 0 до 100; null, пока цель не просканирована с включённой осью. |
ai_readiness_version | Версия критериев, по которой получен результат. |
ai_readiness_breakdown | [{code, category, credit, weight, points, status, message, evidence}, …] — полная трассировка расчёта. |
Среднее за запуск записывается в seo_scan_runs.avg_ai_readiness после его завершения, по аналогии с avg_score. Это основа динамики готовности для ИИ.
Чтение оценки
Без интерфейса — последний результат модели содержит обе оси:
use Rankbeam\Seo\Pro\Facades\SeoPro;
$result = SeoPro::resultFor($post);
$result?->score; // organic SEO score, e.g. 82
$result?->ai_readiness_score; // AI-Readiness, e.g. 74
$result?->aiReadinessGrade(); // 'A'..'F' (null if never scored)
$result?->aiReadinessByCategory(); // ['bot_access' => ['awarded' => 24.0, 'max' => 30], …]Filament — добавьте сопутствующий столбец рядом с SEO-оценкой в любую таблицу ресурса:
use Rankbeam\Seo\Pro\Filament\Tables\Columns\AiReadinessScoreColumn;
use Rankbeam\Seo\Pro\Filament\Tables\Columns\SeoScoreColumn;
SeoScoreColumn::make(),
AiReadinessScoreColumn::make(),Оценка также отображается отдельным значком на встроенной карточке оценки страницы над полем SEO-заголовка и отдельным разделом отчёта под вашим брендом в PDF и письме: число, буквенная оценка, изменение относительно прошлого отчёта и динамика по сканированиям. Она всегда стоит рядом с органической оценкой и никогда с ней не смешивается.
Диапазоны буквенных оценок
Буква — лишь форма представления числовой оценки; основой контракта остаётся число. Для единообразия диапазоны совпадают с SEO-оценкой:
| Баллы | Оценка |
|---|---|
| 90-100 | A |
| 75-89 | B |
| 50-74 | C |
| 25-49 | D |
| 0-24 | F |
Конфигурация
// config/seo-pro.php → 'scan'
'ai_readiness' => [
'enabled' => true, // turn the AI-Readiness pass + its persistence on/off
'fetch_site_signals' => true, // fetch /robots.txt, /llms.txt, /sitemap.xml (per host)
'probe_markdown_twin' => true, // probe Accept: text/markdown on the page
],Проверки и веса не настраиваются: для заданной ai_readiness_version оценка должна быть детерминированной во всех установках. Изменение расчёта — изменение критериев на уровне кода, а не настройка.
Признаки сайта проверяются запросами внутри процесса
Для цели на том же хосте сканирование получает /robots.txt, /llms.txt и страницу через HTTP-ядро Laravel внутри процесса, как и остальные проверки. robots.txt или llms.txt, отданные как статические файлы в обход маршрутизации Laravel, не видны. Чтобы они учитывались, отдавайте их через маршруты пакета — это рекомендуемая настройка.