ИИ-краулеры читают RSS и sitemap: что я нашёл в своих фидах

Открыл свой RSS и нашёл в нём 60 статей из 132. Потом проверил sitemap: 282 адреса и одинаковый lastmod у всех — тут же пошёл править. Рассказываю, что ИИ-краулер видит на моём сайте, что я уже исправил и что осталось.

Третьего ноября, в обычный вторник, я открыл https://nasloy.ru/rss.xml и стал листать вниз. Листал недолго: на шестидесятой записи фид закончился. В блоге 132 статьи, так что больше половины моих текстов для любого, кто читает фид, просто не существует.

Пятнадцать лет в SEO, а свой RSS я последний раз смотрел, кажется, когда его настраивал. Сапожник, сапоги, всё как положено.

Фид и карта сайта — это входная дверь

Поводом стал обзор Yoast от 28 октября 2026 года. Его вывод простой: ИИ-краулеры ходят по сайту широко и читают не только страницы, но и RSS-фиды, и sitemap. Специалисты советуют включить фиды, если они отключены, и держать карты сайта в порядке. По их словам, это быстрый способ дать ИИ найти свежий контент.

Звучит очевидно, но я годами относился к фиду как к рудименту из времён Google Reader. А карту сайта воспринимал как формальность для поисковиков, которую генератор собирает сам и в которую никто не заглядывает. Обе вещи у меня работали «как-то», и обе я ни разу не проверял глазами робота.

Фид и sitemap — это первое, что робот получает о сайте в машиночитаемом виде. Если там пусто или неправда, до остального он может просто не дойти.

Что показал мой RSS

Что показал мой RSS

Фид отдаёт 60 последних статей. Самая свежая вышла 2 ноября 2026 года, самая старая в фиде — 4 сентября. Окно в два месяца. В `lastBuildDate` стоит 2 ноября, 15:15. Это честно: фид пересобрался вместе с последней публикацией.

А карту сайта воспринимал как формальность для поисковиков, которую генератор собирает сам и в которую никто не заглядывает

— Олег Ветров, автор блога

Проблема в том, что 69 статей в фид не попали. Всё, что я написал до 4 сентября, через RSS не видно. Мой фид похож на магазинную витрину на 60 позиций при складе в 132: покупатель видит меньше половины ассортимента и решает, что больше ничего нет.

Для живого читателя в RSS-ридере это нормально: ему нужны свежие тексты, архив он смотрит на сайте. Краулер же, если верить Yoast, использует фид как способ найти контент. Если он начнёт с фида, то увидит меня только с сентября. Старые статьи он, скорее всего, найдёт другими путями, через ссылки и карту сайта. Но здесь меня ждал второй сюрприз.

Что показал sitemap

В карте 282 адреса. Всего на сайте 289 HTML-страниц, разница в семь адресов приходится на служебные страницы, которым в карте делать нечего. Тут всё в порядке.

Тег `lastmod` стоит у всех 282 адресов. Я сначала обрадовался, а потом посмотрел на значения. У всех стоит 2 ноября, то есть дата сборки сайта. Генератор ставит одну и ту же дату на каждый адрес: на статью, которую я правил вчера, и на словарную статью, к которой не прикасался с весны.

По такому lastmod нельзя понять, что менялось, а что нет. Если бы тега не было, робот хотя бы знал, что данных нет, и решал сам. А так он получает 282 одинаковых сигнала «обновлено вчера». Тут возможны два исхода: робот либо перекачивает всё подряд, либо перестаёт доверять тегу. Оба мне не нравятся. Это часы, которые на всех 282 циферблатах показывают одно и то же время. Сломанные часы хотя бы честно стоят.

Дописал это и пошёл править. Генератор карты теперь считает хеш каждой страницы и хранит его между сборками: страница изменилась — дата обновляется, не изменилась — остаётся прежней. Отдельно для статей, которые я переписывал, в метаданные добавилось поле updated. После пересборки в карте 32 разные даты вместо одной, самая свежая — 3 ноября. Разница видна сразу: словарь, к которому я не прикасался с весны, честно стоит на своей дате, а вчерашняя статья — на вчерашней.

Что проверялЧто нашёлЧто значит
RSS: число записей60 из 132 статейЧерез фид не видно 69 статей
RSS: окно дат4 сентября — 2 ноября 2026Архив старше двух месяцев не попадает
RSS: lastBuildDate2 ноября, 15:15Фид обновляется вовремя
Sitemap: охват282 из 289 страницИсключены только служебные
Sitemap: lastmodОдна дата на все 282Починил: теперь 32 разные даты
Картинки: alt657 img на 282 страницах, без alt — 0Тут придраться не к чему

Про картинки я проверил заодно и был готов краснеть. Не пришлось: alt заполнен везде. Хоть что-то я сделал правильно с первого раза.

Подробнее о том, как у меня собирается карта, я писал в заметке как я создаю sitemap. Перечитал её сейчас и увидел, что про lastmod там одна строчка и та оптимистичная.

Что показал robots.txt

Здесь всё скучно, и я этому рад. `User-agent: *`, `Allow: /`, закрыты только `/api/` и `/preview/`, указаны `Sitemap` и `Host`. Отдельных правил для GPTBot, PerplexityBot, ClaudeBot и CCBot нет. Они не запрещены, но и не выделены, и для меня это правильная позиция: блог нужен мне для того, чтобы его читали, в том числе машины.

Отдельно лежит llms.txt со списком ключевых страниц. Нужен ли он, если есть sitemap? Я думаю, что да, потому что задачи у них разные. Карта говорит «вот все адреса», llms.txt говорит «вот с чего начать». Только первый файл должен быть полным, а второй коротким. Как я их собираю, описано в тексте про robots.txt и llms.txt.

Вывод для себя я сделал такой: llms.txt не компенсирует кривой фид и одинаковый lastmod. Это три разных входа, и если два из них врут или показывают половину, третий не спасает.

Что я уже исправил и что осталось

Я прикинул объём работ: часа три, из них час уйдёт на то, чтобы вспомнить, где у меня шаблон фида.

  • Отдавать в фиде все статьи или хотя бы больше. 132 записи с анонсами — это немного, фид от этого не распухнет. Если вес станет заметным, оставлю в архивных записях только анонс без полного текста.
  • Поставить честный lastmod. Уже сделал, пока писал этот текст: дата берётся из метаданных статьи, а не из момента сборки. Для 144 терминов «Слоеводства» это важнее всего: правлю я их редко и точечно.
  • Проверить, что фид не отдаёт черновики. В robots у меня закрыт `/preview/`, но фид собирается отдельно. Если флаг черновика не учитывается, я сам себе устрою утечку.
  • Оставить robots простым. Отдельные блоки под каждого ИИ-бота я заводить не буду, пока не появится причина кого-то ограничить.
Чего я не знаю

Чего я не знаю

Я не вижу, что именно скачал конкретный краулер и как использовал. По логам видно обход: какой бот, какой адрес, какой код ответа. Читал ли он фид целиком, сравнивал ли lastmod, на что опирался при выборе страниц, из логов не узнать.

Единого стандарта «фид для ИИ» тоже нет. Есть RSS, есть sitemap, есть llms.txt, и каждый робот решает сам, чему верить. Поэтому мои правки не гарантируют результата. Они убирают две явные ошибки, которые я мог убрать давно. Через месяц сравню логи до и после: посмотрю, стали ли боты заходить на старые адреса чаще, чем раз в никогда.

Что я сделал первым

Начал с самого дешёвого. В конфиге фида поменял `limit: 60` на `limit: 0`, что у моего генератора означает «без ограничений». Пересобрал сайт и открыл rss.xml. Последняя запись теперь датирована мартом, а прокрутка заняла заметно больше времени, чем утром.

Читать дальше

Проверка

Посмотреть, где теряется трафик

SEO-аудит страницы: 28 автоматических проверок — от индексации до микроразметки. Без регистрации, список приоритетов сразу.