Как сделать личный блог доступным для ИИ-агентов: технический разбор
Hacker News · оригинал
Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Автор блога Deallocated Objects описывает процесс адаптации статического сайта под запросы нейросетевых агентов и поисковых систем. Ключевым решением стало предоставление контента в формате Markdown через контентную negotiation и создание файла llms.txt.
Материал демонстрирует практические методы оптимизации веб-контента для машинного чтения, что становится критически важным навыком в эпоху доминирования ИИ-ассистентов в поиске информации.
В современном вебе значительная часть трафика генерируется не людьми, а автономными агентами вроде Claude, ChatGPT или Perplexity. Автор блога Deallocated Objects рассказывает, как за один вечер адаптировал свой статический сайт под эти машины, используя лишь nginx и генерацию файлов при сборке. Главная проблема заключалась в том, что HTML-разметка содержит слишком много «шума» для машинного парсинга, поэтому каждое сообщение теперь доступно в чистом Markdown.
Реализация включает два подхода: добавление суффикса .md к URL или использование контентной negotiation. Во втором случае агент запрашивает Markdown через заголовок Accept, и сервер отдает нужный формат без изменения адреса. Чтобы избежать конфликтов в кэшировании, каждый ответ содержит заголовок Vary: Accept. Также отправляется заголовок Link с каноническим URL на HTML-версию и X-Robots-Tag: noindex, чтобы поисковики не индексировали Markdown-копии как дубликаты.
Отдельное внимание уделено файлу /llms.txt в корне сайта. Это простой Markdown-документ, который объясняет агенту структуру блога: как получить тексты, где находятся фиды и как правильно цитировать материалы. Существует также /llms-full.txt со всеми постами одним файлом (около 225 КБ) и /index.md для главной страницы. Все ответы содержат ссылку на llms.txt, что упрощает навигацию для ботов.
В файле robots.txt автор явно разрешает доступ всем известным ИИ-ботам (GPTBot, ClaudeBot и другим), добавляя строку Content-Signal. Это осознанный выбор: в отличие от корпоративных сайтов, личный блог заинтересован в цитировании. Старый Atom-фид был дополнен альтернативными ссылками на Markdown, а также добавлен JSON Feed с кастомным полем _markdown_url.
Метаданные страниц были полностью переработаны. Устаревшие описания из базы данных часто содержали ошибки форматирования и сырой HTML, поэтому теперь они генерируются автоматически из текста поста. Добавлены Open Graph, Twitter Cards и структурированные данные JSON-LD (BlogPosting, WebSite). Также исправлены устаревшие настройки viewport, мешавшие зуму на мобильных устройствах, и добавлены корректные превью-изображения 1200x630 для соцсетей.
Для ускорения индексации в Bing и других сервисах, используемых ИИ-поисковиками, настроен пинг IndexNow. Хотя Google не поддерживает этот протокол, автор считает это worthwhile investment, так как данные Bing часто используются нейросетями. Весь процесс не требует сложных фреймворков и сводится к работе с файлами и конфигурацией nginx.