Colab SoWhat · Grupo Boticário
Отчёт прочитали восемь ИИ-систем. У меня есть логи.
Корпоративный отчёт об устойчивом развитии, перестроенный так, чтобы языковые модели читали и цитировали его точно. А затем снабжённый измерениями, чтобы это можно было проверить, а не просто заявить.
- Роль
- Product lead и разработка
- Стек
- Next.js App Router · JSON-LD · llms.txt · Vercel
Поиск возвращал список. Теперь он возвращает ответ.
Когда человек спрашивает ассистента о климатических целях компании, ассистент отвечает тем, что смог прочитать. Если официальный отчёт для него нечитаем, ответ придёт откуда-то ещё — из пересказа, из новости, из цифры двухлетней давности. Для компании, чья ESG-позиция и есть суть, быть процитированной с неверной цифрой хуже, чем не быть процитированной вовсе.
Поэтому задача была не в позиции в выдаче. Задача была стать тем источником, к которому обращается модель, и быть точным, когда она обращается.
Шесть механизмов, каждый — конкретная вещь в репозитории.
Серверный рендеринг везде, чтобы краулеры получали настоящий HTML, а не ждали JavaScript, который они не выполнят.
Явное приглашение, а не настройка по умолчанию
Динамически генерируемый файл robots, открывающий полный доступ для шаблона и для 17 названных ИИ-агентов. Там же исправлена ошибка, из-за которой запрашивающие получали ошибку.
GPTBot · ClaudeBot · PerplexityBot · Google-Extended · Applebot-Extended · CCBot
Разметка смысла
JSON-LD по Schema.org на каждой странице, в тех типах, которые у контента действительно есть, — а не один общий блок.
Organization · Report · FAQPage · Dataset · DefinedTermSet · Person · Brand · TechArticle
Текстовая сводка для моделей
llms.txt, сгенерированный из тех же файлов данных, что отрисовывают видимые страницы, — так он не может разойтись с тем, что читает человек.
/llms.txt — динамический, без ручной поддержки
72 вопроса в том виде, который используют модели
Сводный раздел FAQ, динамические страницы по каждому бренду портфеля и редакционный раздел, открыто фиксирующий исправления данных.
/faqs · /faqs/бренд/[бренд] · /faqs/editorial
Люди и боты разведены по маршрутам
Middleware отдаёт презентационные страницы краулерам напрямую, чтобы их можно было индексировать, а люди остаются в обычном потоке навигации. Оптимизация под ИИ без ущерба для опыта.
middleware — с учётом user-agent
Единый источник проверенных данных
Каждая цифра, цель и ответ живут в общих файлах данных, которые одновременно питают страницы, структурированные данные и llms.txt. Глава 4 была сверена цель за целью с официальным отчётом; сокращённые числа возвращены к буквальным.
3 языка · 10 разделов · 100% сверено
Я не хотел утверждать, что это работает, поэтому добавил измерения.
Log drain в Vercel, пишущий в базу, фиксирует два разных сигнала: fetch — краулер прочитал контент, и переход из ИИ — человек пришёл по цитате. Большинство GEO-проектов продают историю. Это та часть, которая её подтверждает.
Обращения по системам
- OpenAI668
- Anthropic341
- Microsoft185
- Прочие краулеры135
- Perplexity29
- Apple27
- Meta25
- ByteDance17
Почему они пришли
Не каждое обращение означает, что кто-то спросил.
Понять это позволяет user-agent. Агенты по запросу забирают страницу в тот момент, когда человек задаёт вопрос ассистенту. Остальные обходят сайт по собственному расписанию, потому что мы их пригласили. Разделение этих двух случаев — это разница между трафиком и спросом.
Запрошено в момент, когда кто-то задал вопрос ассистенту. Признак реального читателя за запросом.
Краулеры общего сбора и обучения, читающие потому, что сайт сам открыт. Вопроса за ними нет.
Краулеры, питающие поисковые индексы, к которым обращаются ассистенты. Автономны, но на реальном пути извлечения.
Цитаты, ставшие визитами
| Источник | Переходы | Загрузки PDF |
|---|---|---|
| ChatGPT | 57 | 12 |
| Copilot | 2 | — |
| Perplexity | 1 | — |
Период: 29.08.2026, 17:13 → 13.09.2026. Всего зафиксировано 8047 запросов, из них 1427 — обращения ИИ-краулеров.
Честное чтение этих чисел
Сборщик логов заработал позже самого сайта, поэтому сравнения «до и после» нет. Это абсолютные значения внутри закрытого окна, а не измеренный прирост — начинай я заново, измерения ушли бы в первый же деплой, а не после него.
Fetch — это чтение, а не цитирование: он доказывает, что модель прочитала страницу, но не что использовала её в ответе. Только 60 переходов доказывают, что цитата дошла до человека и привела его обратно. Это самое маленькое число на странице и первое, которое я стал бы защищать.
Хотите так же для своего отчёта?
Та же сборка и те же измерения, чтобы вы видели, кто прочитал и что вернулось.