🎯 Бесплатно: первая проверка AI-видимости за 5 минут, затем обновление раз в 7 днейПопробовать →

Блог
3 мин чтения

llms.txt для Next.js: технический чеклист AI crawler readiness

Как добавить llms.txt, robots.txt, sitemap, canonical, структурированные данные и серверный рендеринг в Next.js для AI-краулеров.

llms.txtNext.jsAI-краулерыtechnical GEO
Владислав Пучков
Владислав Пучков
Основатель GEO Scout, эксперт по GEO-оптимизации

Next.js может быть удобной основой для AI crawler readiness, если публичные страницы действительно видны сервером. Краулер должен запросить homepage, features, docs, кейсы или блог и получить осмысленный HTML без запуска браузера.

GEO Scout помогает превратить это в измеримый процесс. После внедрения чеклиста отслеживайте промпты и источники на geoscout.pro, чтобы увидеть, начинают ли AI-системы цитировать нужные страницы.

Размещение файлов

Для статического варианта:

public/llms.txt
public/robots.txt
public/sitemap.xml

Для App Router и генерации:

app/llms.txt/route.ts
app/robots.txt/route.ts
app/sitemap.ts

Адреса должны открываться напрямую:

https://example.com/llms.txt
https://example.com/robots.txt
https://example.com/sitemap.xml

Минимальный llms.txt

# Example SaaS
 
> Документация, pricing, кейсы и материалы по внедрению Example SaaS.
 
## Основные страницы
- https://example.com/
- https://example.com/features
- https://example.com/pricing
- https://example.com/customers
 
## Документация
- https://example.com/docs/getting-started
- https://example.com/docs/api
 
## Политики
- https://example.com/security
- https://example.com/privacy

Не превращайте llms.txt в список ключевых слов. Это карта полезных canonical-ресурсов.

robots.txt

User-agent: GPTBot
Allow: /
 
User-agent: ClaudeBot
Allow: /
 
User-agent: PerplexityBot
Allow: /
 
User-agent: *
Disallow: /app/
Disallow: /api/
Disallow: /checkout/
 
Sitemap: https://example.com/sitemap.xml

Блокировать /api/ обычно нормально. Блокировать /docs/, /blog/, /customers/ и /features/ обычно вредно для GEO.

Sitemap

Пример app/sitemap.ts:

import type { MetadataRoute } from 'next'
 
export default function sitemap(): MetadataRoute.Sitemap {
  return [
    {
      url: 'https://example.com/',
      lastModified: new Date('2026-04-24'),
      changeFrequency: 'weekly',
      priority: 1,
    },
    {
      url: 'https://example.com/features',
      lastModified: new Date('2026-04-24'),
      changeFrequency: 'weekly',
      priority: 0.8,
    },
  ]
}

Используйте стабильные canonical URL. Для локалей добавляйте language alternates и hreflang там, где это поддерживает стек.

Чеклист рендеринга

  • Blog, docs, features, pricing, comparisons и case studies переводите на SSG или ISR.
  • SSR используйте для динамических публичных страниц.
  • Закрытые dashboards держите за авторизацией и вне crawler-paths.
  • H1, body copy, FAQ, таблицы и JSON-LD должны быть в первом HTML.
  • Не прячьте критичный контент в пустые до hydration табы.
  • Проверяйте через curl -A "GPTBot/1.0" https://example.com/features.

Структурированные данные

Для SaaS добавляйте Organization, SoftwareApplication, FAQPage, BreadcrumbList, Article и Product там, где это уместно. JSON-LD должен попадать в серверный HTML.

Логи

Проверяйте Vercel, CDN или server logs по user-agent:

GPTBot
ClaudeBot
PerplexityBot
Google-Extended
Googlebot
Bingbot

Смотрите status code, blocked paths, redirects и страницы с тонким HTML.

Релизный чеклист

  1. Опубликовать /llms.txt.
  2. Проверить robots.txt для нужных AI-краулеров.
  3. Добавить sitemap и canonical URL.
  4. Отдавать публичные страницы через SSG, ISR или SSR.
  5. Добавить server-visible schema.
  6. Проверить raw HTML bot user-agent.
  7. Отслеживать AI-упоминания и источники в GEO Scout.

Задача не в том, чтобы сделать отдельный сайт для ботов. Задача в том, чтобы лучшая публичная информация была доступна, понятна и цитируема.

Частые вопросы

Где разместить llms.txt в Next.js?
Файл должен открываться по адресу /llms.txt. Для статического варианта положите его в public/llms.txt, для динамического используйте route handler в app/llms.txt/route.ts.
llms.txt заменяет robots.txt?
Нет. robots.txt управляет доступом краулеров и ссылается на sitemap. llms.txt помогает AI-системам быстро найти важные публичные ресурсы, документацию, политики и canonical-страницы.
Нужен ли SSR для AI-краулеров в Next.js?
Публичные страницы должны отдавать полезный HTML в первом ответе. Для маркетинговых страниц, документации, блога, pricing, кейсов и сравнений используйте SSG, ISR или SSR.
Как GEO Scout помогает проверить эффект?
GEO Scout на geoscout.pro показывает, меняются ли упоминания бренда, позиции и цитируемые источники после технических правок Next.js.