---
title: "Сайт, готовий до AI-агентів: що ми зробили і що важливо — Dardo"
description: "Що потрібно сайту, готовому до AI-агентів, з досвіду dardo.studio: markdown-копії, llms.txt, правила для AI-краулерів, MCP-сервер, A2A-картка і що пропустити."
url: "https://dardo.studio/uk/blog/agent-ready-website/"
language: "uk"
translations: {"en":"https://dardo.studio/en/blog/agent-ready-website/","es":"https://dardo.studio/es/blog/sitio-web-preparado-para-agentes-de-ia/","fr":"https://dardo.studio/fr/blog/site-web-pret-pour-agents-ia/","de":"https://dardo.studio/de/blog/agentenfaehige-website/","it":"https://dardo.studio/it/blog/sito-web-pronto-per-agenti-ai/","pt":"https://dardo.studio/pt/blog/site-pronto-para-agentes/","nl":"https://dardo.studio/nl/blog/agent-ready-website/","sv":"https://dardo.studio/sv/blogg/agentredo-webbplats/","pl":"https://dardo.studio/pl/blog/strona-gotowa-na-agentow-ai/","ru":"https://dardo.studio/ru/blog/agent-ready-website/","ar":"https://dardo.studio/ar/blog/agent-ready-website/","hi":"https://dardo.studio/hi/blog/agent-ready-website/","th":"https://dardo.studio/th/blog/agent-ready-website/","ja":"https://dardo.studio/ja/blog/agent-ready-website/","ko":"https://dardo.studio/ko/blog/agent-ready-website/","zh-Hans":"https://dardo.studio/zh-Hans/blog/agent-ready-website/","zh-Hant":"https://dardo.studio/zh-Hant/blog/agent-ready-website/"}
updated: "2026-10-10T09:03:27.879Z"
---

[Блог](https://dardo.studio/uk/blog/)

# Що потрібно сайту для роботи з AI-агентами: нотатки зі створення dardo.studio

Ми зробили dardo.studio зрозумілим і доступним для виклику AI-агентами, крок за кроком. Ось що робить кожен рівень, хто задокументував його використання та які б ми створили знову.

Автор: [Nicolás Cerón](https://dardo.studio/uk/studio/) ·10 жовтня 2026 р.

![Невеликий робот на колесах їде за малиновою напрямною лінією музейною галереєю вночі до освітленої скульптури.](https://dardo.studio/_astro/01M4GYDFZJP0ZV0S7JSNMWYADG_ZoH0qp.webp)

## Коротка відповідь

Сайт, готовий до роботи з AI-агентами, робить три речі. AI-агенти можуть до нього дістатися. Вони можуть прочитати його, не продираючись крізь меню, банери та скрипти. А там, де це доречно, можуть викликати кілька оголошених інструментів, а не вгадувати, яку кнопку натиснути.

Усе це ми впровадили в dardo.studio на початку жовтня 2026 року. Ось що ми запустили і наскільки велика частина цього, за документацією, використовується основними AI-платформами. Перевірено на живому сайті 8 жовтня 2026 року.

Підсумок менш захопливий, ніж у більшості чеклістів «готовності до AI». Найбільшу вагу мають найстаріші рівні: доступ для краулерів і чистий семантичний HTML. Копії в Markdown та llms.txt — дешеві зручності. MCP, A2A і WebMCP — справжні протоколи з робочими клієнтами, але жодна з документацій краулерів OpenAI, Anthropic, Perplexity чи Google, на які ми посилаємося, не описує, щоб їхні асистенти самостійно знаходили інструменти сайту.

## Почніть з доступу: robots.txt і edge

У нашому [robots.txt](https://dardo.studio/robots.txt) одну й ту саму групу правил повторено для агента за замовчуванням (`*`) і для кожного AI-краулера пошуку та користувацького фетчера, яких ми називаємо:

```
User-agent: OAI-SearchBot
Allow: /
Disallow: /api/
Content-Signal: search=yes, ai-input=yes
```

Ті самі правила діють для ChatGPT-User, PerplexityBot, Perplexity-User, Claude-SearchBot, Claude-User і Bingbot. Закрито лише `/api/`.

### Пошукові краулери й краулери для навчання — різні

Великі компанії тепер документують окремі токени для пошуку та для навчання:

- **OpenAI.** OAI-SearchBot показує сайти в пошуку ChatGPT. Сайти, що його блокують, не потрапляють у відповіді пошуку ChatGPT, хоча можуть з'являтися як звичайні навігаційні посилання. GPTBot збирає дані для навчання. ([краулери OpenAI](https://developers.openai.com/api/docs/bots))
- **Anthropic.** Claude-SearchBot індексує для пошуку, ClaudeBot збирає дані для навчання, а Claude-User завантажує сторінки, коли людина про щось питає Claude. ([краулери Anthropic](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler))
- **Perplexity.** PerplexityBot показує сайти й дає на них посилання в результатах Perplexity та не використовується для навчання фундаментальних моделей. ([краулери Perplexity](https://docs.perplexity.ai/docs/resources/perplexity-crawlers))
- **Google.** Google-Extended — це контрольний токен для навчання Gemini та grounding в інших продуктах Google. Він не впливає на включення чи ранжування в Google Search. ([основні краулери Google](https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers))

Фетчери, що запускаються користувачем, — інша річ. OpenAI зазначає, що robots.txt може не застосовуватися до ChatGPT-User, адже ці запити ініціює людина. Perplexity-User і [фетчери Google, що запускаються користувачем](https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers), зазвичай його ігнорують. Ці фетчери діють від імені однієї людини в реальному часі; де блокування працює, воно здебільшого лише не дає асистентові цієї людини прочитати вашу сторінку.

Наш файл не називає краулерів для навчання, тож вони підпадають під `*` і їм дозволено доступ. Це бізнес-рішення, і вендори документують його як окремий контроль: заблокувати GPTBot чи ClaudeBot — не те саме, що вийти з їхніх пошукових індексів.

### Content Signals: один рядок, жодних зобов'язань

Рядок `Content-Signal` походить із [Content Signals Policy](https://blog.cloudflare.com/content-signals-policy/) від Cloudflare, яка називає три способи використання: `search`, `ai-input` (подання контенту моделі під час відповіді) та `ai-train`. Ми пропускаємо `ai-train`, що за цією політикою його ні дозволяє, ні обмежує. Cloudflare каже, що сигнали виражають побажання, нічого не блокують і можуть ігноруватися. Жодна зі згаданих тут сторінок про краулери їх не згадує. Це коштує один рядок; поки що нічого не очікуйте.

### Перевіряйте edge, а не лише файл

robots.txt задає політику, а що станеться насправді, вирішує ваша CDN. Коли ми тестували 2 жовтня, Browser Integrity Check від Cloudflare відповідав 403 стандартному HTTP-клієнту Python (`Python-urllib`) та `libwww-perl`, хоча robots.txt дозволяв усе. Скрипти, які пишуть агенти для кодування, часто використовують стандартну бібліотеку Python без змін.

Ми додали правило конфігурації Cloudflare, яке робить виняток для запитів GET і HEAD до публічного контенту; `/api/` і далі відповідає 403. Той самий огляд показав, що в наших файлах `.txt` не було charset, тому деякі клієнти читали «Bogotá» як «BogotÃ¡». Виправлення — один заголовок: `charset=utf-8`.

Тестуйте реальними запитами під кожним user agent. Це показує, що ніщо не блокує саме це ім'я; це не доводить, що справжній краулер заходив.

## Простий семантичний HTML: рівень, від якого залежить кожен агент

[Посібник Google з оптимізації для AI](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide) описує агентів у браузері, які аналізують скриншоти, переглядають DOM та інтерпретують дерево доступності. Він відсилає власників сайтів до [рекомендацій web.dev щодо дружності до агентів](https://web.dev/articles/ai-agent-site-ux), які здебільшого стосуються [доступності](https://dardo.studio/uk/services/web-accessibility/): використовуйте `<button>` і `<a>` замість стилізованих `<div>`, пов'язуйте кожну мітку з її полем і не допускайте зсуву макета під скриншотом.

На dardo.studio кожна сторінка має один `<main>` і підписані орієнтири `<nav>`. Перемикачі меню й теми — справжні кнопки, що повідомляють свій стан через `aria-expanded` і `aria-pressed`, а закриті меню мають `inert`. Кожне поле контактної форми розміщене всередині свого `<label>`, що дає йому доступну назву. web.dev радить атрибут `for`; обгортання поля виконує ту саму роль.

Це вже сьогодні допомагає користувачам екранних читачів, і цього достатньо.

## Чиста копія кожної сторінки в Markdown

Агенти платять за кожен токен, який читають, а відрендерена сторінка містить навігацію, банер про cookie, скрипти й декоративну графіку. До цієї роботи запит наших сторінок із `Accept: text/markdown` повертав усе це як HTML.

Тепер на етапі збирання біля кожної індексованої сторінки створюється файл `index.md`. Він починається з front matter (заголовок, опис, канонічна URL-адреса, мова, версія іншою мовою та дата оновлення), а далі йде вміст елемента `<main>` сторінки без скриптів, кнопок, декоративних зображень і змісту сторінки. Відповіді з розділів FAQ залишаються. Форми перетворюються на список полів і варіантів вибору, тож агент може розповісти людині, про що запитує наша контактна форма, не торкаючись її.

Отримати копію можна трьома способами:

- Надішліть `Accept: text/markdown` на звичайну URL-адресу. Такі відповіді містять `Vary: Accept`, тому кеші зберігають версії окремо.
- Запросіть файл: `/en/services/seo/index.md`.
- Додайте `.md` до шляху сторінки (`/en/services/seo.md`). Для URL-адрес, що закінчуються скісною рискою, [пропозиція llms.txt](https://llmstxt.org/) використовує `index.md`, тобто форму, наведену вище.

Кожна HTML-сторінка також вказує на свою копію через `<link rel="alternate" type="text/markdown">`.

### Спрямовуємо пошукові системи назад до HTML

У посібнику Google зазначено, що він може сканувати та індексувати багато типів файлів, окрім HTML, і не ставиться до них особливо. Копія в markdown може конкурувати з власною сторінкою, тому кожна відповідь у markdown вказує HTML-сторінку як канонічну:

```
$ curl -sI https://dardo.studio/en/services/seo/index.md
content-type: text/markdown; charset=utf-8
link: <https://dardo.studio/en/services/seo/>; rel="canonical", ...
```

Хто читає ці копії? Cloudflare створила [Markdown for Agents](https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/), щоб на периферії конвертувати HTML для запитів, які віддають перевагу markdown, а це натякає, що агенти такі запити надсилають. Вона не називає, які клієнти надсилають цей заголовок, і в нас також немає перевіреного списку. Якщо ви користуєтеся функцією Cloudflare, вона додає `Content-Signal: ai-train=yes, search=yes, ai-input=yes`, якщо ваш початковий сервер не задає власного значення. Ми генеруємо свої копії під час збирання, щоб вони точно відповідали сторінці.

## llms.txt: корисний індекс, який не впливає на пошук

llms.txt — це [пропозиція Джеремі Говарда](https://llmstxt.org/), уперше опублікована у вересні 2024 року й досі відкрита для відгуків спільноти: файл markdown за адресою `/llms.txt` з назвою сайту, коротким описом і списками посилань, які можуть знадобитися агенту.

Наш файл, доступний за адресами [/llms.txt](https://dardo.studio/llms.txt) і [/es/llms.txt](https://dardo.studio/es/llms.txt), генерується з тих самих даних, що й сторінки, тому розбіжностей не буде. У ньому наведено факти про студію (Богота, заснована 2026 року, команда з трьох людей, як формується вартість проєктів, способи зв'язку), перелічено послуги та роботи й пояснено, як отримати копії в markdown. `llms-full.txt` містить повний текст сторінок студії, послуг, робіт і контактів.

В одному рядку названо підприємства зі схожими назвами, які не маємо до нас стосунку. Коли ми перевіряли 2 жовтня, саме вони були першими в результатах пошуку за запитом "dardo studio". Цей рядок, можливо, найкорисніший у файлі.

Стан справ, коротко й прямо:

- **Google** заявляє, що llms.txt не потрібен, щоб з'являтися в Пошуку чи його AI-функціях, що Пошук його ігнорує, а наявність такого файлу не допомагає і не шкодить.
- **OpenAI, Anthropic і Perplexity** у документації своїх краулерів не повідомляють, що їхні боти читають llms.txt чужих сайтів. Водночас документаційні сайти OpenAI, Anthropic і Perplexity самі публікують такий файл для агентів, які читають їхню документацію.

Тримайте його, якщо він генерується автоматично й точний. Він допомагає агентам для програмування та інструментам, які його шукають. Але це не важіль видимості.

## Інструменти, які можуть викликати агенти: MCP, A2A і каталог API

Ми опублікували два інструменти лише для читання:

- `**list_services**` повертає наші опубліковані послуги, обсяг робіт, результати та URL-адреси джерел англійською або іспанською, із фільтром за необов'язковим ключовим словом.
- `**get_project_brief**` повертає запитання, на які варто відповісти перед зверненням до нас, і локалізоване контактне посилання для цієї послуги.

Одна реалізація стоїть за кількома точками входу:

| Точка входу        | Адреса на dardo.studio                                    | Стандарт і статус                                                                                                                                                                                              |
| ------------------ | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Сервер MCP         | /mcp, картка за адресою /.well-known/mcp/server-card.json | [MCP](https://modelcontextprotocol.io/specification/2025-11-25/basic/transports) Streamable HTTP; картка сервера є [проєктом пропозиції](https://modelcontextprotocol.io/community/working-groups/server-card) |
| Агент A2A          | /a2a, картка за адресою /.well-known/agent-card.json      | [A2A 1.0](https://a2a-protocol.org/latest/specification/), JSON-RPC                                                                                                                                            |
| Кінцева точка JSON | /agent/services.json, описана в OpenAPI                   | Звичайний HTTP                                                                                                                                                                                                 |
| Каталог API        | /.well-known/api-catalog                                  | [RFC 9727](https://www.rfc-editor.org/rfc/rfc9727.html), IETF Standards Track                                                                                                                                  |

Кожна відповідь у HTML і markdown надсилає заголовок `Link`, що вказує на каталог, індекс навичок агентів і обидві картки, тож будь-яка сторінка веде до решти.

### Правила дизайну, які ми б повторили

- **Лише читання й публічність.** Інструменти MCP оголошують `readOnlyHint: true` і читають той самий опублікований каталог, що й HTML, без бази даних за ними. `get_project_brief` нічого не надсилає, не бронює й не розраховує вартість; людина переглядає й надсилає сама.
- **Обмежений вхід.** Тіла запитів обмежені 8 KiB, заголовки `Origin` браузера перевіряються (цього вимагає специфікація MCP), а виклики мають власне обмеження частоти.
- **Без стану.** Агент A2A відповідає одразу, не зберігає завдань, має вимкнену потокову передачу й не завантажує файли чи URL-адреси, які йому надсилають.
- **Зрозумілі умови.** [/auth.md](https://dardo.studio/auth.md) повідомляє, що облікові дані не потрібні й що читання публічних даних не дає права надсилати повідомлення чи здійснювати платіж.

Дещо ми також свідомо не робили. Сканери готовності перевіряють наявність протоколів комерції та OAuth discovery. Ми нічого не продаємо через касу й не захищаємо жодних ресурсів, тож публікація цього описувала б можливості, яких не існує.

Хто користується цими інструментами сьогодні: клієнти MCP, які хтось підключив до `/mcp`, і клієнти A2A, яким дали нашу картку. Для студії цінність скромна: точна відповідь на запитання "чим займається Dardo і що йому надіслати?" Для сайту з актуальними даними, про які запитують, наприклад про залишки, наявність чи документацію до продукту, аргументи переконливіші. Агентам, які записують дані, потрібні автентифікація та етапи перевірки; це вже робота з [автоматизації на основі ШІ](https://dardo.studio/uk/services/ai-automation/).

## WebMCP: ті самі інструменти всередині браузера

[WebMCP](https://webmachinelearning.github.io/webmcp/) дає змогу сторінці реєструвати інструменти, які може викликати AI-агент у браузері. Це Draft Community Group Report спільноти W3C Web Machine Learning Community Group, і в ньому зазначено, що він не є стандартом W3C. web.dev повідомляє, що він активно розробляється, може змінитися, а спробувати його можна в Chrome через origin trial.

Наші сторінки реєструють ті самі два інструменти через `document.modelContext` (або `navigator.modelContext` у старіших превʼю). Без цього API браузер не виконує нічого зайвого. Оскільки інструменти вже існували, на це пішло близько 40 рядків. Сприймайте це як експеримент.

## Кожен рівень і чи варто він зусиль

| Рівень                                            | Що це                                                             | Хто читає його сьогодні                                                            | Чи варто?                                             |
| ------------------------------------------------- | ----------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------- |
| Семантичний HTML і підписані форми                | Справжні кнопки, посилання, ландмарки та підписи                  | Браузери, допоміжні технології та браузерні агенти                                 | Так. Починайте з нього                                |
| robots.txt для пошукових і користувацьких агентів | Правила для кожного краулера, що відокремлюють пошук від навчання | OpenAI, Anthropic, Perplexity і Google документують свої токени                    | Так. Потім перевірте на рівні CDN                     |
| Content Signals                                   | Налаштування search, ai-input, ai-train у robots.txt              | Жодна з перевірених нами AI-компаній не документує їх дотримання                   | Один рядок. Не чекайте нічого                         |
| Markdown-копії з канонічними заголовками          | Чиста текстова версія кожної сторінки                             | Агенти, що запитують markdown; публічного списку таких немає                       | Так, із канонічним заголовком                         |
| llms.txt і llms-full.txt                          | Добірний індекс і повний текст для агентів                        | Google Search його ігнорує; жодна документація краулерів не заявляє, що читає його | Залиште, якщо він генерується. Це не важіль видимості |
| MCP-сервер (лише читання)                         | Оголошені інструменти, які можуть викликати агенти                | MCP-клієнти, які підключає людина                                                  | Лише якщо є дані або дії, які варто викликати         |
| A2A agent card                                    | Машинозчитуване опис агента                                       | A2A-клієнти, спрямовані на нього                                                   | Для більшості сайтів спекулятивно                     |
| Каталог API (RFC 9727)                            | Єдиний well-known список ваших публічних API                      | Інструменти, що його шукають                                                       | Недорого, якщо API вже є                              |
| WebMCP                                            | Інструменти, які сторінка реєструє в браузері                     | Chrome, через origin trial                                                         | Експеримент                                           |

## Що б ми зробили знову

По черзі: семантичний HTML, перевірений доступ краулерів, markdown-копії з канонічними заголовками, згенерований llms.txt і інструменти лише тоді, коли є що викликати. Потім вимірюйте. Серверні логи показують, які агенти завантажують markdown-копії або викликають `/mcp`. Завантаження — це не цитування, і ніщо з цього не гарантує, що [AI-система згадає вас](https://dardo.studio/uk/blog/appear-in-ai-answers/).

Готовність до агентів — частина нашої роботи з [оптимізації для AI-пошуку](https://dardo.studio/uk/services/ai-search-optimization/), поряд із контентом і вимірюванням, які визначають, чи цитують вас AI-відповіді. Щоб впровадити це на вашому сайті, [розкажіть нам про проєкт](https://dardo.studio/uk/contact/).

[Nicolás Cerón](https://dardo.studio/uk/studio/)

Nicolás Cerón — засновник Dardo, студії брендингу, веб-дизайну та розробки в Боготі, Колумбія.

## Продовжуйте знайомство.

- [Послуга · **AI-оптимізація пошуку (GEO): щоб на вас посилалися ChatGPT і Google AI**](https://dardo.studio/uk/services/ai-search-optimization/)

- [Ваш проєкт · **Почати розмову**](https://dardo.studio/uk/contact/)
