← Обзор / ai-search / configuration / data-source / website
Parse types
Parse type определяет, как AI Search находит страницы для индексирования на источник данных веб-сайта. AI Search поддерживает два parse types.
| Parse type | Обнаружение страниц | Когда использовать |
|---|---|---|
sitemap (по умолчанию) |
Считывает XML sitemap, объявленные в robots.txt, или заданные вами адреса URL sitemap. По ссылкам не переходит. |
Ваш сайт публикует полный и актуальный sitemap. |
discover |
Начинается с исходного URL-адреса и по умолчанию использует как ваши sitemap, так и ссылки, которые находит на страницах при обходе. | На вашем сайте нет sitemap, либо он не охватывает все нужные страницы. |
Задайте parse type в source_params.web_crawler.parse_type. Если вы его не зададите, AI Search использует sitemap.
Оба parse types требуют исходный URL на домене, подключённом к тому же аккаунту Cloudflare. См. Подключение домена если ваш домен ещё не подключён к Cloudflare.
Какой parse type использовать
Оба parse types умеют считывать ваши файлы sitemap, поэтому выбор не сводится просто к "sitemap или ссылки". discover по умолчанию имеет значение источник обнаружения all, а значит, считывает ваши файлы sitemap и переходит по ссылкам. Разница в том, насколько полно каждый из них использует sitemap.
Если ваш сайт публикует sitemap, охватывающий страницы, которые вы хотите проиндексировать, предпочтительнее использовать sitemap. Это более надёжный из двух вариантов, потому что:
- Обновления определяются вашим sitemap.
sitemapповторно обходит страницу, когда меняется её<lastmod>дата меняется, поэтому изменения подхватываются при следующей синхронизации.discoverигнорирует<lastmod>и<changefreq>целиком и заново получает данные по фиксированному возраст кэша взамен. - Ничего не обрезается.
discoverостанавливается на настроенном лимит страниц и глубина сканирования, поэтому страницы, расположенные глубоко в графе ссылок или выходящие за лимит, могут быть пропущены.sitemapиндексирует всё, что указано в sitemap. - Порядок определяете вы.
sitemapиндексирует страницы по их<priority>значение, чтобы при достижении лимита экземпляра первыми индексировались ваши самые важные страницы. - Вы можете сузить область сканирования. Конкретный sitemap не поддерживается с
discover.
Выберите discover когда sitemap отсутствует, неполный или устарел.
Sitemap
sitemap parse type используется по умолчанию. AI Search считывает XML sitemap, опубликованные на вашем сайте, чтобы определить, какие страницы индексировать, и повторно обходит страницу, когда меняется её <lastmod> дата меняется.
Как находятся страницы
При подключении домена краулер ищет sitemap вашего сайта, чтобы определить, какие страницы нужно посетить:
- Если вы настроите один или несколько пользовательских URL-адресов sitemap в dashboard в разделе Параметры парсера > Конкретный sitemap, AI Search сканирует только эти URL-адреса из sitemap.
- В противном случае краулер проверяет
robots.txtдля перечисленных sitemap. - Если нет
robots.txtнайден, краулер проверяет карту сайта по адресу/sitemap.xml. - Если sitemap недоступен, домен нельзя просканировать с помощью
sitemapparse type. Используйтеdiscoverвзамен.
Порядок индексирования
Если ваши sitemap включают <priority> атрибуты, AI Search читает все sitemap и индексирует страницы на основе значения приоритета каждой страницы, независимо от того, в каком sitemap она находится.
Если нет <priority> указан, страницы индексируются в том порядке, в котором перечислены карты сайта: либо из настроенных пользовательских URL адресов карт сайта, либо из robots.txt сверху вниз.
AI Search поддерживает .gz сжатые sitemap. Оба robots.txt и карты сайта могут использовать частичные URL-адреса.
Синхронизация и обновления
При плановой или ручной задания синхронизации, краулер проверит изменения в <lastmod> атрибут в вашем sitemap. Если он изменён на дату, которая наступает позже последней синхронизации, страница обходится заново, сохраняется её обновлённая версия, и она автоматически переиндексируется, чтобы результаты поиска всегда отражали актуальный контент.
Если <lastmod> атрибут не задан, AI Search использует <changefreq> атрибут, чтобы определить, как часто повторно обходить URL. Если не задан ни <lastmod> ни <changefreq> задан, AI Search автоматически обходит каждую ссылку раз в сутки.
Конкретный sitemap
По умолчанию AI Search сканирует все файлы sitemap, перечисленные в вашем robots.txt в том порядке, в котором они указаны (сверху вниз). Если вы не хотите, чтобы краулер индексировал всё подряд, или если ваш sitemap размещён по нестандартному пути, вы можете настроить собственные URL-адреса sitemap в панели управления, в разделе Параметры парсера > Конкретный sitemap.
Если настроены пользовательские URL-адреса sitemap, AI Search использует именно их вместо автоматического поиска sitemap из robots.txt или /sitemap.xml. Можно добавить до пяти URL sitemap.
robots.txt
Краулер AI Search использует User-Agent Cloudflare-AI-Search. Ваш robots.txt файл должен указывать на ваш sitemap и разрешать доступ краулеру:
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xmlВы можете указать несколько файлов sitemap или использовать индексный файл sitemap:
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/blog-sitemap.xml
Sitemap: https://example.com/sitemap.xml.gzЧтобы заблокировать всех остальных краулеров и разрешить только AI Search:
User-agent: *
Disallow: /
User-agent: Cloudflare-AI-Search
Allow: /
Sitemap: https://example.com/sitemap.xmlСтруктура sitemap
Структурируйте sitemap так, чтобы предоставить AI Search данные, необходимые для эффективного сканирования:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/important-page</loc>
<lastmod>2026-01-15</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.com/other-page</loc>
<lastmod>2026-01-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
</urlset>Используйте эти атрибуты, чтобы управлять поведением обхода:
| Attribute | Назначение | Рекомендация |
|---|---|---|
<loc> |
URL страницы | Обязательно. Используйте полные или частичные URL-адреса. |
<lastmod> |
Дата последнего изменения | Добавьте это, чтобы включить отслеживание изменений. AI Search повторно сканирует страницы при изменении этой даты. |
<changefreq> |
Ожидаемая частота изменений | Используйте, когда <lastmod> недоступно. Значения: always, hourly, daily, weekly, monthly, yearly, never. |
<priority> |
Относительная важность (0.0-1.0) | Задавайте более высокие значения для важных страниц. AI Search индексирует страницы в порядке приоритета. |
Вы также можете использовать Sitemap Index, чтобы объединить sitemap других доменов:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.example.com/sitemap-blog.xml</loc>
<lastmod>2024-08-15T10:00:00+00:00</lastmod>
</sitemap>
<sitemap>
<loc>https://www.example.com/sitemap-docs.xml</loc>
<lastmod>2024-08-10T12:00:00+00:00</lastmod>
</sitemap>
</sitemapindex>При разборе Sitemap Index AI Search собирает все дочерние sitemap и рекурсивно обходит их, собирая все релевантные URL-адреса из ваших sitemap.
Рекомендации по sitemap
- Подключите
<lastmod>на всех URL адресах, чтобы эффективно отслеживать изменения при синхронизации. - Задайте
<priority>и таким образом определить порядок индексирования. Страницы с более высоким приоритетом индексируются первыми. - Используйте
<changefreq>как запасной вариант на случай, если<lastmod>недоступен. - Для больших сайтов с несколькими sitemap используйте файлы индекса sitemap.
- Сжимайте большие sitemap с помощью
.gzформат, чтобы снизить расход трафика. - Следите за тем, чтобы файлы sitemap не превышали 50 МБ и 50 000 URL-адресов (стандартные ограничения для sitemap).
Discover
discover parse type делегирует обнаружение страниц Browser Run /crawl конечная точка. AI Search запускает задание обхода по вашему исходному URL-адресу и сохраняет каждую полученную страницу в встроенное хранилище.
По умолчанию discover собирает URL-кандидаты как из ваших sitemap, так и из ссылок на страницах, которые он обходит. Используйте источник обнаружения опцию, чтобы ограничить его только одним из вариантов.
Поскольку discover не зависит от sitemap и находит страницы, которые sitemap упускает.
Как работает обнаружение страниц
- AI Search запускает задание сканирования с исходного URL.
- Краулер собирает URL-кандидаты из sitemap, ссылок на просканированных страницах или из обоих источников, в зависимости от источника обнаружения.
- Краулер переходит по ссылкам до настроенной глубины и останавливается по достижении лимита страниц.
- Каждая полученная страница сохраняется во встроенном хранилище, преобразуется в Markdown, разбивается на чанки и индексируется.
Краулер идентифицирует себя как Cloudflare-AI-Search на доменах в вашем аккаунте Cloudflare. Если вы включите внешние ссылки или поддомены и обход достигает домена за пределами вашего аккаунта, он идентифицирует себя как Cloudflare-AI-Search-External. Страницы, которые robots.txt запреты фиксируются с помощью blocked_by_robots_txt код ошибки индексации вместо индексации.
Настройка в панели управления
-
На панели управления Cloudflare перейдите к разделу AI Search страницу.
Перейдите в AI Search ↗ -
Выберите Создание, затем выберите Сайт в качестве источника данных.
-
В разделе Цель сканирования, введите URL сайта.
-
В разделе Parse type, выберите Discover.
-
В разделе Параметры сканирования, измените Источник сканирования, Лимит страниц, Глубина сканирования, Максимальный возраст кэша, Включать внешние ссылки, а также Включить поддомены.
-
Завершите процесс настройки, чтобы создать свой экземпляр.
Чтобы изменить эти параметры позже, выберите свой экземпляр и откройте Настройки вкладку и измените Параметры сканирования в разделе Параметры парсера. Сохранение изменения запускает новое задание индексирования, которое переиндексирует все элементы.
Настройка через API
Задайте parse_type к discover, затем передайте все нестандартные настройки в discover_options.
curl -X POST "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/instances" \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"id": "my-ai-search",
"type": "web-crawler",
"source": "example.com",
"source_params": {
"web_crawler": {
"parse_type": "discover",
"discover_options": {
"source": "links",
"limit": 5000,
"depth": 3,
"max_age": 86400,
"include_subdomains": true
}
}
}
}'Параметры Discover
Следующие параметры применяются только при parse_type это discover. Все они необязательны.
| Опция | Тип | По умолчанию | Диапазон или значения | Описание |
|---|---|---|---|---|
source |
string | all |
all, sitemaps, links |
Где краулер ищет потенциальные URL-адреса. |
limit |
число | 100000 |
от 1 до 100 000 | Максимальное количество страниц для сканирования. |
depth |
число | 5 |
от 1 до 100 000 | Максимальное количество переходов по ссылкам от исходного URL. |
max_age |
число | 86400 |
от 0 до 604 800 секунд | Как долго краулер использует кешированное содержимое страницы, прежде чем загрузить его заново. |
include_external_links |
boolean | false |
true, false |
Переходить ли по ссылкам, ведущим на другие домены. |
include_subdomains |
boolean | false |
true, false |
Переходить ли по ссылкам, ведущим на поддомены исходного URL. |
Источник для discovery
source опция определяет, откуда берутся URL адреса кандидатов:
all: Использует как sitemap, так и ссылки, найденные на просканированных страницах.sitemaps: Использует только URL-адреса, перечисленные в sitemap.links: Использует только ссылки, найденные на просканированных страницах.
Используйте links когда ваш sitemap отсутствует или ненадёжен. Используйте sitemaps когда вам нужно покрытие по sitemap без обхода ссылок на страницах.
Лимит страниц и глубина
limit опция ограничивает количество страниц, которые индексирует краулер, максимум до 100000. Значения выше этого максимума отклоняются при создании или обновлении экземпляра. Ваш лимит объектов экземпляра по-прежнему действует, поэтому фактическим ограничением становится меньшее из двух значений.
depth опция ограничивает, как далеко краулер уходит от исходного URL адреса. Глубина 1 обходит только страницы, на которые ведут прямые ссылки с исходного URL-адреса.
Возраст кэша
max_age опция задаёт максимальный возраст, в секундах, кешированного содержимого страницы, которое принимает краулер, прежде чем повторно загрузить страницу с вашего origin-сервера. Задайте значение 0 если нужно всегда получать данные напрямую с исходного сервера.
В панели управления Максимальный возраст кэша предлагает Без кеша, 1 час, 1 день, 3 дня, а также 7 дней.
Внешние ссылки и поддомены
По умолчанию краулер остаётся на хосте исходного URL. Включите include_subdomains чтобы переходить по ссылкам на поддомены, а также include_external_links чтобы переходить по ссылкам на другие домены.
Поведение синхронизации
Каждый задание синхронизации запускает новое задание сканирования. AI Search переиндексирует страницы, которые вернуло сканирование, и удаляет те, до которых больше не может достучаться.
Если сканирование не завершается или останавливается при достижении лимита страниц, AI Search сохраняет ранее проиндексированные страницы, а не удаляет те, до которых сканирование не дошло.
discover не считывает <lastmod> или <changefreq> атрибуты sitemap. Используйте max_age и таким образом определить, как часто краулер возвращается к вашему исходному серверу.
Неподдерживаемые параметры
parse_options.specific_sitemaps допустимо только тогда, когда parse_type это sitemap. Отправка его с discover возвращает ошибку валидации.
Параметры, применимые к обоим parse types
Указанные ниже настройки сайта применяются независимо от выбранного parse type:
- Фильтрация путей: Шаблоны включения и исключения URL-адресов. Исключённые страницы никогда не загружаются.
- Селекторы контента: Ограничивает индексирование элементами, которые соответствуют CSS-селектору.
- Заголовки аутентификации: Пользовательские HTTP-заголовки, отправляемые с каждым запросом.
- Пользовательские метаданные: Метаданные, извлечённые из
<meta>теги. - Режим отрисовки: Определяет, загружаются ли страницы в headless-браузере.
Лимиты
A discover обход индексирует не более 100 000 страниц и переходит не более чем по 100 000 ссылок от исходного URL-адреса, заданного с помощью limit и depth.
файлов на экземпляр лимит тоже действует, поэтому итоговым ограничением становится меньшее из значений. Полный список лимитов для веб-источников данных см. в Сайт.