sso.passport.yandex.ru
Автоматическое сканирование по открытой шкале 1.1 · 1,7 с · группа «Не определена» (определена автоматически)
Что ИИ понимает про ваш сайт?
Доступ закрыт для ИИ-ботов: robots.txt запрещает им читать сайт.
Если тип определён неверно
Брошюра
Синяя ступень — сейчас. Пунктир — цель после работ.
# sso.passport.yandex.ru — уровень 0 из 4 «Брошюра» Сканирование на готовность к ИИ-агентам, 23.10.2026 09:47 UTC. Группа сайта: «Не определена». Отчёт: https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru · шкала: https://agentreadyscan.ru/metodika/ **Что ИИ понимает про ваш сайт?** Нет — Доступ закрыт для ИИ-ботов: robots.txt запрещает им читать сайт. Замечаний: критичных 11, важных 10, на доводку 7. В порядке: 10 из 38. ## Что мешает уровню 1 - **robots.txt пускает ИИ-ботов.** Запрещены: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, CCBot. Отдельно: запрещены Google-Extended, Applebot-Extended — это токены использования данных для ИИ Google и Apple, а не краулеры; решение за вами. Как исправить: Добавьте для них группы с Allow: /. - **sitemap.xml с реальными датами lastmod.** Карта сайта не найдена (https://sso.passport.yandex.ru/sitemap.xml). Как исправить: Создайте sitemap.xml со всеми страницами и датами изменения. - **JSON-LD есть в исходном HTML.** Разметки JSON-LD в HTML первого ответа нет. Если она добавляется скриптом — бот её не увидит. Как исправить: Выводите <script type="application/ld+json"> на сервере. - **Organization с реквизитами.** Сущности Organization нет. Как исправить: Опишите компанию: legalName, logo, address, contactPoint, sameAs, ИНН и ОГРН через identifier. ## Остальные замечания - **Не больше одного редиректа, только 301.** Цепочка: 302 https://yandex.ru/ → 302 https://dzen.ru/?yredirect=true → 200 https://sso.passport.yandex.ru/push?uuid=92ba67fc-4f76-48ce-b4a0-1265c72f2ec1&retpath=https%3A%2F%2Fdzen.ru%2F%3Fyredirect%3Dtrue%26is_autologin_ya%3Dtrue. Как исправить: Замените временные редиректы (302/307) на 301. - **robots.txt пускает YandexBot и YandexAdditional.** Запрещены: YandexBot, YandexAdditional. YandexAdditional отвечает за ответы Алисы и Нейро. Как исправить: Разрешите YandexBot и YandexAdditional. - **В robots.txt есть строка Sitemap.** Строки Sitemap нет. Как исправить: Добавьте строку Sitemap: https://ваш-сайт/sitemap.xml - **Файл /llms.txt.** Не найден (404). Как исправить: Создайте llms.txt: кто вы, что продаёте, ссылки на ключевые разделы и данные. Это соглашение, а не стандарт, но пункт дешёвый. - **Файл /llms-full.txt.** Не найден (404). Как исправить: Выложите полный Markdown-каталог: линейки, характеристики, применение. - **Инструкция для агентов /AGENTS.md.** Не найдена (404). Как исправить: Опишите точки входа, как получить цену, единицы измерения и оговорки о достоверности. - **Markdown-карта сайта /sitemap.md.** Не найдена (404). Как исправить: Выложите карту сайта в Markdown для агентов. - **Атрибут lang у <html>.** Не указан. Как исправить: Добавьте <html lang="ru">. - **Уникальный <title> до ~60 символов.** Заголовка нет. Как исправить: Добавьте <title>. - **rel="canonical".** Не найден. Как исправить: Добавьте <link rel="canonical"> на каждую страницу. - **meta description 120–160 символов.** Нет. Как исправить: Опишите страницу в 120–160 символах. - **Open Graph: 6 основных тегов.** Найдено 0 из 6. Как исправить: Добавьте og:title, og:description, og:image, og:url, og:type, og:locale. - **Ровно один <h1>.** Найдено: 0. Как исправить: На странице должен быть один главный заголовок. - **Иерархия h2–h3 (не меньше 3).** Заголовков h2–h3: 0. Как исправить: Разбейте содержание на разделы с заголовками. - **Семантические теги main, header, nav, footer.** Есть: ни одного. Как исправить: Разметьте страницу семантическими тегами. - **Доля текста в HTML больше 15%.** Текст — 0,0% от объёма HTML. Как исправить: Страница — в основном код. Проверьте, что содержание есть в HTML, а не подгружается скриптами. - **Товары или услуги размечены (Product / Service).** Ни на главной, ни на страницах из карты сайта нет разметки Product/Service. Если карточки есть — укажите одну вручную. Как исправить: Разметьте карточки товаров типом Product с Offer. - **potentialAction: что агент может сделать.** Действий не объявлено. Как исправить: Объявите BuyAction, QuoteAction или SearchAction с адресом. - **FAQ, глоссарий или инструкции размечены.** Не найдено на проверенных страницах. Как исправить: Разметьте FAQ, глоссарий терминов (DefinedTermSet) и инструкции. - **Markdown-зеркало страницы (link rel="alternate").** Ссылки на Markdown-версию нет. Как исправить: Добавьте <link rel="alternate" type="text/markdown" href="…">. - **Ответ в Markdown по Accept: text/markdown.** На запрос с Accept: text/markdown сервер ответил text/html; charset=utf-8. Как исправить: Отдавайте Markdown-версию по заголовку Accept (content negotiation). - **Описание API (OpenAPI).** Открытого API с описанием OpenAPI не найдено. Как исправить: Опубликуйте JSON-API товаров и цены с OpenAPI-схемой и сошлитесь на неё из AGENTS.md. - **Реквизиты юрлица: ИНН и ОГРН.** ИНН: нет, ОГРН: нет (на главной и в разметке). Как исправить: Покажите полное наименование, ИНН, ОГРН и юридический адрес — хотя бы в подвале. Для англоязычного сайта подойдут метки INN и OGRN либо поля taxID и identifier в разметке Organization. - **Контакты: e-mail или телефон ссылкой.** Нет ссылок mailto: или tel:. Как исправить: Сделайте почту и телефон ссылками — агент распознает их однозначно. ## Объём главной страницы для агента - Исходный HTML: примерно 806 токенов - То же содержание текстом: примерно 0 токенов - Лишнее (вёрстка, скрипты, стили): 100% Оценка: у каждой модели свой токенизатор, точное число отличается примерно на пятую часть. ## Справочная смета исправлений (прайс AI-D2C) - Базовый слой для агентов — 20 000 ₽, срок 1 неделя - Разметка типа страницы — 15 000 ₽, срок 2–3 дня на тип - Нестандартная работа — 3 000 ₽, срок по оценке - **Итого с НДС: 39 900 ₽** Цена одна для всех, исполнителя вы выбираете сами. Оферта: https://aid2c.ru/oferta/ --- Оценка по внешним признакам на дату сканирования: сайт запрашивается по HTTP без выполнения JavaScript. Это не сертификат. Сервис делает ООО «САРМАТЕХ», которое под маркой AI-D2C выполняет и работы по подготовке сайтов, поэтому проверка не независима.
Что нужно сделать, чтобы подняться на уровень 1
Отмечайте сделанное, так проще не потерять нить. Когда закончите, просканируйте сайт заново.
Задача: поднять сайт sso.passport.yandex.ru до уровня 1 готовности к ИИ-агентам
Проверка: https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru — шкала и требования открыты: https://agentreadyscan.ru/metodika/
Сканер читает исходный HTML без выполнения JavaScript. Всё, что появляется только после скриптов, он считает отсутствующим.
Ниже 4 пункта. Их нужно закрыть все: уровень присваивается, только когда выполнены все требования.
————————————————————————————————————————————————————————————
ПУНКТ 1 из 4
Задача: robots.txt пускает ИИ-ботов — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Запрещены: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, CCBot. Отдельно: запрещены Google-Extended, Applebot-Extended — это токены использования данных для ИИ Google и Apple, а не краулеры; решение за вами.
Что нужно сделать: Добавьте для них группы с Allow: /.
Ориентир по коду (Файл robots.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```text
# Поисковые системы
User-agent: *
Allow: /
# ИИ-боты: обход и использование в ответах
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xml
```
Требования к правке:
- Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа.
- Кодировка UTF-8, перевод строки — обычный, без BOM.
- Адреса внутри файла — полные, с https:// и доменом.
- Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «robots.txt пускает ИИ-ботов» закрыт.
————————————————————————————————————————————————————————————
ПУНКТ 2 из 4
Задача: sitemap.xml с реальными датами lastmod — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Карта сайта не найдена (https://sso.passport.yandex.ru/sitemap.xml).
Что нужно сделать: Создайте sitemap.xml со всеми страницами и датами изменения.
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «sitemap.xml с реальными датами lastmod» закрыт.
————————————————————————————————————————————————————————————
ПУНКТ 3 из 4
Задача: JSON-LD есть в исходном HTML — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Разметки JSON-LD в HTML первого ответа нет. Если она добавляется скриптом — бот её не увидит.
Что нужно сделать: Выводите <script type="application/ld+json"> на сервере.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «JSON-LD есть в исходном HTML» закрыт.
————————————————————————————————————————————————————————————
ПУНКТ 4 из 4
Задача: Organization с реквизитами — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Сущности Organization нет.
Что нужно сделать: Опишите компанию: legalName, logo, address, contactPoint, sameAs, ИНН и ОГРН через identifier.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Organization с реквизитами» закрыт.
robots.txt пускает ИИ-ботов
Запрещены: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, CCBot. Отдельно: запрещены Google-Extended, Applebot-Extended — это токены использования данных для ИИ Google и Apple, а не краулеры; решение за вами.
Явные разрешения для ИИ-ботов. Боты читают первую подходящую им группу, поэтому для каждого бота пишется своя секция, а общее «User-agent: *» их не покрывает.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
# Поисковые системы
User-agent: *
Allow: /
# ИИ-боты: обход и использование в ответах
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
# Поисковые системы
User-agent: *
Allow: /
# ИИ-боты: обход и использование в ответах
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
# Поисковые системы
User-agent: *
Allow: /
# ИИ-боты: обход и использование в ответах
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlTilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
# Поисковые системы
User-agent: *
Allow: /
# ИИ-боты: обход и использование в ответах
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlЗадача: robots.txt пускает ИИ-ботов — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Запрещены: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, CCBot. Отдельно: запрещены Google-Extended, Applebot-Extended — это токены использования данных для ИИ Google и Apple, а не краулеры; решение за вами. Что нужно сделать: Добавьте для них группы с Allow: /. Ориентир по коду (Файл robots.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```text # Поисковые системы User-agent: * Allow: / # ИИ-боты: обход и использование в ответах User-agent: GPTBot Allow: / User-agent: OAI-SearchBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: ClaudeBot Allow: / User-agent: Claude-User Allow: / User-agent: Claude-SearchBot Allow: / User-agent: PerplexityBot Allow: / User-agent: YandexBot Allow: / User-agent: YandexAdditional Allow: / Sitemap: https://sso.passport.yandex.ru/sitemap.xml ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «robots.txt пускает ИИ-ботов» закрыт.
sitemap.xml с реальными датами lastmod
Карта сайта не найдена (https://sso.passport.yandex.ru/sitemap.xml).
Задача: sitemap.xml с реальными датами lastmod — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Карта сайта не найдена (https://sso.passport.yandex.ru/sitemap.xml). Что нужно сделать: Создайте sitemap.xml со всеми страницами и датами изменения. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «sitemap.xml с реальными датами lastmod» закрыт.
JSON-LD есть в исходном HTML
Разметки JSON-LD в HTML первого ответа нет. Если она добавляется скриптом — бот её не увидит.
Разметка организации в исходном HTML: с неё начинается весь граф данных сайта.
Вставляется в <head> страницы, до закрывающего </head>.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
Задача: JSON-LD есть в исходном HTML — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Разметки JSON-LD в HTML первого ответа нет. Если она добавляется скриптом — бот её не увидит.
Что нужно сделать: Выводите <script type="application/ld+json"> на сервере.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «JSON-LD есть в исходном HTML» закрыт.Organization с реквизитами
Сущности Organization нет.
Organization с реквизитами. ИНН и ОГРН кладутся в identifier как PropertyValue: это единственный способ передать их машинно.
Вставляется в <head> страницы, до закрывающего </head>.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
Задача: Organization с реквизитами — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Сущности Organization нет.
Что нужно сделать: Опишите компанию: legalName, logo, address, contactPoint, sameAs, ИНН и ОГРН через identifier.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Organization с реквизитами» закрыт.Можно поправить за час, без разработчика
Не влияет на уровень, но агентам станет понятнее.
robots.txt пускает YandexBot и YandexAdditional
Запрещены: YandexBot, YandexAdditional. YandexAdditional отвечает за ответы Алисы и Нейро.
YandexBot отвечает за поиск, YandexAdditional — за ответы нейросети Яндекса. Закрыв второго, вы выпадаете из ответов Алисы и нейропоиска.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlTilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlЗадача: robots.txt пускает YandexBot и YandexAdditional — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Запрещены: YandexBot, YandexAdditional. YandexAdditional отвечает за ответы Алисы и Нейро. Что нужно сделать: Разрешите YandexBot и YandexAdditional. Ориентир по коду (Файл robots.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```text User-agent: YandexBot Allow: / User-agent: YandexAdditional Allow: / Sitemap: https://sso.passport.yandex.ru/sitemap.xml ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «robots.txt пускает YandexBot и YandexAdditional» закрыт.
В robots.txt есть строка Sitemap
Строки Sitemap нет.
Строка Sitemap пишется последней, после всех групп. Строк может быть несколько, если карт несколько.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlTilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlЗадача: В robots.txt есть строка Sitemap — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Строки Sitemap нет. Что нужно сделать: Добавьте строку Sitemap: https://ваш-сайт/sitemap.xml Ориентир по коду (Файл robots.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```text Sitemap: https://sso.passport.yandex.ru/sitemap.xml ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «В robots.txt есть строка Sitemap» закрыт.
Файл /llms.txt
Не найден (404).
Короткая выжимка о сайте для языковых моделей. Готовый генератор с проверкой — на странице /llms-txt/.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
# Название компании
> Одно-два предложения: чем занимаетесь, что продаёте, где работаете.
Язык сайта — русский.
## Каталог
- [Раздел каталога](https://sso.passport.yandex.ru/catalog/razdel/): что внутри, диапазон цен
- [Второй раздел](https://sso.passport.yandex.ru/catalog/vtoroy/)
## Условия
- [Доставка](https://sso.passport.yandex.ru/dostavka/)
- [Оплата](https://sso.passport.yandex.ru/oplata/)
## Контакты
- info@sso.passport.yandex.ru
- ООО «Название», ИНН 0000000000Положите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
# Название компании
> Одно-два предложения: чем занимаетесь, что продаёте, где работаете.
Язык сайта — русский.
## Каталог
- [Раздел каталога](https://sso.passport.yandex.ru/catalog/razdel/): что внутри, диапазон цен
- [Второй раздел](https://sso.passport.yandex.ru/catalog/vtoroy/)
## Условия
- [Доставка](https://sso.passport.yandex.ru/dostavka/)
- [Оплата](https://sso.passport.yandex.ru/oplata/)
## Контакты
- info@sso.passport.yandex.ru
- ООО «Название», ИНН 0000000000Положите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
# Название компании
> Одно-два предложения: чем занимаетесь, что продаёте, где работаете.
Язык сайта — русский.
## Каталог
- [Раздел каталога](https://sso.passport.yandex.ru/catalog/razdel/): что внутри, диапазон цен
- [Второй раздел](https://sso.passport.yandex.ru/catalog/vtoroy/)
## Условия
- [Доставка](https://sso.passport.yandex.ru/dostavka/)
- [Оплата](https://sso.passport.yandex.ru/oplata/)
## Контакты
- info@sso.passport.yandex.ru
- ООО «Название», ИНН 0000000000Tilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
# Название компании
> Одно-два предложения: чем занимаетесь, что продаёте, где работаете.
Язык сайта — русский.
## Каталог
- [Раздел каталога](https://sso.passport.yandex.ru/catalog/razdel/): что внутри, диапазон цен
- [Второй раздел](https://sso.passport.yandex.ru/catalog/vtoroy/)
## Условия
- [Доставка](https://sso.passport.yandex.ru/dostavka/)
- [Оплата](https://sso.passport.yandex.ru/oplata/)
## Контакты
- info@sso.passport.yandex.ru
- ООО «Название», ИНН 0000000000Задача: Файл /llms.txt — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найден (404). Что нужно сделать: Создайте llms.txt: кто вы, что продаёте, ссылки на ключевые разделы и данные. Это соглашение, а не стандарт, но пункт дешёвый. Ориентир по коду (Файл llms.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```markdown # Название компании > Одно-два предложения: чем занимаетесь, что продаёте, где работаете. Язык сайта — русский. ## Каталог - [Раздел каталога](https://sso.passport.yandex.ru/catalog/razdel/): что внутри, диапазон цен - [Второй раздел](https://sso.passport.yandex.ru/catalog/vtoroy/) ## Условия - [Доставка](https://sso.passport.yandex.ru/dostavka/) - [Оплата](https://sso.passport.yandex.ru/oplata/) ## Контакты - info@sso.passport.yandex.ru - ООО «Название», ИНН 0000000000 ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Файл /llms.txt» закрыт.
Файл /llms-full.txt
Не найден (404).
Полный текст ключевых страниц одним файлом. Собирается скриптом при публикации: заголовок страницы, адрес, текст без вёрстки.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
# Полные тексты страниц sso.passport.yandex.ru
## Доставка
https://sso.passport.yandex.ru/dostavka/
Текст страницы без вёрстки.
## Оплата
https://sso.passport.yandex.ru/oplata/
Текст страницы без вёрстки.Положите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
# Полные тексты страниц sso.passport.yandex.ru
## Доставка
https://sso.passport.yandex.ru/dostavka/
Текст страницы без вёрстки.
## Оплата
https://sso.passport.yandex.ru/oplata/
Текст страницы без вёрстки.Положите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
# Полные тексты страниц sso.passport.yandex.ru
## Доставка
https://sso.passport.yandex.ru/dostavka/
Текст страницы без вёрстки.
## Оплата
https://sso.passport.yandex.ru/oplata/
Текст страницы без вёрстки.Tilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
# Полные тексты страниц sso.passport.yandex.ru
## Доставка
https://sso.passport.yandex.ru/dostavka/
Текст страницы без вёрстки.
## Оплата
https://sso.passport.yandex.ru/oplata/
Текст страницы без вёрстки.Задача: Файл /llms-full.txt — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найден (404). Что нужно сделать: Выложите полный Markdown-каталог: линейки, характеристики, применение. Ориентир по коду (Файл llms-full.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```markdown # Полные тексты страниц sso.passport.yandex.ru ## Доставка https://sso.passport.yandex.ru/dostavka/ Текст страницы без вёрстки. ## Оплата https://sso.passport.yandex.ru/oplata/ Текст страницы без вёрстки. ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Файл /llms-full.txt» закрыт.
Инструкция для агентов /AGENTS.md
Не найдена (404).
Инструкция для агентов: где брать данные машинно и чего делать не нужно. Имя файла пишется прописными буквами.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
# AGENTS.md
Инструкция для ИИ-агентов, работающих с сайтом sso.passport.yandex.ru.
## Что здесь есть
Коротко: чем занимается компания и что можно найти на сайте.
## Машиночитаемые источники
- Карта сайта: https://sso.passport.yandex.ru/sitemap.xml
- Краткая выжимка: https://sso.passport.yandex.ru/llms.txt
- Описание API: https://sso.passport.yandex.ru/openapi.json
- Товарный фид (YML): https://sso.passport.yandex.ru/feed.yml
## Как пользоваться данными
- Цены и наличие берите из JSON-LD на странице товары: они обновляются вместе с каталогом.
- Срок действия цены указан в priceValidUntil. После этой даты цену нужно запросить заново.
- Ссылайтесь на страницу товары, а не на каталог целиком.
## Чего делать не нужно
- Не оформляйте заказ без подтверждения человека.
- Не используйте фотографии отдельно от описания товары.
## Контакт для вопросов
info@sso.passport.yandex.ruПоложите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
# AGENTS.md
Инструкция для ИИ-агентов, работающих с сайтом sso.passport.yandex.ru.
## Что здесь есть
Коротко: чем занимается компания и что можно найти на сайте.
## Машиночитаемые источники
- Карта сайта: https://sso.passport.yandex.ru/sitemap.xml
- Краткая выжимка: https://sso.passport.yandex.ru/llms.txt
- Описание API: https://sso.passport.yandex.ru/openapi.json
- Товарный фид (YML): https://sso.passport.yandex.ru/feed.yml
## Как пользоваться данными
- Цены и наличие берите из JSON-LD на странице товары: они обновляются вместе с каталогом.
- Срок действия цены указан в priceValidUntil. После этой даты цену нужно запросить заново.
- Ссылайтесь на страницу товары, а не на каталог целиком.
## Чего делать не нужно
- Не оформляйте заказ без подтверждения человека.
- Не используйте фотографии отдельно от описания товары.
## Контакт для вопросов
info@sso.passport.yandex.ruПоложите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
# AGENTS.md
Инструкция для ИИ-агентов, работающих с сайтом sso.passport.yandex.ru.
## Что здесь есть
Коротко: чем занимается компания и что можно найти на сайте.
## Машиночитаемые источники
- Карта сайта: https://sso.passport.yandex.ru/sitemap.xml
- Краткая выжимка: https://sso.passport.yandex.ru/llms.txt
- Описание API: https://sso.passport.yandex.ru/openapi.json
- Товарный фид (YML): https://sso.passport.yandex.ru/feed.yml
## Как пользоваться данными
- Цены и наличие берите из JSON-LD на странице товары: они обновляются вместе с каталогом.
- Срок действия цены указан в priceValidUntil. После этой даты цену нужно запросить заново.
- Ссылайтесь на страницу товары, а не на каталог целиком.
## Чего делать не нужно
- Не оформляйте заказ без подтверждения человека.
- Не используйте фотографии отдельно от описания товары.
## Контакт для вопросов
info@sso.passport.yandex.ruTilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
# AGENTS.md
Инструкция для ИИ-агентов, работающих с сайтом sso.passport.yandex.ru.
## Что здесь есть
Коротко: чем занимается компания и что можно найти на сайте.
## Машиночитаемые источники
- Карта сайта: https://sso.passport.yandex.ru/sitemap.xml
- Краткая выжимка: https://sso.passport.yandex.ru/llms.txt
- Описание API: https://sso.passport.yandex.ru/openapi.json
- Товарный фид (YML): https://sso.passport.yandex.ru/feed.yml
## Как пользоваться данными
- Цены и наличие берите из JSON-LD на странице товары: они обновляются вместе с каталогом.
- Срок действия цены указан в priceValidUntil. После этой даты цену нужно запросить заново.
- Ссылайтесь на страницу товары, а не на каталог целиком.
## Чего делать не нужно
- Не оформляйте заказ без подтверждения человека.
- Не используйте фотографии отдельно от описания товары.
## Контакт для вопросов
info@sso.passport.yandex.ruЗадача: Инструкция для агентов /AGENTS.md — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найдена (404). Что нужно сделать: Опишите точки входа, как получить цену, единицы измерения и оговорки о достоверности. Ориентир по коду (Файл AGENTS.md). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```markdown # AGENTS.md Инструкция для ИИ-агентов, работающих с сайтом sso.passport.yandex.ru. ## Что здесь есть Коротко: чем занимается компания и что можно найти на сайте. ## Машиночитаемые источники - Карта сайта: https://sso.passport.yandex.ru/sitemap.xml - Краткая выжимка: https://sso.passport.yandex.ru/llms.txt - Описание API: https://sso.passport.yandex.ru/openapi.json - Товарный фид (YML): https://sso.passport.yandex.ru/feed.yml ## Как пользоваться данными - Цены и наличие берите из JSON-LD на странице товары: они обновляются вместе с каталогом. - Срок действия цены указан в priceValidUntil. После этой даты цену нужно запросить заново. - Ссылайтесь на страницу товары, а не на каталог целиком. ## Чего делать не нужно - Не оформляйте заказ без подтверждения человека. - Не используйте фотографии отдельно от описания товары. ## Контакт для вопросов info@sso.passport.yandex.ru ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Инструкция для агентов /AGENTS.md» закрыт.
Markdown-карта сайта /sitemap.md
Не найдена (404).
Карта сайта для чтения, а не для поисковых систем: только важные страницы с пояснениями.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
# Карта сайта sso.passport.yandex.ru
- [Главная](https://sso.passport.yandex.ru/) — чем занимается компания
- [Каталог](https://sso.passport.yandex.ru/catalog/) — все разделы
- [Доставка](https://sso.passport.yandex.ru/dostavka/) — сроки и стоимость
- [Контакты](https://sso.passport.yandex.ru/kontakty/) — адрес, телефон, реквизитыПоложите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
# Карта сайта sso.passport.yandex.ru
- [Главная](https://sso.passport.yandex.ru/) — чем занимается компания
- [Каталог](https://sso.passport.yandex.ru/catalog/) — все разделы
- [Доставка](https://sso.passport.yandex.ru/dostavka/) — сроки и стоимость
- [Контакты](https://sso.passport.yandex.ru/kontakty/) — адрес, телефон, реквизитыПоложите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
# Карта сайта sso.passport.yandex.ru
- [Главная](https://sso.passport.yandex.ru/) — чем занимается компания
- [Каталог](https://sso.passport.yandex.ru/catalog/) — все разделы
- [Доставка](https://sso.passport.yandex.ru/dostavka/) — сроки и стоимость
- [Контакты](https://sso.passport.yandex.ru/kontakty/) — адрес, телефон, реквизитыTilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
# Карта сайта sso.passport.yandex.ru
- [Главная](https://sso.passport.yandex.ru/) — чем занимается компания
- [Каталог](https://sso.passport.yandex.ru/catalog/) — все разделы
- [Доставка](https://sso.passport.yandex.ru/dostavka/) — сроки и стоимость
- [Контакты](https://sso.passport.yandex.ru/kontakty/) — адрес, телефон, реквизитыЗадача: Markdown-карта сайта /sitemap.md — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найдена (404). Что нужно сделать: Выложите карту сайта в Markdown для агентов. Ориентир по коду (Файл sitemap.md). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```markdown # Карта сайта sso.passport.yandex.ru - [Главная](https://sso.passport.yandex.ru/) — чем занимается компания - [Каталог](https://sso.passport.yandex.ru/catalog/) — все разделы - [Доставка](https://sso.passport.yandex.ru/dostavka/) — сроки и стоимость - [Контакты](https://sso.passport.yandex.ru/kontakty/) — адрес, телефон, реквизиты ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Markdown-карта сайта /sitemap.md» закрыт.
Атрибут lang у <html>
Не указан.
Язык страницы. Правится в открывающем теге html, а не в head.
Вставляется в <head> страницы, до закрывающего </head>.
<html lang="ru">Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<html lang="ru">
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<html lang="ru">
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<html lang="ru">
Задача: Атрибут lang у <html> — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не указан. Что нужно сделать: Добавьте <html lang="ru">. Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```html <html lang="ru"> ``` Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Атрибут lang у <html>» закрыт.
Уникальный <title> до ~60 символов
Заголовка нет.
Задача: Уникальный <title> до ~60 символов — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Заголовка нет. Что нужно сделать: Добавьте <title>. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Уникальный <title> до ~60 символов» закрыт.
rel="canonical"
Не найден.
Канонический адрес — полный, с протоколом и доменом. На каждой странице он свой.
Вставляется в <head> страницы, до закрывающего </head>.
<link rel="canonical" href="https://sso.passport.yandex.ru/tekushchaya-stranica/">Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<link rel="canonical" href="https://sso.passport.yandex.ru/tekushchaya-stranica/">
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<link rel="canonical" href="https://sso.passport.yandex.ru/tekushchaya-stranica/">
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<link rel="canonical" href="https://sso.passport.yandex.ru/tekushchaya-stranica/">
Задача: rel="canonical" — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найден. Что нужно сделать: Добавьте <link rel="canonical"> на каждую страницу. Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```html <link rel="canonical" href="https://sso.passport.yandex.ru/tekushchaya-stranica/"> ``` Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «rel="canonical"» закрыт.
meta description 120–160 символов
Нет.
Описание страницы длиной 120–160 символов, своё на каждой странице.
Вставляется в <head> страницы, до закрывающего </head>.
<meta name="description" content="Что это за страница и что на ней можно сделать. Одно-два предложения длиной 120–160 символов.">Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<meta name="description" content="Что это за страница и что на ней можно сделать. Одно-два предложения длиной 120–160 символов.">
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<meta name="description" content="Что это за страница и что на ней можно сделать. Одно-два предложения длиной 120–160 символов.">
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<meta name="description" content="Что это за страница и что на ней можно сделать. Одно-два предложения длиной 120–160 символов.">
Задача: meta description 120–160 символов — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Нет. Что нужно сделать: Опишите страницу в 120–160 символах. Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```html <meta name="description" content="Что это за страница и что на ней можно сделать. Одно-два предложения длиной 120–160 символов."> ``` Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «meta description 120–160 символов» закрыт.
Open Graph: 6 основных тегов
Найдено 0 из 6.
Шесть основных тегов Open Graph. Адрес картинки — абсолютный.
Вставляется в <head> страницы, до закрывающего </head>.
<meta property="og:title" content="Заголовок страницы">
<meta property="og:description" content="Описание страницы в одно-два предложения.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://sso.passport.yandex.ru/tekushchaya-stranica/">
<meta property="og:image" content="https://sso.passport.yandex.ru/assets/og.png">
<meta property="og:site_name" content="Название компании">Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<meta property="og:title" content="Заголовок страницы">
<meta property="og:description" content="Описание страницы в одно-два предложения.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://sso.passport.yandex.ru/tekushchaya-stranica/">
<meta property="og:image" content="https://sso.passport.yandex.ru/assets/og.png">
<meta property="og:site_name" content="Название компании">
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<meta property="og:title" content="Заголовок страницы">
<meta property="og:description" content="Описание страницы в одно-два предложения.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://sso.passport.yandex.ru/tekushchaya-stranica/">
<meta property="og:image" content="https://sso.passport.yandex.ru/assets/og.png">
<meta property="og:site_name" content="Название компании">
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<meta property="og:title" content="Заголовок страницы">
<meta property="og:description" content="Описание страницы в одно-два предложения.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://sso.passport.yandex.ru/tekushchaya-stranica/">
<meta property="og:image" content="https://sso.passport.yandex.ru/assets/og.png">
<meta property="og:site_name" content="Название компании">
Задача: Open Graph: 6 основных тегов — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Найдено 0 из 6. Что нужно сделать: Добавьте og:title, og:description, og:image, og:url, og:type, og:locale. Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```html <meta property="og:title" content="Заголовок страницы"> <meta property="og:description" content="Описание страницы в одно-два предложения."> <meta property="og:type" content="website"> <meta property="og:url" content="https://sso.passport.yandex.ru/tekushchaya-stranica/"> <meta property="og:image" content="https://sso.passport.yandex.ru/assets/og.png"> <meta property="og:site_name" content="Название компании"> ``` Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Open Graph: 6 основных тегов» закрыт.
Реквизиты юрлица: ИНН и ОГРН
ИНН: нет, ОГРН: нет (на главной и в разметке).
Реквизиты в разметке — не замена подвалу, а дополнение к нему: агент берёт их отсюда, человек из подвала.
Вставляется в <head> страницы, до закрывающего </head>.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
Задача: Реквизиты юрлица: ИНН и ОГРН — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: ИНН: нет, ОГРН: нет (на главной и в разметке).
Что нужно сделать: Покажите полное наименование, ИНН, ОГРН и юридический адрес — хотя бы в подвале. Для англоязычного сайта подойдут метки INN и OGRN либо поля taxID и identifier в разметке Organization.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Реквизиты юрлица: ИНН и ОГРН» закрыт.Контакты: e-mail или телефон ссылкой
Нет ссылок mailto: или tel:.
Задача: Контакты: e-mail или телефон ссылкой — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Нет ссылок mailto: или tel:. Что нужно сделать: Сделайте почту и телефон ссылками — агент распознает их однозначно. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Контакты: e-mail или телефон ссылкой» закрыт.
Из чего складывается цена
| Позиция прайса | Объём | Сумма |
|---|---|---|
| Базовый слой для агентовсрок: 1 неделяrobots.txt для ИИ-ботов, sitemap с датами, llms.txt, AGENTS.md, Markdown-версии страниц, разметка компании с ИНН и ОГРН.Закрывает в отчёте: robots.txt пускает ИИ-ботов; robots.txt пускает YandexBot и YandexAdditional; В robots.txt есть строка Sitemap; sitemap.xml с реальными датами lastmod; Файл /llms.txt; Файл /llms-full.txt и ещё 7 | 1 × 20 000 ₽ | 20 000 ₽ |
| Разметка типа страницысрок: 2–3 дня на типJSON-LD и таблица характеристик для одного типа страниц: карточка товара, категория, статья.Закрывает в отчёте: Атрибут lang у <html>; Уникальный <title> до ~60 символов; rel="canonical"; meta description 120–160 символов; Open Graph: 6 основных тегов; Ровно один <h1> и ещё 5 | 2 × 7 500 ₽ | 15 000 ₽ |
| Нестандартная работасрок: по оценкеТо, чего нет в прайсе. Количество часов называем и согласуем до начала работ.Закрывает в отчёте: Не больше одного редиректа, только 301 (1 ч) | 1 × 3 000 ₽ | 3 000 ₽ |
| API расчёта цены · по желаниюНужно для уровня 3, если цена зависит от размера или опций. | — | 10 000 ₽ + 5 000 ₽ за параметр |
| Подключение к «Купить в 1 клик» в Алисе AI (YCP) · по желаниюДля уровня 4 в рознице. Для B2B вместо этого — документированный запрос расчёта. | — | 60 000 ₽ (по API) |
| Без НДС | 38 000 ₽ | |
| НДС 5% | 1 900 ₽ | |
| Итого | 39 900 ₽ | |
По умолчанию работы оплачиваются одним объёмом. По согласованию до начала работ проект можно разбить на этапы: первым этапом идёт Базовый слой для агентов, 20 000 ₽ без НДС, срок 1 неделя.
Оценка по отчёту: движок и число товаров определены автоматически, часы на проблемы сервера — средние. Точная сумма фиксируется в договоре по формуле прайс-листа после подтверждения объёмов. Строки «по желанию» в итог не входят. Цена одна для всех, исполнителя выбираете вы.
Оставить заявку на исправление ↗ОплатитьУточнить объёмы в калькуляторе ↗Публичная оферта ↗
Как это работает: 1) заявка, бесплатно и без договора; 2) смета на почту по этому прайсу; 3) счёт по согласованной смете. Договор заключается, когда вы подтверждаете смету письмом или оплачиваете счёт (оферта, п. 3.3). Кнопка «Оплатить» ведёт на страницу об оплате: онлайн-оплата в разработке, сейчас оплата по счёту.
Что дальше
Исправить самому
Часть пунктов закрывается за час без разработчика. У каждого пункта написано, как исправить.
Передать студии или разработчику
Отчёт и шкала открыты: любой исполнитель увидит те же требования. После правок просканируйте сайт заново.
Заявка в AI-D2C
Работы по смете, цена по публичному прайсу. Смета придёт на почту, оплата только после вашего согласия. Оставить заявку ↗
Вы веб-студия и работаете по этой методике? Напишите нам: будем рекомендовать вас в отчётах, когда запустим список партнёров.
Что видит агент
Столько агент тратит на одно обращение к вашей главной странице. 100% этого объёма — вёрстка и скрипты, в которых нет содержания: агент платит за них так же, как за текст. Markdown-версия страницы (пункты «Markdown-зеркало» и «Ответ по Accept» в расшифровке) убирает эту разницу: человек получает обычную страницу, агент — только текст.
Оценка: у каждой модели свой токенизатор, точное число отличается примерно на пятую часть. Считается по главной странице, остальные страницы сканер целиком не загружает.
Машинные точки входа: 0 из 7
Адреса, по которым агент ищет машинный вход на сайт, не разбирая страницы. На уровень они не влияют: ни один из этих форматов пока не обязателен, и большинству сайтов нужны не все. Панель показывает, что принято в отрасли сейчас — и что из этого у вас уже есть.
| нет | Карточка MCP-сервера/.well-known/mcp.json | Говорит агенту, что у сайта есть MCP-сервер и какие у него инструменты. Черновик SEP-1649. |
| нет | Карточка агента A2A/.well-known/agent.json | Описание собственного агента сайта для протокола agent-to-agent (A2A v1.0). |
| нет | OAuth Discovery (RFC 8414)/.well-known/oauth-authorization-server | Где агенту получать токен доступа, если часть данных закрыта. |
| нет | OAuth Protected Resource (RFC 9728)/.well-known/oauth-protected-resource | Какой сервер авторизации защищает ваш API (RFC 9728). |
| нет | Каталог API (RFC 9727)/.well-known/api-catalog | Один адрес со списком всех ваших API — агенту не нужно их угадывать. |
| нет | Профиль UCP/.well-known/ucp | Описание сценария покупки или заявки для агента. Один из способов закрыть уровень 4. |
| нет | Описание API (OpenAPI)/openapi.json | Машинное описание API: агент понимает, какие запросы можно делать. Входит в требования уровня 3. |
Подробная расшифровка проверок
Для тех, кто хочет разобраться или передать разработчику.
Сервер и доступ ✓ 7⚠ 1
Не больше одного редиректа, только 301
Цепочка: 302 https://yandex.ru/ → 302 https://dzen.ru/?yredirect=true → 200 https://sso.passport.yandex.ru/push?uuid=92ba67fc-4f76-48ce-b4a0-1265c72f2ec1&retpath=https%3A%2F%2Fdzen.ru%2F%3Fyredirect%3Dtrue%26is_autologin_ya%3Dtrue.
Один редирект, постоянный. Цепочка из нескольких переходов съедает время агента, а 302 он не запоминает.
# Сразу на нужный адрес: www и http склеиваются одним переходом
server {
listen 80;
listen 443 ssl;
server_name www.sso.passport.yandex.ru;
return 301 https://sso.passport.yandex.ru$request_uri;
}
server {
listen 80;
server_name sso.passport.yandex.ru;
return 301 https://sso.passport.yandex.ru$request_uri;
}# .htaccess в корне сайта
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.sso.passport.yandex.ru$ [NC]
RewriteRule ^(.*)$ https://sso.passport.yandex.ru/$1 [R=301,L]
</IfModule><?php
if ($_SERVER['HTTP_HOST'] === 'www.sso.passport.yandex.ru') {
header('Location: https://sso.passport.yandex.ru' . $_SERVER['REQUEST_URI'], true, 301);
exit;
}
Задача: Не больше одного редиректа, только 301 — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Цепочка: 302 https://yandex.ru/ → 302 https://dzen.ru/?yredirect=true → 200 https://sso.passport.yandex.ru/push?uuid=92ba67fc-4f76-48ce-b4a0-1265c72f2ec1&retpath=https%3A%2F%2Fdzen.ru%2F%3Fyredirect%3Dtrue%26is_autologin_ya%3Dtrue.
Что нужно сделать: Замените временные редиректы (302/307) на 301.
Ориентир по коду (Nginx). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```nginx
# Сразу на нужный адрес: www и http склеиваются одним переходом
server {
listen 80;
listen 443 ssl;
server_name www.sso.passport.yandex.ru;
return 301 https://sso.passport.yandex.ru$request_uri;
}
server {
listen 80;
server_name sso.passport.yandex.ru;
return 301 https://sso.passport.yandex.ru$request_uri;
}
```
Требования к правке:
- Правка делается на уровне сервера, а не скриптом в браузере.
- Остальные адреса сайта должны продолжать работать как раньше: проверьте главную, карточку и страницу поиска.
- После правки перезапустите сервер и убедитесь, что конфигурация прошла проверку.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Не больше одного редиректа, только 301» закрыт.В порядке: Сайт работает по HTTPS; Главная отвечает 200; Нет запрета индексации (noindex); Файрвол не блокирует ИИ-ботов; Несуществующая страница отвечает 404; Content-Type text/html и UTF-8; Время до первого байта до 600 мс.
Файлы сайта ✓ 1⚠ 8не нужно 3
robots.txt пускает ИИ-ботов
Запрещены: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, CCBot. Отдельно: запрещены Google-Extended, Applebot-Extended — это токены использования данных для ИИ Google и Apple, а не краулеры; решение за вами.
Явные разрешения для ИИ-ботов. Боты читают первую подходящую им группу, поэтому для каждого бота пишется своя секция, а общее «User-agent: *» их не покрывает.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
# Поисковые системы
User-agent: *
Allow: /
# ИИ-боты: обход и использование в ответах
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
# Поисковые системы
User-agent: *
Allow: /
# ИИ-боты: обход и использование в ответах
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
# Поисковые системы
User-agent: *
Allow: /
# ИИ-боты: обход и использование в ответах
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlTilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
# Поисковые системы
User-agent: *
Allow: /
# ИИ-боты: обход и использование в ответах
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlЗадача: robots.txt пускает ИИ-ботов — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Запрещены: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, PerplexityBot, CCBot. Отдельно: запрещены Google-Extended, Applebot-Extended — это токены использования данных для ИИ Google и Apple, а не краулеры; решение за вами. Что нужно сделать: Добавьте для них группы с Allow: /. Ориентир по коду (Файл robots.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```text # Поисковые системы User-agent: * Allow: / # ИИ-боты: обход и использование в ответах User-agent: GPTBot Allow: / User-agent: OAI-SearchBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: ClaudeBot Allow: / User-agent: Claude-User Allow: / User-agent: Claude-SearchBot Allow: / User-agent: PerplexityBot Allow: / User-agent: YandexBot Allow: / User-agent: YandexAdditional Allow: / Sitemap: https://sso.passport.yandex.ru/sitemap.xml ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «robots.txt пускает ИИ-ботов» закрыт.
robots.txt пускает YandexBot и YandexAdditional
Запрещены: YandexBot, YandexAdditional. YandexAdditional отвечает за ответы Алисы и Нейро.
YandexBot отвечает за поиск, YandexAdditional — за ответы нейросети Яндекса. Закрыв второго, вы выпадаете из ответов Алисы и нейропоиска.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlTilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
User-agent: YandexBot
Allow: /
User-agent: YandexAdditional
Allow: /
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlЗадача: robots.txt пускает YandexBot и YandexAdditional — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Запрещены: YandexBot, YandexAdditional. YandexAdditional отвечает за ответы Алисы и Нейро. Что нужно сделать: Разрешите YandexBot и YandexAdditional. Ориентир по коду (Файл robots.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```text User-agent: YandexBot Allow: / User-agent: YandexAdditional Allow: / Sitemap: https://sso.passport.yandex.ru/sitemap.xml ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «robots.txt пускает YandexBot и YandexAdditional» закрыт.
В robots.txt есть строка Sitemap
Строки Sitemap нет.
Строка Sitemap пишется последней, после всех групп. Строк может быть несколько, если карт несколько.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlПоложите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlTilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
Sitemap: https://sso.passport.yandex.ru/sitemap.xmlЗадача: В robots.txt есть строка Sitemap — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Строки Sitemap нет. Что нужно сделать: Добавьте строку Sitemap: https://ваш-сайт/sitemap.xml Ориентир по коду (Файл robots.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```text Sitemap: https://sso.passport.yandex.ru/sitemap.xml ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «В robots.txt есть строка Sitemap» закрыт.
sitemap.xml с реальными датами lastmod
Карта сайта не найдена (https://sso.passport.yandex.ru/sitemap.xml).
Задача: sitemap.xml с реальными датами lastmod — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Карта сайта не найдена (https://sso.passport.yandex.ru/sitemap.xml). Что нужно сделать: Создайте sitemap.xml со всеми страницами и датами изменения. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «sitemap.xml с реальными датами lastmod» закрыт.
Файл /llms.txt
Не найден (404).
Короткая выжимка о сайте для языковых моделей. Готовый генератор с проверкой — на странице /llms-txt/.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
# Название компании
> Одно-два предложения: чем занимаетесь, что продаёте, где работаете.
Язык сайта — русский.
## Каталог
- [Раздел каталога](https://sso.passport.yandex.ru/catalog/razdel/): что внутри, диапазон цен
- [Второй раздел](https://sso.passport.yandex.ru/catalog/vtoroy/)
## Условия
- [Доставка](https://sso.passport.yandex.ru/dostavka/)
- [Оплата](https://sso.passport.yandex.ru/oplata/)
## Контакты
- info@sso.passport.yandex.ru
- ООО «Название», ИНН 0000000000Положите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
# Название компании
> Одно-два предложения: чем занимаетесь, что продаёте, где работаете.
Язык сайта — русский.
## Каталог
- [Раздел каталога](https://sso.passport.yandex.ru/catalog/razdel/): что внутри, диапазон цен
- [Второй раздел](https://sso.passport.yandex.ru/catalog/vtoroy/)
## Условия
- [Доставка](https://sso.passport.yandex.ru/dostavka/)
- [Оплата](https://sso.passport.yandex.ru/oplata/)
## Контакты
- info@sso.passport.yandex.ru
- ООО «Название», ИНН 0000000000Положите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
# Название компании
> Одно-два предложения: чем занимаетесь, что продаёте, где работаете.
Язык сайта — русский.
## Каталог
- [Раздел каталога](https://sso.passport.yandex.ru/catalog/razdel/): что внутри, диапазон цен
- [Второй раздел](https://sso.passport.yandex.ru/catalog/vtoroy/)
## Условия
- [Доставка](https://sso.passport.yandex.ru/dostavka/)
- [Оплата](https://sso.passport.yandex.ru/oplata/)
## Контакты
- info@sso.passport.yandex.ru
- ООО «Название», ИНН 0000000000Tilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
# Название компании
> Одно-два предложения: чем занимаетесь, что продаёте, где работаете.
Язык сайта — русский.
## Каталог
- [Раздел каталога](https://sso.passport.yandex.ru/catalog/razdel/): что внутри, диапазон цен
- [Второй раздел](https://sso.passport.yandex.ru/catalog/vtoroy/)
## Условия
- [Доставка](https://sso.passport.yandex.ru/dostavka/)
- [Оплата](https://sso.passport.yandex.ru/oplata/)
## Контакты
- info@sso.passport.yandex.ru
- ООО «Название», ИНН 0000000000Задача: Файл /llms.txt — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найден (404). Что нужно сделать: Создайте llms.txt: кто вы, что продаёте, ссылки на ключевые разделы и данные. Это соглашение, а не стандарт, но пункт дешёвый. Ориентир по коду (Файл llms.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```markdown # Название компании > Одно-два предложения: чем занимаетесь, что продаёте, где работаете. Язык сайта — русский. ## Каталог - [Раздел каталога](https://sso.passport.yandex.ru/catalog/razdel/): что внутри, диапазон цен - [Второй раздел](https://sso.passport.yandex.ru/catalog/vtoroy/) ## Условия - [Доставка](https://sso.passport.yandex.ru/dostavka/) - [Оплата](https://sso.passport.yandex.ru/oplata/) ## Контакты - info@sso.passport.yandex.ru - ООО «Название», ИНН 0000000000 ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Файл /llms.txt» закрыт.
Файл /llms-full.txt
Не найден (404).
Полный текст ключевых страниц одним файлом. Собирается скриптом при публикации: заголовок страницы, адрес, текст без вёрстки.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
# Полные тексты страниц sso.passport.yandex.ru
## Доставка
https://sso.passport.yandex.ru/dostavka/
Текст страницы без вёрстки.
## Оплата
https://sso.passport.yandex.ru/oplata/
Текст страницы без вёрстки.Положите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
# Полные тексты страниц sso.passport.yandex.ru
## Доставка
https://sso.passport.yandex.ru/dostavka/
Текст страницы без вёрстки.
## Оплата
https://sso.passport.yandex.ru/oplata/
Текст страницы без вёрстки.Положите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
# Полные тексты страниц sso.passport.yandex.ru
## Доставка
https://sso.passport.yandex.ru/dostavka/
Текст страницы без вёрстки.
## Оплата
https://sso.passport.yandex.ru/oplata/
Текст страницы без вёрстки.Tilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
# Полные тексты страниц sso.passport.yandex.ru
## Доставка
https://sso.passport.yandex.ru/dostavka/
Текст страницы без вёрстки.
## Оплата
https://sso.passport.yandex.ru/oplata/
Текст страницы без вёрстки.Задача: Файл /llms-full.txt — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найден (404). Что нужно сделать: Выложите полный Markdown-каталог: линейки, характеристики, применение. Ориентир по коду (Файл llms-full.txt). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```markdown # Полные тексты страниц sso.passport.yandex.ru ## Доставка https://sso.passport.yandex.ru/dostavka/ Текст страницы без вёрстки. ## Оплата https://sso.passport.yandex.ru/oplata/ Текст страницы без вёрстки. ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Файл /llms-full.txt» закрыт.
Инструкция для агентов /AGENTS.md
Не найдена (404).
Инструкция для агентов: где брать данные машинно и чего делать не нужно. Имя файла пишется прописными буквами.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
# AGENTS.md
Инструкция для ИИ-агентов, работающих с сайтом sso.passport.yandex.ru.
## Что здесь есть
Коротко: чем занимается компания и что можно найти на сайте.
## Машиночитаемые источники
- Карта сайта: https://sso.passport.yandex.ru/sitemap.xml
- Краткая выжимка: https://sso.passport.yandex.ru/llms.txt
- Описание API: https://sso.passport.yandex.ru/openapi.json
- Товарный фид (YML): https://sso.passport.yandex.ru/feed.yml
## Как пользоваться данными
- Цены и наличие берите из JSON-LD на странице товары: они обновляются вместе с каталогом.
- Срок действия цены указан в priceValidUntil. После этой даты цену нужно запросить заново.
- Ссылайтесь на страницу товары, а не на каталог целиком.
## Чего делать не нужно
- Не оформляйте заказ без подтверждения человека.
- Не используйте фотографии отдельно от описания товары.
## Контакт для вопросов
info@sso.passport.yandex.ruПоложите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
# AGENTS.md
Инструкция для ИИ-агентов, работающих с сайтом sso.passport.yandex.ru.
## Что здесь есть
Коротко: чем занимается компания и что можно найти на сайте.
## Машиночитаемые источники
- Карта сайта: https://sso.passport.yandex.ru/sitemap.xml
- Краткая выжимка: https://sso.passport.yandex.ru/llms.txt
- Описание API: https://sso.passport.yandex.ru/openapi.json
- Товарный фид (YML): https://sso.passport.yandex.ru/feed.yml
## Как пользоваться данными
- Цены и наличие берите из JSON-LD на странице товары: они обновляются вместе с каталогом.
- Срок действия цены указан в priceValidUntil. После этой даты цену нужно запросить заново.
- Ссылайтесь на страницу товары, а не на каталог целиком.
## Чего делать не нужно
- Не оформляйте заказ без подтверждения человека.
- Не используйте фотографии отдельно от описания товары.
## Контакт для вопросов
info@sso.passport.yandex.ruПоложите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
# AGENTS.md
Инструкция для ИИ-агентов, работающих с сайтом sso.passport.yandex.ru.
## Что здесь есть
Коротко: чем занимается компания и что можно найти на сайте.
## Машиночитаемые источники
- Карта сайта: https://sso.passport.yandex.ru/sitemap.xml
- Краткая выжимка: https://sso.passport.yandex.ru/llms.txt
- Описание API: https://sso.passport.yandex.ru/openapi.json
- Товарный фид (YML): https://sso.passport.yandex.ru/feed.yml
## Как пользоваться данными
- Цены и наличие берите из JSON-LD на странице товары: они обновляются вместе с каталогом.
- Срок действия цены указан в priceValidUntil. После этой даты цену нужно запросить заново.
- Ссылайтесь на страницу товары, а не на каталог целиком.
## Чего делать не нужно
- Не оформляйте заказ без подтверждения человека.
- Не используйте фотографии отдельно от описания товары.
## Контакт для вопросов
info@sso.passport.yandex.ruTilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
# AGENTS.md
Инструкция для ИИ-агентов, работающих с сайтом sso.passport.yandex.ru.
## Что здесь есть
Коротко: чем занимается компания и что можно найти на сайте.
## Машиночитаемые источники
- Карта сайта: https://sso.passport.yandex.ru/sitemap.xml
- Краткая выжимка: https://sso.passport.yandex.ru/llms.txt
- Описание API: https://sso.passport.yandex.ru/openapi.json
- Товарный фид (YML): https://sso.passport.yandex.ru/feed.yml
## Как пользоваться данными
- Цены и наличие берите из JSON-LD на странице товары: они обновляются вместе с каталогом.
- Срок действия цены указан в priceValidUntil. После этой даты цену нужно запросить заново.
- Ссылайтесь на страницу товары, а не на каталог целиком.
## Чего делать не нужно
- Не оформляйте заказ без подтверждения человека.
- Не используйте фотографии отдельно от описания товары.
## Контакт для вопросов
info@sso.passport.yandex.ruЗадача: Инструкция для агентов /AGENTS.md — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найдена (404). Что нужно сделать: Опишите точки входа, как получить цену, единицы измерения и оговорки о достоверности. Ориентир по коду (Файл AGENTS.md). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```markdown # AGENTS.md Инструкция для ИИ-агентов, работающих с сайтом sso.passport.yandex.ru. ## Что здесь есть Коротко: чем занимается компания и что можно найти на сайте. ## Машиночитаемые источники - Карта сайта: https://sso.passport.yandex.ru/sitemap.xml - Краткая выжимка: https://sso.passport.yandex.ru/llms.txt - Описание API: https://sso.passport.yandex.ru/openapi.json - Товарный фид (YML): https://sso.passport.yandex.ru/feed.yml ## Как пользоваться данными - Цены и наличие берите из JSON-LD на странице товары: они обновляются вместе с каталогом. - Срок действия цены указан в priceValidUntil. После этой даты цену нужно запросить заново. - Ссылайтесь на страницу товары, а не на каталог целиком. ## Чего делать не нужно - Не оформляйте заказ без подтверждения человека. - Не используйте фотографии отдельно от описания товары. ## Контакт для вопросов info@sso.passport.yandex.ru ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Инструкция для агентов /AGENTS.md» закрыт.
Markdown-карта сайта /sitemap.md
Не найдена (404).
Карта сайта для чтения, а не для поисковых систем: только важные страницы с пояснениями.
Положите файл в корень сайта: https://ваш-сайт.ru/имя-файла. Кодировка UTF-8, тип ответа text/plain (для .md — text/markdown).
# Карта сайта sso.passport.yandex.ru
- [Главная](https://sso.passport.yandex.ru/) — чем занимается компания
- [Каталог](https://sso.passport.yandex.ru/catalog/) — все разделы
- [Доставка](https://sso.passport.yandex.ru/dostavka/) — сроки и стоимость
- [Контакты](https://sso.passport.yandex.ru/kontakty/) — адрес, телефон, реквизитыПоложите файл в корень сайта, рядом с index.php. Если корень закрыт правилами в .htaccess, добавьте исключение для этого имени.
# Карта сайта sso.passport.yandex.ru
- [Главная](https://sso.passport.yandex.ru/) — чем занимается компания
- [Каталог](https://sso.passport.yandex.ru/catalog/) — все разделы
- [Доставка](https://sso.passport.yandex.ru/dostavka/) — сроки и стоимость
- [Контакты](https://sso.passport.yandex.ru/kontakty/) — адрес, телефон, реквизитыПоложите файл в корень сайта, рядом с wp-config.php. Плагины кэширования файл не трогают, очищать кэш не нужно.
# Карта сайта sso.passport.yandex.ru
- [Главная](https://sso.passport.yandex.ru/) — чем занимается компания
- [Каталог](https://sso.passport.yandex.ru/catalog/) — все разделы
- [Доставка](https://sso.passport.yandex.ru/dostavka/) — сроки и стоимость
- [Контакты](https://sso.passport.yandex.ru/kontakty/) — адрес, телефон, реквизитыTilda не даёт класть свои файлы в корень. Варианты: перенести сайт на своё размещение, поставить перед Tilda обратный прокси (Nginx, Cloudflare Workers) и отдавать файл с него, либо опубликовать файл на поддомене и сослаться на него из robots.txt.
# Карта сайта sso.passport.yandex.ru
- [Главная](https://sso.passport.yandex.ru/) — чем занимается компания
- [Каталог](https://sso.passport.yandex.ru/catalog/) — все разделы
- [Доставка](https://sso.passport.yandex.ru/dostavka/) — сроки и стоимость
- [Контакты](https://sso.passport.yandex.ru/kontakty/) — адрес, телефон, реквизитыЗадача: Markdown-карта сайта /sitemap.md — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найдена (404). Что нужно сделать: Выложите карту сайта в Markdown для агентов. Ориентир по коду (Файл sitemap.md). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```markdown # Карта сайта sso.passport.yandex.ru - [Главная](https://sso.passport.yandex.ru/) — чем занимается компания - [Каталог](https://sso.passport.yandex.ru/catalog/) — все разделы - [Доставка](https://sso.passport.yandex.ru/dostavka/) — сроки и стоимость - [Контакты](https://sso.passport.yandex.ru/kontakty/) — адрес, телефон, реквизиты ``` Требования к правке: - Файл должен открываться по прямому адресу и отдаваться с кодом 200, без редиректа. - Кодировка UTF-8, перевод строки — обычный, без BOM. - Адреса внутри файла — полные, с https:// и доменом. - Файл не должен быть закрыт от роботов правилами robots.txt или защитой сайта. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Markdown-карта сайта /sitemap.md» закрыт.
В порядке: Файл robots.txt.
HTML-разметка ✓ 1⚠ 9
Атрибут lang у <html>
Не указан.
Язык страницы. Правится в открывающем теге html, а не в head.
Вставляется в <head> страницы, до закрывающего </head>.
<html lang="ru">Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<html lang="ru">
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<html lang="ru">
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<html lang="ru">
Задача: Атрибут lang у <html> — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не указан. Что нужно сделать: Добавьте <html lang="ru">. Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```html <html lang="ru"> ``` Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Атрибут lang у <html>» закрыт.
Уникальный <title> до ~60 символов
Заголовка нет.
Задача: Уникальный <title> до ~60 символов — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Заголовка нет. Что нужно сделать: Добавьте <title>. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Уникальный <title> до ~60 символов» закрыт.
rel="canonical"
Не найден.
Канонический адрес — полный, с протоколом и доменом. На каждой странице он свой.
Вставляется в <head> страницы, до закрывающего </head>.
<link rel="canonical" href="https://sso.passport.yandex.ru/tekushchaya-stranica/">Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<link rel="canonical" href="https://sso.passport.yandex.ru/tekushchaya-stranica/">
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<link rel="canonical" href="https://sso.passport.yandex.ru/tekushchaya-stranica/">
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<link rel="canonical" href="https://sso.passport.yandex.ru/tekushchaya-stranica/">
Задача: rel="canonical" — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найден. Что нужно сделать: Добавьте <link rel="canonical"> на каждую страницу. Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```html <link rel="canonical" href="https://sso.passport.yandex.ru/tekushchaya-stranica/"> ``` Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «rel="canonical"» закрыт.
meta description 120–160 символов
Нет.
Описание страницы длиной 120–160 символов, своё на каждой странице.
Вставляется в <head> страницы, до закрывающего </head>.
<meta name="description" content="Что это за страница и что на ней можно сделать. Одно-два предложения длиной 120–160 символов.">Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<meta name="description" content="Что это за страница и что на ней можно сделать. Одно-два предложения длиной 120–160 символов.">
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<meta name="description" content="Что это за страница и что на ней можно сделать. Одно-два предложения длиной 120–160 символов.">
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<meta name="description" content="Что это за страница и что на ней можно сделать. Одно-два предложения длиной 120–160 символов.">
Задача: meta description 120–160 символов — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Нет. Что нужно сделать: Опишите страницу в 120–160 символах. Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```html <meta name="description" content="Что это за страница и что на ней можно сделать. Одно-два предложения длиной 120–160 символов."> ``` Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «meta description 120–160 символов» закрыт.
Open Graph: 6 основных тегов
Найдено 0 из 6.
Шесть основных тегов Open Graph. Адрес картинки — абсолютный.
Вставляется в <head> страницы, до закрывающего </head>.
<meta property="og:title" content="Заголовок страницы">
<meta property="og:description" content="Описание страницы в одно-два предложения.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://sso.passport.yandex.ru/tekushchaya-stranica/">
<meta property="og:image" content="https://sso.passport.yandex.ru/assets/og.png">
<meta property="og:site_name" content="Название компании">Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<meta property="og:title" content="Заголовок страницы">
<meta property="og:description" content="Описание страницы в одно-два предложения.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://sso.passport.yandex.ru/tekushchaya-stranica/">
<meta property="og:image" content="https://sso.passport.yandex.ru/assets/og.png">
<meta property="og:site_name" content="Название компании">
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<meta property="og:title" content="Заголовок страницы">
<meta property="og:description" content="Описание страницы в одно-два предложения.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://sso.passport.yandex.ru/tekushchaya-stranica/">
<meta property="og:image" content="https://sso.passport.yandex.ru/assets/og.png">
<meta property="og:site_name" content="Название компании">
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<meta property="og:title" content="Заголовок страницы">
<meta property="og:description" content="Описание страницы в одно-два предложения.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://sso.passport.yandex.ru/tekushchaya-stranica/">
<meta property="og:image" content="https://sso.passport.yandex.ru/assets/og.png">
<meta property="og:site_name" content="Название компании">
Задача: Open Graph: 6 основных тегов — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Найдено 0 из 6. Что нужно сделать: Добавьте og:title, og:description, og:image, og:url, og:type, og:locale. Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```html <meta property="og:title" content="Заголовок страницы"> <meta property="og:description" content="Описание страницы в одно-два предложения."> <meta property="og:type" content="website"> <meta property="og:url" content="https://sso.passport.yandex.ru/tekushchaya-stranica/"> <meta property="og:image" content="https://sso.passport.yandex.ru/assets/og.png"> <meta property="og:site_name" content="Название компании"> ``` Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Open Graph: 6 основных тегов» закрыт.
Ровно один <h1>
Найдено: 0.
Задача: Ровно один <h1> — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Найдено: 0. Что нужно сделать: На странице должен быть один главный заголовок. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Ровно один <h1>» закрыт.
Иерархия h2–h3 (не меньше 3)
Заголовков h2–h3: 0.
Задача: Иерархия h2–h3 (не меньше 3) — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Заголовков h2–h3: 0. Что нужно сделать: Разбейте содержание на разделы с заголовками. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Иерархия h2–h3 (не меньше 3)» закрыт.
Семантические теги main, header, nav, footer
Есть: ни одного.
Каркас страницы из семантических тегов. Агент по ним отделяет содержание от меню и подвала и не тащит навигацию в ответ.
Вставляется в <head> страницы, до закрывающего </head>.
<body>
<header>…шапка и логотип…</header>
<nav aria-label="Основная навигация">…меню…</nav>
<main>
<h1>Заголовок страницы</h1>
<article>…содержание страницы…</article>
</main>
<footer>…контакты и реквизиты…</footer>
</body>Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<body>
<header>…шапка и логотип…</header>
<nav aria-label="Основная навигация">…меню…</nav>
<main>
<h1>Заголовок страницы</h1>
<article>…содержание страницы…</article>
</main>
<footer>…контакты и реквизиты…</footer>
</body>
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<body>
<header>…шапка и логотип…</header>
<nav aria-label="Основная навигация">…меню…</nav>
<main>
<h1>Заголовок страницы</h1>
<article>…содержание страницы…</article>
</main>
<footer>…контакты и реквизиты…</footer>
</body>
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<body>
<header>…шапка и логотип…</header>
<nav aria-label="Основная навигация">…меню…</nav>
<main>
<h1>Заголовок страницы</h1>
<article>…содержание страницы…</article>
</main>
<footer>…контакты и реквизиты…</footer>
</body>
Задача: Семантические теги main, header, nav, footer — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Есть: ни одного.
Что нужно сделать: Разметьте страницу семантическими тегами.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<body>
<header>…шапка и логотип…</header>
<nav aria-label="Основная навигация">…меню…</nav>
<main>
<h1>Заголовок страницы</h1>
<article>…содержание страницы…</article>
</main>
<footer>…контакты и реквизиты…</footer>
</body>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Семантические теги main, header, nav, footer» закрыт.Доля текста в HTML больше 15%
Текст — 0,0% от объёма HTML.
Задача: Доля текста в HTML больше 15% — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Текст — 0,0% от объёма HTML. Что нужно сделать: Страница — в основном код. Проверьте, что содержание есть в HTML, а не подгружается скриптами. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Доля текста в HTML больше 15%» закрыт.
В порядке: У изображений есть alt.
Структурированные данные JSON-LD ✓ 1⚠ 5не нужно 9
JSON-LD есть в исходном HTML
Разметки JSON-LD в HTML первого ответа нет. Если она добавляется скриптом — бот её не увидит.
Разметка организации в исходном HTML: с неё начинается весь граф данных сайта.
Вставляется в <head> страницы, до закрывающего </head>.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
Задача: JSON-LD есть в исходном HTML — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Разметки JSON-LD в HTML первого ответа нет. Если она добавляется скриптом — бот её не увидит.
Что нужно сделать: Выводите <script type="application/ld+json"> на сервере.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «JSON-LD есть в исходном HTML» закрыт.Organization с реквизитами
Сущности Organization нет.
Organization с реквизитами. ИНН и ОГРН кладутся в identifier как PropertyValue: это единственный способ передать их машинно.
Вставляется в <head> страницы, до закрывающего </head>.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
Задача: Organization с реквизитами — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Сущности Organization нет.
Что нужно сделать: Опишите компанию: legalName, logo, address, contactPoint, sameAs, ИНН и ОГРН через identifier.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Organization с реквизитами» закрыт.Товары или услуги размечены (Product / Service)
Ни на главной, ни на страницах из карты сайта нет разметки Product/Service. Если карточки есть — укажите одну вручную.
Разметка товара. Ставится на страницу товара, не на список каталога.
Вставляется в <head> страницы, до закрывающего </head>.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://sso.passport.yandex.ru/catalog/tovar/#product",
"name": "Название товара",
"sku": "ART-001",
"mpn": "ART-001",
"brand": {"@type": "Brand", "name": "Марка"},
"description": "Одно-два предложения о товаре.",
"image": ["https://sso.passport.yandex.ru/upload/tovar.jpg"],
"additionalProperty": [
{"@type": "PropertyValue", "name": "Длина", "value": 3050, "unitCode": "MMT"},
{"@type": "PropertyValue", "name": "Масса", "value": 48, "unitCode": "KGM"}
],
"offers": {
"@type": "Offer",
"url": "https://sso.passport.yandex.ru/catalog/tovar/",
"price": "12500.00",
"priceCurrency": "RUB",
"priceValidUntil": "2027-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {"@id": "https://sso.passport.yandex.ru/#org"}
}
}
</script>Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://sso.passport.yandex.ru/catalog/tovar/#product",
"name": "Название товара",
"sku": "ART-001",
"mpn": "ART-001",
"brand": {"@type": "Brand", "name": "Марка"},
"description": "Одно-два предложения о товаре.",
"image": ["https://sso.passport.yandex.ru/upload/tovar.jpg"],
"additionalProperty": [
{"@type": "PropertyValue", "name": "Длина", "value": 3050, "unitCode": "MMT"},
{"@type": "PropertyValue", "name": "Масса", "value": 48, "unitCode": "KGM"}
],
"offers": {
"@type": "Offer",
"url": "https://sso.passport.yandex.ru/catalog/tovar/",
"price": "12500.00",
"priceCurrency": "RUB",
"priceValidUntil": "2027-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {"@id": "https://sso.passport.yandex.ru/#org"}
}
}
</script>
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://sso.passport.yandex.ru/catalog/tovar/#product",
"name": "Название товара",
"sku": "ART-001",
"mpn": "ART-001",
"brand": {"@type": "Brand", "name": "Марка"},
"description": "Одно-два предложения о товаре.",
"image": ["https://sso.passport.yandex.ru/upload/tovar.jpg"],
"additionalProperty": [
{"@type": "PropertyValue", "name": "Длина", "value": 3050, "unitCode": "MMT"},
{"@type": "PropertyValue", "name": "Масса", "value": 48, "unitCode": "KGM"}
],
"offers": {
"@type": "Offer",
"url": "https://sso.passport.yandex.ru/catalog/tovar/",
"price": "12500.00",
"priceCurrency": "RUB",
"priceValidUntil": "2027-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {"@id": "https://sso.passport.yandex.ru/#org"}
}
}
</script>
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://sso.passport.yandex.ru/catalog/tovar/#product",
"name": "Название товара",
"sku": "ART-001",
"mpn": "ART-001",
"brand": {"@type": "Brand", "name": "Марка"},
"description": "Одно-два предложения о товаре.",
"image": ["https://sso.passport.yandex.ru/upload/tovar.jpg"],
"additionalProperty": [
{"@type": "PropertyValue", "name": "Длина", "value": 3050, "unitCode": "MMT"},
{"@type": "PropertyValue", "name": "Масса", "value": 48, "unitCode": "KGM"}
],
"offers": {
"@type": "Offer",
"url": "https://sso.passport.yandex.ru/catalog/tovar/",
"price": "12500.00",
"priceCurrency": "RUB",
"priceValidUntil": "2027-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {"@id": "https://sso.passport.yandex.ru/#org"}
}
}
</script>
Задача: Товары или услуги размечены (Product / Service) — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Ни на главной, ни на страницах из карты сайта нет разметки Product/Service. Если карточки есть — укажите одну вручную.
Что нужно сделать: Разметьте карточки товаров типом Product с Offer.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://sso.passport.yandex.ru/catalog/tovar/#product",
"name": "Название товара",
"sku": "ART-001",
"mpn": "ART-001",
"brand": {"@type": "Brand", "name": "Марка"},
"description": "Одно-два предложения о товаре.",
"image": ["https://sso.passport.yandex.ru/upload/tovar.jpg"],
"additionalProperty": [
{"@type": "PropertyValue", "name": "Длина", "value": 3050, "unitCode": "MMT"},
{"@type": "PropertyValue", "name": "Масса", "value": 48, "unitCode": "KGM"}
],
"offers": {
"@type": "Offer",
"url": "https://sso.passport.yandex.ru/catalog/tovar/",
"price": "12500.00",
"priceCurrency": "RUB",
"priceValidUntil": "2027-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {"@id": "https://sso.passport.yandex.ru/#org"}
}
}
</script>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Товары или услуги размечены (Product / Service)» закрыт.potentialAction: что агент может сделать
Действий не объявлено.
potentialAction — то, что агент может сделать на сайте. Адрес в urlTemplate должен открываться и работать: агент по нему пойдёт.
Вставляется в <head> страницы, до закрывающего </head>.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://sso.passport.yandex.ru/catalog/tovar/#product",
"name": "Название товара",
"potentialAction": {
"@type": "BuyAction",
"name": "Купить",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://sso.passport.yandex.ru/order/?sku={sku}&qty={qty}",
"httpMethod": "GET",
"actionPlatform": ["https://schema.org/DesktopWebPlatform", "https://schema.org/MobileWebPlatform"]
},
"priceSpecification": {"@type": "PriceSpecification", "priceCurrency": "RUB"}
}
}
</script>Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://sso.passport.yandex.ru/catalog/tovar/#product",
"name": "Название товара",
"potentialAction": {
"@type": "BuyAction",
"name": "Купить",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://sso.passport.yandex.ru/order/?sku={sku}&qty={qty}",
"httpMethod": "GET",
"actionPlatform": ["https://schema.org/DesktopWebPlatform", "https://schema.org/MobileWebPlatform"]
},
"priceSpecification": {"@type": "PriceSpecification", "priceCurrency": "RUB"}
}
}
</script>
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://sso.passport.yandex.ru/catalog/tovar/#product",
"name": "Название товара",
"potentialAction": {
"@type": "BuyAction",
"name": "Купить",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://sso.passport.yandex.ru/order/?sku={sku}&qty={qty}",
"httpMethod": "GET",
"actionPlatform": ["https://schema.org/DesktopWebPlatform", "https://schema.org/MobileWebPlatform"]
},
"priceSpecification": {"@type": "PriceSpecification", "priceCurrency": "RUB"}
}
}
</script>
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://sso.passport.yandex.ru/catalog/tovar/#product",
"name": "Название товара",
"potentialAction": {
"@type": "BuyAction",
"name": "Купить",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://sso.passport.yandex.ru/order/?sku={sku}&qty={qty}",
"httpMethod": "GET",
"actionPlatform": ["https://schema.org/DesktopWebPlatform", "https://schema.org/MobileWebPlatform"]
},
"priceSpecification": {"@type": "PriceSpecification", "priceCurrency": "RUB"}
}
}
</script>
Задача: potentialAction: что агент может сделать — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: Действий не объявлено.
Что нужно сделать: Объявите BuyAction, QuoteAction или SearchAction с адресом.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://sso.passport.yandex.ru/catalog/tovar/#product",
"name": "Название товара",
"potentialAction": {
"@type": "BuyAction",
"name": "Купить",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://sso.passport.yandex.ru/order/?sku={sku}&qty={qty}",
"httpMethod": "GET",
"actionPlatform": ["https://schema.org/DesktopWebPlatform", "https://schema.org/MobileWebPlatform"]
},
"priceSpecification": {"@type": "PriceSpecification", "priceCurrency": "RUB"}
}
}
</script>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «potentialAction: что агент может сделать» закрыт.FAQ, глоссарий или инструкции размечены
Не найдено на проверенных страницах.
Задача: FAQ, глоссарий или инструкции размечены — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Не найдено на проверенных страницах. Что нужно сделать: Разметьте FAQ, глоссарий терминов (DefinedTermSet) и инструкции. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «FAQ, глоссарий или инструкции размечены» закрыт.
В порядке: Только JSON-LD, без Microdata и RDFa.
Машинный доступ ✓ 0⚠ 3
Markdown-зеркало страницы (link rel="alternate")
Ссылки на Markdown-версию нет.
Ссылка на Markdown-версию страницы. Ставится в head каждой страницы, у которой такая версия есть.
Вставляется в <head> страницы, до закрывающего </head>.
<link rel="alternate" type="text/markdown" href="https://sso.passport.yandex.ru/stranica.md" title="Markdown-версия страницы">Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<link rel="alternate" type="text/markdown" href="https://sso.passport.yandex.ru/stranica.md" title="Markdown-версия страницы">
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<link rel="alternate" type="text/markdown" href="https://sso.passport.yandex.ru/stranica.md" title="Markdown-версия страницы">
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<link rel="alternate" type="text/markdown" href="https://sso.passport.yandex.ru/stranica.md" title="Markdown-версия страницы">
Задача: Markdown-зеркало страницы (link rel="alternate") — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Ссылки на Markdown-версию нет. Что нужно сделать: Добавьте <link rel="alternate" type="text/markdown" href="…">. Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта. ```html <link rel="alternate" type="text/markdown" href="https://sso.passport.yandex.ru/stranica.md" title="Markdown-версия страницы"> ``` Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Markdown-зеркало страницы (link rel="alternate")» закрыт.
Ответ в Markdown по Accept: text/markdown
На запрос с Accept: text/markdown сервер ответил text/html; charset=utf-8.
Один адрес отдаёт HTML человеку и Markdown агенту — по заголовку Accept. Markdown-версии страниц при этом должны уже существовать.
# В server {} — отдавать .md тем, кто просит Markdown
map $http_accept $md_suffix {
default "";
"~*text/markdown" ".md";
}
server {
location / {
add_header Vary Accept;
if (-f $document_root$uri$md_suffix) {
rewrite ^(.*)$ $1$md_suffix last;
}
try_files $uri $uri/ /index.php?$args;
}
location ~ \.md$ {
default_type text/markdown;
charset utf-8;
add_header Vary Accept;
add_header X-Robots-Tag noindex;
}
}# .htaccess в корне сайта
AddType text/markdown .md
<IfModule mod_headers.c>
<FilesMatch "\.(html|md)$">
Header append Vary "Accept"
</FilesMatch>
<FilesMatch "\.md$">
Header set X-Robots-Tag "noindex"
</FilesMatch>
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} text/markdown [NC]
RewriteCond %{DOCUMENT_ROOT}/$1index.md -f
RewriteRule ^(.*/)?$ /$1index.md [L]
</IfModule><?php
// В самом начале обработки страницы, до любого вывода
$accept = $_SERVER['HTTP_ACCEPT'] ?? '';
header('Vary: Accept');
if (stripos($accept, 'text/markdown') !== false) {
$md = __DIR__ . '/index.md';
if (is_file($md)) {
header('Content-Type: text/markdown; charset=utf-8');
header('X-Robots-Tag: noindex');
readfile($md);
exit;
}
}
Задача: Ответ в Markdown по Accept: text/markdown — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: На запрос с Accept: text/markdown сервер ответил text/html; charset=utf-8.
Что нужно сделать: Отдавайте Markdown-версию по заголовку Accept (content negotiation).
Ориентир по коду (Nginx). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```nginx
# В server {} — отдавать .md тем, кто просит Markdown
map $http_accept $md_suffix {
default "";
"~*text/markdown" ".md";
}
server {
location / {
add_header Vary Accept;
if (-f $document_root$uri$md_suffix) {
rewrite ^(.*)$ $1$md_suffix last;
}
try_files $uri $uri/ /index.php?$args;
}
location ~ \.md$ {
default_type text/markdown;
charset utf-8;
add_header Vary Accept;
add_header X-Robots-Tag noindex;
}
}
```
Требования к правке:
- Правка делается на уровне сервера, а не скриптом в браузере.
- Остальные адреса сайта должны продолжать работать как раньше: проверьте главную, карточку и страницу поиска.
- После правки перезапустите сервер и убедитесь, что конфигурация прошла проверку.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Ответ в Markdown по Accept: text/markdown» закрыт.Описание API (OpenAPI)
Открытого API с описанием OpenAPI не найдено.
Задача: Описание API (OpenAPI) — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Открытого API с описанием OpenAPI не найдено. Что нужно сделать: Опубликуйте JSON-API товаров и цены с OpenAPI-схемой и сошлитесь на неё из AGENTS.md. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Описание API (OpenAPI)» закрыт.
Правовое и доверие ✓ 0⚠ 2не нужно 1
Реквизиты юрлица: ИНН и ОГРН
ИНН: нет, ОГРН: нет (на главной и в разметке).
Реквизиты в разметке — не замена подвалу, а дополнение к нему: агент берёт их отсюда, человек из подвала.
Вставляется в <head> страницы, до закрывающего </head>.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>Для страниц товаров тот же вызов ставится в шаблоне карточки, чтобы данные подставлялись из свойств элемента.
<?php
// В шаблоне сайта: local/templates/ВАШ_ШАБЛОН/header.php, до вызова ShowHead()
$APPLICATION->AddHeadString(<<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML, true);
Данные подставляются из полей записи; хардкодить значения в functions.php не нужно.
<?php
// В functions.php активной темы (лучше — дочерней) или в своём плагине
add_action('wp_head', function () {
echo <<<'HTML'
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
HTML;
}, 20);
В Tilda блок вставляется вручную, поэтому значения на каждой странице свои. Для большого каталога это не работает — нужен свой движок.
<!-- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD.
Для одной страницы: Настройки страницы → Дополнительно → HTML-код в HEAD. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
Задача: Реквизиты юрлица: ИНН и ОГРН — сайт sso.passport.yandex.ru
Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует.
Что нашёл сканер: ИНН: нет, ОГРН: нет (на главной и в разметке).
Что нужно сделать: Покажите полное наименование, ИНН, ОГРН и юридический адрес — хотя бы в подвале. Для англоязычного сайта подойдут метки INN и OGRN либо поля taxID и identifier в разметке Organization.
Ориентир по коду (Чистый HTML). Это образец, а не готовая правка: подставьте реальные значения и впишите в структуру проекта.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://sso.passport.yandex.ru/#org",
"name": "ООО «Название»",
"url": "https://sso.passport.yandex.ru/",
"email": "info@sso.passport.yandex.ru",
"telephone": "+7 000 000-00-00",
"taxID": "0000000000",
"identifier": [
{"@type": "PropertyValue", "name": "ИНН", "value": "0000000000"},
{"@type": "PropertyValue", "name": "КПП", "value": "000000000"},
{"@type": "PropertyValue", "name": "ОГРН", "value": "0000000000000"}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "RU",
"postalCode": "000000",
"addressRegion": "Область",
"addressLocality": "Город",
"streetAddress": "ул. Примерная, 1"
}
}
</script>
```
Требования к правке:
- Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера.
- Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной.
- Не менять вёрстку и внешний вид страницы.
- Не трогать остальные теги и разметку, которые уже есть.
Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Реквизиты юрлица: ИНН и ОГРН» закрыт.Контакты: e-mail или телефон ссылкой
Нет ссылок mailto: или tel:.
Задача: Контакты: e-mail или телефон ссылкой — сайт sso.passport.yandex.ru Контекст. Сайт sso.passport.yandex.ru проверен сканером готовности к ИИ-агентам agentreadyscan.ru. Сканер читает исходный HTML без выполнения JavaScript — так же, как это делает большинство ИИ-агентов. Поэтому всё, что появляется на странице только после скриптов, для него не существует. Что нашёл сканер: Нет ссылок mailto: или tel:. Что нужно сделать: Сделайте почту и телефон ссылками — агент распознает их однозначно. Требования к правке: - Выводить это в исходном HTML, который отдаёт сервер, а не дорисовывать скриптом на стороне браузера. - Значения подставлять из данных сайта, а не вписывать строкой: правка должна работать на всех страницах такого типа, а не на одной. - Не менять вёрстку и внешний вид страницы. - Не трогать остальные теги и разметку, которые уже есть. Как проверить, что получилось: открыть https://agentreadyscan.ru/check/?url=sso.passport.yandex.ru и убедиться, что пункт «Контакты: e-mail или телефон ссылкой» закрыт.
Ограничения метода. Отчёт отражает внешние признаки на дату сканирования. Он не подтверждает, что данные на сайте верны, и не прогнозирует ответы ИИ-ассистентов. Сканер читает исходный HTML без выполнения скриптов; то, что появляется после них, считается отсутствующим.
Сформирован автоматически по открытой шкале. Это не сертификат.agentreadyscan.ru · ООО «САРМАТЕХ» · ИНН 4725011864
