{
    "ok": true,
    "url": "https://agentoptimization.ru/",
    "final_url": "https://agentoptimization.ru/",
    "product_url": null,
    "product_auto": false,
    "checked_at": "2026-11-15T07:07:15+00:00",
    "duration_s": 2.3,
    "engine": "agentreadyscan-check/1.4",
    "level": 4,
    "signature": {
        "title": "Агентная оптимизация сайта: ответы нейросетей и ИИ-агенты",
        "h1": "Нейросеть отвечает вашим клиентам. Сошлётся ли она на вас?",
        "desc": "Агентная оптимизация сайта: готовим сайт к Алисе AI, GigaChat, ChatGPT и Perplexity — чтобы нейросети ссылались на вас, а ИИ-агенты могли посчитать смету и отправить заявку. Бесплатная проверка, цены без «от», замер ответов до и после.",
        "site": "Агентная оптимизация",
        "schema": [
            "Organization",
            "ImageObject",
            "PostalAddress",
            "ContactPoint",
            "PropertyValue",
            "WebSite",
            "Service",
            "Country",
            "OfferCatalog",
            "Offer",
            "UnitPriceSpecification",
            "QuantitativeValue",
            "QuoteAction",
            "EntryPoint"
        ],
        "nav": [
            "к содержанию",
            "агентная оптимизация",
            "справочник",
            "что такое агентная оптимизация семь шаго",
            "кого пускать на сайт боты нейросетей, аг",
            "aeo как ассистент выбирает, кого цитиров",
            "что такое geo простыми словами, отличие ",
            "ответы алисы ai как сайт попадает в отве",
            "покупки в алисе ai ycp и четыре пути под",
            "машиночитаемое кп предложение, которое ч",
            "llms.txt что это и нужен ли он вам",
            "продвижение в нейросетях что получаете и",
            "проверка бренда",
            "цены",
            "кейсы",
            "вопросы",
            "заявка",
            "знает ли нейросеть ваш бренд? проверить ",
            "ycp · как подключиться →",
            "семь шагов агентной оптимизации →",
            "проверить свой бренд бесплатно",
            "прайс-листа 2.2",
            "заказать",
            "весь прайс и калькулятор сметы →",
            "albela",
            "polyblender",
            "сарматех",
            "что такое llms.txt",
            "оферта, п. 3.1",
            "политике",
            "проверка бренда — бесплатно",
            "цены и калькулятор",
            "покупки в алисе ai",
            "машиночитаемое кп",
            "оферта",
            "оплата",
            "что такое geo",
            "aeo: ии-ответы",
            "кого пускать на сайт",
            "о сайте"
        ],
        "paths": {
            "keisy": 4,
            "oferta": 2
        },
        "words": {
            "сайт": 42,
            "цены": 28,
            "агент": 23,
            "агентная": 22,
            "оптимизация": 22,
            "такое": 20,
            "кого": 16,
            "llms": 15,
            "нейросети": 15,
            "сарматех": 15,
            "заявка": 14,
            "семь": 13,
            "через": 13,
            "https": 13,
            "алисе": 12,
            "проверка": 12,
            "кейсы": 12,
            "нейросеть": 12,
            "уровень": 12,
            "albela": 12,
            "ответы": 11,
            "проверить": 11,
            "бесплатно": 11,
            "работа": 10,
            "ответе": 10,
            "сайта": 10,
            "замер": 10,
            "гарантируется": 10,
            "справочник": 9,
            "пускать": 9
        },
        "cart": false,
        "has_product": false,
        "product_urls": 0,
        "type": "services"
    },
    "industry": {
        "id": "it",
        "label": "ПО и IT-сервисы",
        "score": 45,
        "second": 15,
        "confident": true,
        "basis": "название: «нейросет»; заголовок: «нейросет»; текст: «нейросет» (27); описание: «erp»",
        "v": 2
    },
    "site": {
        "engine": "custom",
        "platform": {
            "id": "custom",
            "label": "Своя разработка или не определена",
            "kind": "custom",
            "basis": "признаков платформы нет"
        },
        "has_prices": true,
        "product_urls": 0
    },
    "tokens": {
        "html_bytes": 41183,
        "html_tokens": 10506,
        "text_chars": 8565,
        "text_tokens": 3489,
        "saving_pct": 67,
        "note": "Оценка: у каждой модели свой токенизатор, точное число отличается примерно на пятую часть."
    },
    "well_known": {
        "mcp": {
            "path": "/.well-known/mcp/server-card.json",
            "name": "Карточка MCP-сервера (MCP Server Card)",
            "why": "Говорит агенту, что у сайта есть MCP-сервер, как к нему подключиться и какие у него инструменты. Черновик SEP-1649.",
            "found": false
        },
        "a2a": {
            "path": "/.well-known/agent-card.json",
            "name": "Карточка агента A2A (Agent Card)",
            "why": "Описание собственного агента сайта для протокола agent-to-agent (A2A): что он умеет и как к нему обращаться.",
            "found": false
        },
        "skills": {
            "path": "/.well-known/agent-skills/index.json",
            "name": "Индекс навыков агента (Agent Skills)",
            "why": "Список готовых навыков — папок с SKILL.md, — которые агент может загрузить, чтобы работать с вашим сайтом или продуктом по вашим правилам.",
            "found": false
        },
        "oauth_as": {
            "path": "/.well-known/oauth-authorization-server",
            "name": "OAuth Discovery (RFC 8414)",
            "why": "Где агенту получать токен доступа, если часть данных закрыта.",
            "found": false
        },
        "oauth_pr": {
            "path": "/.well-known/oauth-protected-resource",
            "name": "OAuth Protected Resource (RFC 9728)",
            "why": "Какой сервер авторизации защищает ваш API (RFC 9728).",
            "found": false
        },
        "api_cat": {
            "path": "/.well-known/api-catalog",
            "name": "Каталог API (RFC 9727)",
            "why": "Один адрес со списком всех ваших API — агенту не нужно их угадывать.",
            "found": false
        },
        "wba": {
            "path": "/.well-known/http-message-signatures-directory",
            "name": "Ключи подписи бота (Web Bot Auth)",
            "why": "Нужен, только если у вас есть свой бот или агент, который ходит на чужие сайты: по этим ключам его подписанные запросы отличают от подделки. Обычному сайту не нужен — проверку входящих подписей настраивают на сервере (см. agentfirewall.ru).",
            "found": false
        },
        "ucp": {
            "path": "/.well-known/ucp",
            "name": "Профиль UCP",
            "found": false,
            "why": "Описание сценария покупки или заявки для агента. Один из способов закрыть уровень 4."
        },
        "openapi": {
            "path": "/openapi.json",
            "name": "Описание API (OpenAPI)",
            "found": true,
            "why": "Машинное описание API: агент понимает, какие запросы можно делать. Входит в требования уровня 3."
        }
    },
    "can_ai_buy": "Да: Может записаться или запросить расчёт от имени заказчика.",
    "next_level": null,
    "type": {
        "id": "services",
        "name_ru": "Услуги",
        "declared": "auto",
        "detected": "services",
        "basis": [
            "размечен Service или вид деятельности (1)"
        ],
        "changed": false,
        "note": "",
        "pages_sampled": 3,
        "text_chars": 21513
    },
    "verdict": {
        "label": "Может ли ИИ записаться или заказать у вас",
        "answer": "Да",
        "text": "Может записаться или запросить расчёт от имени заказчика."
    },
    "scale": {
        "version": "1.1",
        "ceiling": 4,
        "calibration": "версия 1.1, калибровка не проведена"
    },
    "blockers": [],
    "summary": {
        "crit": 0,
        "high": 1,
        "med": 0,
        "pass": 42,
        "total": 43
    },
    "checks": [
        {
            "id": "s.https",
            "group": "server",
            "title": "Сайт работает по HTTPS",
            "prio": "crit",
            "status": "pass",
            "detail": "HTTPS, сертификат действителен.",
            "fix": ""
        },
        {
            "id": "s.status",
            "group": "server",
            "title": "Главная отвечает 200",
            "prio": "crit",
            "status": "pass",
            "detail": "Код ответа: 200.",
            "fix": ""
        },
        {
            "id": "s.redirects",
            "group": "server",
            "title": "Не больше одного редиректа, только 301",
            "prio": "crit",
            "status": "pass",
            "detail": "Редиректов нет.",
            "fix": ""
        },
        {
            "id": "s.noindex",
            "group": "server",
            "title": "Нет запрета индексации (noindex)",
            "prio": "crit",
            "status": "pass",
            "detail": "Запретов нет.",
            "fix": ""
        },
        {
            "id": "s.waf",
            "group": "server",
            "title": "Файрвол не блокирует ИИ-ботов",
            "prio": "crit",
            "status": "pass",
            "detail": "С User-Agent GPTBot и ClaudeBot главная отвечает 200 / 200. Приблизительно: настоящих ботов распознают ещё и по IP.",
            "fix": ""
        },
        {
            "id": "s.soft404",
            "group": "server",
            "title": "Несуществующая страница отвечает 404",
            "prio": "high",
            "status": "pass",
            "detail": "Ответ 404.",
            "fix": ""
        },
        {
            "id": "s.ctype",
            "group": "server",
            "title": "Content-Type text/html и UTF-8",
            "prio": "high",
            "status": "pass",
            "detail": "text/html; charset=utf-8",
            "fix": ""
        },
        {
            "id": "s.ttfb",
            "group": "server",
            "title": "Время до первого байта до 600 мс",
            "prio": "high",
            "status": "pass",
            "detail": "TTFB 8 мс (из дата-центра в России, один замер).",
            "fix": ""
        },
        {
            "id": "f.robots",
            "group": "files",
            "title": "Файл robots.txt",
            "prio": "crit",
            "status": "pass",
            "detail": "Найден, групп правил: 1.",
            "fix": ""
        },
        {
            "id": "f.robots_ai",
            "group": "files",
            "title": "robots.txt пускает ИИ-ботов",
            "prio": "crit",
            "status": "pass",
            "detail": "GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, CCBot — разрешены.",
            "fix": ""
        },
        {
            "id": "f.robots_yandex",
            "group": "files",
            "title": "robots.txt пускает YandexBot и YandexAdditional",
            "prio": "crit",
            "status": "pass",
            "detail": "Разрешены. Подтверждение в Яндекс.Вебмастере снаружи не видно — проверьте сами.",
            "fix": ""
        },
        {
            "id": "f.robots_sitemap",
            "group": "files",
            "title": "В robots.txt есть строка Sitemap",
            "prio": "high",
            "status": "pass",
            "detail": "Sitemap: https://agentoptimization.ru/sitemap.xml",
            "fix": ""
        },
        {
            "id": "f.sitemap",
            "group": "files",
            "title": "sitemap.xml с реальными датами lastmod",
            "prio": "crit",
            "status": "pass",
            "detail": "Адресов: 21, с lastmod: 21.",
            "fix": ""
        },
        {
            "id": "f.llms",
            "group": "files",
            "title": "Файл /llms.txt",
            "prio": "high",
            "status": "pass",
            "detail": "Найден, 5 КБ.",
            "fix": ""
        },
        {
            "id": "f.llms_full",
            "group": "files",
            "title": "Файл /llms-full.txt",
            "prio": "high",
            "status": "pass",
            "detail": "Найден.",
            "fix": ""
        },
        {
            "id": "f.agents",
            "group": "files",
            "title": "Инструкция для агентов /AGENTS.md",
            "prio": "med",
            "status": "pass",
            "detail": "Найдена, 4 КБ.",
            "fix": ""
        },
        {
            "id": "f.sitemap_md",
            "group": "files",
            "title": "Markdown-карта сайта /sitemap.md",
            "prio": "med",
            "status": "pass",
            "detail": "Найдена.",
            "fix": ""
        },
        {
            "id": "f.yml",
            "group": "files",
            "title": "Товарный фид YML для Яндекс Товаров",
            "prio": "high",
            "status": "na",
            "detail": "К группе «Услуги» не применимо.",
            "fix": ""
        },
        {
            "id": "f.ucp",
            "group": "files",
            "title": "Профиль /.well-known/ucp",
            "prio": "med",
            "status": "na",
            "detail": "Нет. Нужен только при онлайн-оплате на сайте.",
            "fix": ""
        },
        {
            "id": "h.lang",
            "group": "html",
            "title": "Атрибут lang у <html>",
            "prio": "crit",
            "status": "pass",
            "detail": "lang=\"ru\"",
            "fix": ""
        },
        {
            "id": "h.title",
            "group": "html",
            "title": "Уникальный <title> до ~60 символов",
            "prio": "crit",
            "status": "pass",
            "detail": "«Агентная оптимизация сайта: ответы нейросетей и ИИ-агенты» — 57 симв.",
            "fix": ""
        },
        {
            "id": "h.canonical",
            "group": "html",
            "title": "rel=\"canonical\"",
            "prio": "crit",
            "status": "pass",
            "detail": "/",
            "fix": ""
        },
        {
            "id": "h.desc",
            "group": "html",
            "title": "meta description 120–160 символов",
            "prio": "high",
            "status": "warn",
            "detail": "235 симв.",
            "fix": "Опишите страницу в 120–160 символах."
        },
        {
            "id": "h.og",
            "group": "html",
            "title": "Open Graph: 6 основных тегов",
            "prio": "high",
            "status": "pass",
            "detail": "Найдено 6 из 6: og:title, og:description, og:image, og:url, og:type, og:locale.",
            "fix": ""
        },
        {
            "id": "h.h1",
            "group": "html",
            "title": "Ровно один <h1>",
            "prio": "high",
            "status": "pass",
            "detail": "Найдено: 1.",
            "fix": ""
        },
        {
            "id": "h.headings",
            "group": "html",
            "title": "Иерархия h2–h3 (не меньше 3)",
            "prio": "high",
            "status": "pass",
            "detail": "Заголовков h2–h3: 29.",
            "fix": ""
        },
        {
            "id": "h.semantic",
            "group": "html",
            "title": "Семантические теги main, header, nav, footer",
            "prio": "high",
            "status": "pass",
            "detail": "Есть: main, header, nav, footer.",
            "fix": ""
        },
        {
            "id": "h.alt",
            "group": "html",
            "title": "У изображений есть alt",
            "prio": "high",
            "status": "pass",
            "detail": "С alt: 13 из 13.",
            "fix": ""
        },
        {
            "id": "h.ratio",
            "group": "html",
            "title": "Доля текста в HTML больше 15%",
            "prio": "med",
            "status": "pass",
            "detail": "Текст — 36,4% от объёма HTML.",
            "fix": ""
        },
        {
            "id": "j.present",
            "group": "jsonld",
            "title": "JSON-LD есть в исходном HTML",
            "prio": "crit",
            "status": "pass",
            "detail": "Блоков: 4. Типы: Organization, ImageObject, PostalAddress, ContactPoint, PropertyValue, WebSite, Service, Country, OfferCatalog, Offer, UnitPriceSpecification, QuantitativeValue, QuoteAction, EntryPoint.",
            "fix": ""
        },
        {
            "id": "j.nomicro",
            "group": "jsonld",
            "title": "Только JSON-LD, без Microdata и RDFa",
            "prio": "crit",
            "status": "pass",
            "detail": "Лишней разметки нет.",
            "fix": ""
        },
        {
            "id": "j.org",
            "group": "jsonld",
            "title": "Organization с реквизитами",
            "prio": "crit",
            "status": "pass",
            "detail": "Есть: legalName, logo, address, sameAs, контакты, реквизиты.",
            "fix": ""
        },
        {
            "id": "j.ids",
            "group": "jsonld",
            "title": "Связный граф через @id",
            "prio": "crit",
            "status": "pass",
            "detail": "Сущностей с @id: 29.",
            "fix": ""
        },
        {
            "id": "j.product",
            "group": "jsonld",
            "title": "Товары или услуги размечены (Product / Service)",
            "prio": "crit",
            "status": "na",
            "detail": "Для услуг этот пункт заменён проверкой «Услуги размечены (Service)».",
            "fix": ""
        },
        {
            "id": "j.service",
            "group": "jsonld",
            "title": "Услуги размечены (Service)",
            "prio": "crit",
            "status": "pass",
            "detail": "Сущностей услуг: 1, с полным набором полей: 1.",
            "fix": ""
        },
        {
            "id": "j.offer",
            "group": "jsonld",
            "title": "Цена в Offer, без нулевых цен",
            "prio": "crit",
            "status": "pass",
            "detail": "Предложений с ценой: 3, валюта указана.",
            "fix": ""
        },
        {
            "id": "j.avail",
            "group": "jsonld",
            "title": "Наличие через availability",
            "prio": "crit",
            "status": "na",
            "detail": "К группе «Услуги» не применимо.",
            "fix": ""
        },
        {
            "id": "j.props",
            "group": "jsonld",
            "title": "Единицы услуги: unitText, unitCode или additionalProperty",
            "prio": "crit",
            "status": "pass",
            "detail": "Единицы цены размечены (UnitPriceSpecification): 1.",
            "fix": ""
        },
        {
            "id": "j.action",
            "group": "jsonld",
            "title": "potentialAction: что агент может сделать",
            "prio": "crit",
            "status": "pass",
            "detail": "Действия: QuoteAction.",
            "fix": ""
        },
        {
            "id": "j.validuntil",
            "group": "jsonld",
            "title": "Срок действия цены priceValidUntil",
            "prio": "med",
            "status": "na",
            "detail": "Цен на товары нет.",
            "fix": ""
        },
        {
            "id": "j.terms",
            "group": "jsonld",
            "title": "Условия оказания услуги в разметке",
            "prio": "high",
            "status": "pass",
            "detail": "termsOfService указан.",
            "fix": ""
        },
        {
            "id": "j.faq",
            "group": "jsonld",
            "title": "FAQ, глоссарий или инструкции размечены",
            "prio": "med",
            "status": "pass",
            "detail": "Найдено: FAQPage.",
            "fix": ""
        },
        {
            "id": "j.article",
            "group": "jsonld",
            "title": "Материалы размечены (Article)",
            "prio": "crit",
            "status": "na",
            "detail": "К группе «Услуги» не применимо.",
            "fix": ""
        },
        {
            "id": "j.author",
            "group": "jsonld",
            "title": "Автор указан со ссылкой",
            "prio": "high",
            "status": "na",
            "detail": "К группе «Услуги» не применимо.",
            "fix": ""
        },
        {
            "id": "a.md_link",
            "group": "api",
            "title": "Markdown-зеркало страницы (link rel=\"alternate\")",
            "prio": "med",
            "status": "pass",
            "detail": "https://agentoptimization.ru/index.md",
            "fix": ""
        },
        {
            "id": "a.md_accept",
            "group": "api",
            "title": "Ответ в Markdown по Accept: text/markdown",
            "prio": "med",
            "status": "pass",
            "detail": "На запрос с Accept: text/markdown сервер ответил text/markdown; charset=utf-8.",
            "fix": ""
        },
        {
            "id": "a.openapi",
            "group": "api",
            "title": "Описание API (OpenAPI)",
            "prio": "med",
            "status": "pass",
            "detail": "Найдено: https://agentoptimization.ru/api/openapi.json",
            "fix": ""
        },
        {
            "id": "t.requisites",
            "group": "trust",
            "title": "Реквизиты юрлица: ИНН и ОГРН",
            "prio": "high",
            "status": "pass",
            "detail": "ИНН: есть, ОГРН: есть (на главной и в разметке).",
            "fix": ""
        },
        {
            "id": "t.privacy",
            "group": "trust",
            "title": "Политика обработки персональных данных",
            "prio": "crit",
            "status": "pass",
            "detail": "Ссылка на политику есть.",
            "fix": ""
        },
        {
            "id": "t.contacts",
            "group": "trust",
            "title": "Контакты: e-mail или телефон ссылкой",
            "prio": "high",
            "status": "pass",
            "detail": "Есть ссылки mailto/tel.",
            "fix": ""
        },
        {
            "id": "k.license",
            "group": "files",
            "title": "Условия использования материалов объявлены",
            "prio": "high",
            "status": "na",
            "detail": "К группе «Услуги» не применимо.",
            "fix": ""
        }
    ],
    "method_note": "Оценка по внешним признакам: сайт запрашивается по HTTP без выполнения JavaScript. Проверка файрвола приблизительная: настоящих ИИ-ботов сайты распознают также по IP-адресам, а мы можем подставить только User-Agent. Достоверность данных, методы испытаний и логи сервера снаружи проверить нельзя.",
    "cached": true,
    "scan_record": {
        "id": "ARS-20261115-000007",
        "signed_at": "2026-11-15T07:07:15Z",
        "checked_at": "2026-11-15T07:07:15Z",
        "level": 4,
        "url": "https://agentreadyscan.ru/api/v1/scan-record?id=ARS-20261115-000007",
        "verify": "https://agentreadyscan.ru/proverka-zapisi/?id=ARS-20261115-000007"
    },
    "estimate": {
        "inputs": {
            "engine": "custom",
            "vat": "vat5",
            "base": false,
            "skus": 0,
            "templates": 1,
            "feeds": false,
            "hours": 0,
            "calc_params": 0,
            "ycp": "none"
        },
        "why": {
            "template": [
                "meta description 120–160 символов"
            ]
        },
        "quote": {
            "ok": true,
            "price_list_version": "2.2",
            "currency": "RUB",
            "input": {
                "engine": "custom",
                "skus": 0,
                "ycp": "none",
                "vat": "vat5"
            },
            "lines": [
                {
                    "id": "template",
                    "name": "Разметка типа страницы",
                    "qty": 1,
                    "unit": "тип шаблона",
                    "price": 7500,
                    "coef": 1,
                    "sum": 7500,
                    "desc": "JSON-LD и таблица характеристик для одного типа страниц: карточка товара, категория, статья.",
                    "term": "2–3 дня на тип"
                }
            ],
            "subtotal": 7500,
            "urgency_coef": 1,
            "after_urgency": 7500,
            "discount_rate": 0,
            "discount": 0,
            "net": 7500,
            "vat_rate": 0.05,
            "vat": 375,
            "total": 7875,
            "vat_name": "НДС 5%",
            "monthly": {
                "net": 0,
                "vat": 0,
                "total": 0
            },
            "binding": true,
            "binding_note": "Смета по формуле прайс-листа v2.2. Сумма окончательная при подтверждении объёмов (число товаров, типов страниц, параметров); нестандартные часы согласуются до начала работ.",
            "price_list": "https://agentoptimization.ru/price.json"
        },
        "optional": [],
        "skus_found": 0,
        "calculator_url": "https://agentoptimization.ru/ceny/#kalkulyator",
        "quote_url": "https://agentoptimization.ru/api/v1/quote?engine=custom&skus=0&templates=1&hours=0&ycp=none&calc_params=0&vat=vat5",
        "note": "Оценка по отчёту: движок и число товаров определены автоматически, часы на проблемы сервера — средние. Точная сумма фиксируется в договоре по формуле прайс-листа после подтверждения объёмов."
    },
    "report_url": "https://agentreadyscan.ru/check/?url=agentoptimization.ru",
    "levels": "https://agentreadyscan.ru/levels.json",
    "site_page": "https://agentreadyscan.ru/site/agentoptimization.ru"
}