Как мы сделали сайт agent-native, не срезая углов
ИИ-ассистенты становятся первым посетителем, которого встречает продукт. Когда фаундер просит ChatGPT или Claude найти студию, которая чинит навайбкоженные приложения, ваш сайт краулит, читает цены и решает, упоминать ли вас, именно агент. Мы задали себе простой вопрос: может ли агент реально сделать с нами бизнес?
Сканер agent-readiness от Cloudflare ответил прямо: 29 из 100, статус “Bot-Aware”. Краулиться можно, действовать негде. Через два дня тот же сканер показывает ровно 100 и высший уровень, Level 5 “Agent-Native”, а за баллом стоит работающий агентский канал продаж. Рассказываем по порядку, что мы сделали, включая то, что отказались имитировать.
Черта, которую мы провели сразу
Любой стандарт агентного веба можно накрутить статическим JSON-файлом. Можно опубликовать OAuth-метадату для несуществующих API или карточку MCP-сервера, за которой нет сервера. Балл вырастет, а каждый агент, поверивший метадате, сожжёт свои токены, аутентифицируясь в пустоту.
Поэтому правило у нас одно: каждый discovery-документ обязан указывать на то, что отвечает. Не готовы держать эндпоинт, значит не публикуем указатель.
Шаг первый: гигиена (29 до 50)
Половина балла складывается из базовых вещей, которые любой сайт выкатывает за вечер:
- robots.txt с явным разрешением для AI-краулеров (GPTBot, ClaudeBot, PerplexityBot, Google-Extended и остальные) плюс строка Content Signals: search=yes, ai-input=yes, ai-train=yes. Один подвох, который стоит проверить в своей Cloudflare-зоне: тумблер Managed robots.txt молча подклеивает Disallow для training-краулеров. Мы заметили это только на собственном аудите.
- llms.txt, структурированная выжимка о компании. Выкатить стоит, но знайте статистику: по замерам индустрии AI-краулеры пока почти не читают этот файл. Он ничего не стоит и помогает AI-средам разработки, так что публикуйте, просто не стройте на нём стратегию.
- Link-заголовки (RFC 8288) и sitemap, машиночитаемые указатели на всё перечисленное.
- Agent Skills в /.well-known/agent-skills/: два скилла в обычном markdown, один с каноническими фактами о нас, второй с инструкцией, как правильно запросить смету.
Этот проход поднял нас с 29 до 50. Все оставшиеся красные чеки говорили одно и то же: у вас нет API, нет MCP-сервера и агенту негде аутентифицироваться. Сканер был прав, и мы построили недостающее.
Шаг второй: настоящий агентский гейтвей (50 до 79)
Мы подняли api.relux.works, один Cloudflare Worker, который стал агентской стороной студии:
- POST /v1/inquiries, валидируемый эндпоинт заявок. Агент отправляет бриф от имени пользователя, нотификация падает в наш Telegram за секунды, человек отвечает в течение рабочего дня.
- MCP-сервер на /mcp (Streamable HTTP, stateless, около двухсот строк руками, без SDK) с двумя тулами: get_services_pricing и request_project_quote. Любой ассистент с поддержкой MCP может подключиться и, с согласия пользователя, нанять нас.
- OpenAPI 3.1, докстраница и health-эндпоинт, чтобы REST-поверхность тоже находилась.
- OAuth 2.0 для агентов: метадата по RFC 8414, открытая динамическая регистрация (RFC 7591) и грант client_credentials с короткоживущими ES256 JWT. Приятная деталь: всё это stateless. Секрет клиента вычисляется как HMAC от client_id, поэтому токен-эндпоинт проверяет креденшелы без базы данных. Аутентификация опциональна by design: анонимам достаются строгие rate-лимиты, зарегистрированным агентам щедрые, а весь флоу описан в /auth.md.
Первый сквозной тест оправдал всю затею. Ассистент вызвал request_project_quote через MCP, гейтвей проверил бриф, и нотификация пришла в Telegram примерно через две секунды. Квалифицированный лид добрался до нас без единого человека с нашей стороны трубы.
Шаг третий: дистрибуция
Эндпоинт, который никто не находит, всё равно что не существует. Поэтому мы опубликовались во всех каналах, где нам есть что показать по существу:
| Канал | Что там |
|---|---|
| Официальный MCP Registry | works.relux/agent-gateway, верификация через DNS |
| ClawHub (OpenClaw) | clawhub install relux-works |
| Hermes tap | hermes skills tap add relux-works/agent-skills |
| HermesHub (ARD) | /.well-known/ai-catalog.json, индексируется автоматически |
| Well-known на apex | API-каталог (RFC 9727), карточка MCP-сервера, индекс скиллов, OAuth-метадата |
| Сами страницы | WebMCP-тулы через navigator.modelContext для браузерных агентов |
Мы также опубликовали DNS-AID записи (_index._agents и _mcp._agents), указывающие на гейтвей. Стандарт пока в раннем драфте, зато записи настоящие, резолвятся глобально и добавляются за минуту.
Последняя миля: с 79 до 100
Финальные баллы оказались чистой аккуратностью. Мы замкнули цепочку доверия DNSSEC (DS-запись у регистратора, теперь DNS-AID записи валидируются с AD=true) и дописали метадату agent_auth, чтобы агент видел полный метод анонимной регистрации, включая claim URI. Машины читают мелкий шрифт.
Сколько на самом деле стоит идеальный балл
Время неудобной части. Сканер построен компанией, которая продаёт исправления: Markdown for Agents живёт в платном тарифе, Pay Per Crawl это их маркетплейс, а тумблер Managed robots.txt, молча заблокировавший training-краулеров в нашей собственной зоне, включён по умолчанию. Cloudflare ничего не ранжирует; их настоящая власть в том, чтобы на пятой части веба решать, какие краулеры проходят в дверь и по какой цене. Балл готовности для такого бизнеса отличная воронка.
И сам балл ничего не двигает. Ни один движок по нему не ранжирует. Ответы ассистентов собираются в два этапа: сначала классический индекс (Bing для ChatGPT, Brave для Claude) отбирает страницы-кандидаты, затем агент их скачивает и читает. Всё, что мы выкатили, живёт на втором этапе. Нас дёшево читать и с нами можно действовать, а первому этапу это не даёт ничего.
Мы измерили это на себе. Наша главная уже в индексе, которым ищет Claude; сервисные страницы туда ещё не попали, а по фразе vibe code rescue тот же индекс возвращает полдюжины конкурентов. При этом самые важные краулеры уже здесь: боты Anthropic и OpenAI читают сайт ежедневно с тех пор, как мы открыли дверь. Лаборатории строят собственные индексы, и раннее попадание туда может значить больше любого балла.
Зачем тогда чеклист вообще? Из-за правила первого дня. Каждый опубликованный указатель ведёт к тому, что отвечает: MCP-сервер принимает настоящие заявки, OAuth выдаёт настоящие токены, гейтвей окупается как канал продаж независимо от мнения любого сканера. Делайте чеки, после которых остаётся работающая инфраструктура, пропускайте те, после которых остаётся JSON-файл, а сэкономленное время тратьте туда, откуда ответы берутся на самом деле: в скучные индексы, сообщества и страницы, которые стоит цитировать.
Что оставляем красным сознательно
- Коммерс-протоколы (x402, ACP, UCP). Мы не продаём через корзину, и притворяться значило бы обманывать шопинг-агентов.
- Всё прочее, что требует эндпоинтов, которых мы не держим.
Чек, который зеленеет только через враньё машинам, пусть остаётся красным. У агентов хорошая память.
Выводы для фаундера
-
Агентский трафик реален и конвертится по-своему. Этот посетитель читает llms.txt и игнорирует вашу hero-анимацию.
-
Вечер гигиены (правила для роботов, content signals, sitemap, llms.txt, Link-заголовки) это входной билет. Выкатите на этой неделе.
-
Компаундящий ход это агентское действие: один эндпоинт, который позволяет ассистенту сделать то, ради чего существует ваш бизнес.
-
Публикуйте discovery-документы только для того, что отвечает. Карго-культ-метадата работает как отрицательное SEO агентного веба.
-
Проверьте дефолтную бот-политику вашего CDN. Она может тихо блокировать краулеры, которые вам нужнее всего.
-
Баллы меряют готовность, а не досягаемость. Досягаемость приходит из индексов, сообществ и страниц, которые стоит цитировать.
Мы делаем ровно это для клиентов: от MVP по фиксированной цене и спасения навайбкоженных приложений до полного ведения паблишинга. А если кликать лень, направьте своего ассистента на https://api.relux.works/mcp, пусть поговорит с нашим.