Перейти к содержимому

Оценка готовности для ИИ — вторая детерминированная ось

Сканирование 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_reachablerobots.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, сформированном на сервере, есть содержательный текст, доступный без выполнения JS14по числу слов
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. Это основа динамики готовности для ИИ.

Чтение оценки

Без интерфейса — последний результат модели содержит обе оси:

php
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-оценкой в любую таблицу ресурса:

php
use Rankbeam\Seo\Pro\Filament\Tables\Columns\AiReadinessScoreColumn;
use Rankbeam\Seo\Pro\Filament\Tables\Columns\SeoScoreColumn;

SeoScoreColumn::make(),
AiReadinessScoreColumn::make(),

Оценка также отображается отдельным значком на встроенной карточке оценки страницы над полем SEO-заголовка и отдельным разделом отчёта под вашим брендом в PDF и письме: число, буквенная оценка, изменение относительно прошлого отчёта и динамика по сканированиям. Она всегда стоит рядом с органической оценкой и никогда с ней не смешивается.

Диапазоны буквенных оценок

Буква — лишь форма представления числовой оценки; основой контракта остаётся число. Для единообразия диапазоны совпадают с SEO-оценкой:

БаллыОценка
90-100A
75-89B
50-74C
25-49D
0-24F

Конфигурация

php
// 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, не видны. Чтобы они учитывались, отдавайте их через маршруты пакета — это рекомендуемая настройка.

rankbeam/laravel-seo распространяется под лицензией MIT.