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

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

IndexNow для Next.js: ускорение discovery для AI Search и Bing Copilot

Как внедрить IndexNow в Next.js для новых и обновлённых страниц: API routes, keys, sitemap, canonical URL и измерение GEO.

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

IndexNow - это push-механизм: вместо ожидания повторного обхода вы сообщаете участвующим поисковым системам, что URL изменился. Для GEO это важно, потому что некоторые AI search experiences опираются на web indexes и свежесть источников.

GEO Scout не требует IndexNow, но помогает проверить, коррелирует ли ускоренное discovery с AI-видимостью в geoscout.pro.

Что отправлять

Отправляйте canonical public URLs, когда они:

  • созданы;
  • существенно обновлены;
  • перенаправлены;
  • удалены;
  • восстановлены после ошибки;
  • важны для commercial prompts.

Хорошие candidates:

/features/*
/pricing
/docs/*
/blog/*
/compare/*
/customers/*
/case-studies/*
/security

Не отправляйте internal search, preview URLs, private dashboards и parameter duplicates.

Key file

Создайте key file в корне:

https://example.com/YOUR_KEY.txt

В Next.js статический файл:

public/YOUR_KEY.txt

Для server-side submission храните значения в env:

INDEXNOW_KEY=your-key
SITE_URL=https://example.com

Submission route

Защитите route, который будет вызывать CMS или deployment process:

import { NextResponse, type NextRequest } from 'next/server'
 
export async function POST(request: NextRequest) {
  const token = request.headers.get('authorization')
 
  if (token !== `Bearer ${process.env.INDEXNOW_SUBMIT_TOKEN}`) {
    return NextResponse.json({ error: 'Unauthorized' }, { status: 401 })
  }
 
  const { urls } = (await request.json()) as { urls: string[] }
  const host = new URL(process.env.SITE_URL!).host
 
  const response = await fetch('https://api.indexnow.org/indexnow', {
    method: 'POST',
    headers: { 'content-type': 'application/json' },
    body: JSON.stringify({
      host,
      key: process.env.INDEXNOW_KEY,
      keyLocation: `${process.env.SITE_URL}/${process.env.INDEXNOW_KEY}.txt`,
      urlList: urls,
    }),
  })
 
  return NextResponse.json({ ok: response.ok, status: response.status })
}

Вызывайте route только из trusted systems.

CMS hook

Когда редактор публикует страницу:

  1. собрать canonical URL;
  2. обновить sitemap;
  3. revalidate страницу, если используется ISR;
  4. отправить URL в IndexNow;
  5. залогировать submission status.

Так discovery синхронизируется с publishing.

Canonical guardrails

Перед отправкой нормализуйте:

  • protocol;
  • host;
  • trailing slash policy;
  • locale prefix;
  • lowercase slugs, если это правило сайта;
  • удалённые query parameters;
  • redirected legacy URLs.

Дубли вариантов URL размывают signals и усложняют логи.

Robots и rendering всё ещё важны

IndexNow не является обходом правил. Если submitted URL заблокирован или thin, пользы не будет.

Проверьте:

curl -A "Bingbot/2.0" -I https://example.com/features/reporting
curl -A "Bingbot/2.0" -s https://example.com/features/reporting | head -80

Страница должна возвращать 200, canonical metadata, body content и JSON-LD в initial response.

Measurement

Логи показывают discovery:

  • запрашивал ли Bingbot submitted URL;
  • как быстро после submission;
  • был ли response 200;
  • попал ли он на canonical page.

GEO Scout показывает visibility:

  • цитирует ли Bing Copilot или другие AI surfaces страницу;
  • улучшились ли brand mentions по связанным prompts;
  • снизилась ли source share у конкурентных pages.

IndexNow - это speed layer. GEO всё равно зависит от полезного контента, structured evidence и clean crawler access.

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

IndexNow напрямую обновляет ChatGPT или Claude?
Нет. IndexNow в первую очередь является discovery-сигналом для участвующих поисковых систем. Но он может влиять на AI search surfaces, которые используют web indexes, особенно Bing-powered experiences.
IndexNow заменяет sitemap?
Нет. XML sitemap остаётся полной canonical-инвентаризацией. IndexNow используйте как push-сигнал при создании, обновлении или удалении важных URL.
Где хранить IndexNow key в Next.js?
Key file должен быть доступен в корне сайта, а secret или key value для server-side submission code не должен попадать в client bundle.
Как GEO Scout измеряет пользу IndexNow?
GEO Scout на geoscout.pro помогает увидеть, начинают ли отправленные после обновления страницы цитироваться в AI-ответах и влиять на упоминания бренда.