Usamos cookies para mejorar tu experiencia, analizar el tráfico del sitio y personalizar el contenido. Puedes aceptar todas las cookies o elegir qué categorías permitir. Más información
IndexNow: Indexación Instantánea para Bing, Yandex y Más Allá (Guía 2026) | Ordiko
Guía
IndexNow: Indexación Instantánea para Bing, Yandex y Más Allá (Guía 2026)
Cómo funciona IndexNow, cómo implementarlo correctamente para un sitio de comercio electrónico y cómo drenar una cola de mutaciones sin spamear la API. Bing, Yandex, Seznam y Naver participan.
PT30M
TL;DR. IndexNow es una API gratuita y estandarizada que te permite notificar instantáneamente a Bing, Yandex, Seznam y Naver sobre cambios en URLs. Para un sitio de comercio electrónico, eso significa que un nuevo producto aparece en Bing en minutos en lugar de días. Implementalo como una cola drenada por un trabajo en segundo plano, no como llamadas sincrónicas.
Qué es IndexNow
IndexNow es un protocolo abierto anunciado por Microsoft y Yandex en 2021. Los motores de búsqueda que participan aceptan un simple HTTP POST que lista las URLs que han cambiado; rastrean esas URLs con prioridad.
Motores participantes:
Bing
Yandex
Seznam (Checo)
Naver (Coreano)
Notablemente ausente: Google. Google no participa en IndexNow; para Google, dependes del rastreo regular o de la API de Indexación (que está limitada a ofertas de trabajo, transmisiones en vivo y algunos otros tipos de contenido).
Cómo funciona
Generas una clave API (cualquier cadena aleatoria de 32 caracteres o más).
Alojas la clave en https://yourdomain.com/{key}.txt — el cuerpo contiene solo la clave. Esto verifica que controlas el dominio.
Haces un POST a https://api.indexnow.org/indexnow (o cualquier punto final de IndexNow de un motor participante) con:
No. Google no participa en IndexNow. Para Google, envía tu sitemap XML y confía en ciclos de rastreo regulares, o usa la propia API de Indexación de Google para tipos de contenido limitados (ofertas de trabajo, eventos en vivo). Para Bing, Yandex, Seznam y Naver, IndexNow es la forma más rápida de señalar actualizaciones.
¿Cuántas URLs puedo enviar por llamada?
Hasta 10,000 URLs por POST. La API devuelve 200-OK para envíos aceptados. Para volúmenes más grandes, agrupa y limita la tasa — la tasa segura típica es de 1–10 lotes por minuto. El trabajo de drenaje en Ordiko envía un lote por minuto por defecto.
¿Qué pasa si envío demasiado agresivamente?
Recibes 429 Demasiadas Solicitudes. La API no te prohíbe — retrocede, intenta de nuevo con retroceso exponencial. El envío sostenido de alta cantidad de URLs sin cambios puede llevar a una despriorización pero no a un bloqueo.
¿Cómo implementa Ordiko IndexNow?
Cada servicio de entidad (producto, categoría, marca, página) llama a notifyIndexNowOnChange en crear/actualizar/eliminar/despublicar. La tabla de cola pending_indexnow mantiene entradas; una tarea cron de Trigger.dev indexnow-drain.task.ts la drena según un horario. Cada ping se registra en seo_revalidation_events para auditoría.
Lecturas relacionadas
El motor pone las URLs en cola para rastreo.
Eso es todo. No hay autenticación más allá de la verificación de propiedad del archivo de clave, ni sistema de tokens de límite de tasa.
Cuándo hacer ping
Haz ping a IndexNow cada vez que una URL indexable públicamente cambie de manera significativa:
Evento
Ping
Producto creado
Haz ping a la nueva URL del producto
Producto actualizado (título, descripción)
Haz ping a la URL del producto
Slug del producto cambiado
Haz ping a AMBAS URLs antiguas y nuevas
Producto no publicado o eliminado
Haz ping a la URL (el motor verá 404/410 y la eliminará)
Categoría creada
Haz ping a la URL de la categoría
Categoría actualizada
Haz ping a la URL de la categoría
Marca o página creada/actualizada
Haz ping a la URL
Sitemap regenerado
Opcionalmente haz ping a la URL del sitemap
No hagas ping por:
Actualizaciones de inventario que no cambian el contenido.
Cambios solo internos (registro de auditoría de precios, acciones administrativas).
Importaciones masivas — agrupa el ping post-importación.
Cola, no llames de manera sincrónica
Una implementación ingenua:
// MALO: llamada sincrónica a IndexNow dentro de la guardado del producto
async function saveProduct(product: Product) {
await db.update(...);
await fetch('https://api.indexnow.org/indexnow', { method: 'POST', body: ... });
// ↑ añade 100–500ms a cada guardado
}
Mejor:
// BUENO: encolar, drenar de manera asíncrona
async function saveProduct(product: Product) {
await db.update(...);
await enqueueIndexNow(product.url);
// retorna inmediatamente
}
// Tarea en segundo plano, se ejecuta cada 1–5 minutos
export const indexNowDrainTask = task({
id: 'indexnow-drain',
cron: '*/1 * * * *',
run: async () => {
const urls = await fetchPendingUrls(MAX_BATCH);
if (urls.length === 0) return;
await postToIndexNow(urls);
await markAsDrained(urls);
},
});
Beneficios de encolar:
Las mutaciones se mantienen rápidas.
Los fallos no rompen los flujos visibles para el usuario.
Fácil de agrupar.
Fácil de registrar por intento.
Sobrevive al tiempo de inactividad de la plataforma (la cola persiste, se drena cuando la API vuelve a estar activa).
Manejo de cambios de slug
Un caso sutil común: un slug de producto cambia de /products/old a /products/new. Encola AMBAS URLs:
La nueva URL necesita ser rastreada para que el motor la agregue al índice.
La URL antigua necesita ser rastreada para que el motor la vuelva a obtener, vea el 301 (o 410) y la elimine.
Para eliminaciones, escribe una redirección 410 (tabla de rutas eliminadas de Ordiko) y haz ping a la URL. El motor ve 410 y elimina la URL de su índice permanentemente.
Agrupación
La API acepta hasta 10,000 URLs por POST. Patrón común de comercio electrónico: drenar de 100 a 500 URLs por minuto, dependiendo del volumen de mutaciones.
Cada ping (éxito o fallo) debe ser registrado. Esquema de tabla de auditoría útil:
CREATE TABLE seo_revalidation_events (
id SERIAL PRIMARY KEY,
store_id UUID NOT NULL,
url TEXT NOT NULL,
step TEXT NOT NULL, -- 'indexnow' | 'revalidate_tag' | 'sitemap'
status TEXT NOT NULL, -- 'ok' | 'failed' | 'retry'
error TEXT,
created_at TIMESTAMPTZ DEFAULT NOW()
);
Esto te permite responder "¿por qué este producto no aparece en Bing?" consultando la tabla por la URL del producto.
Verificación
Bing Webmaster Tools tiene un panel dedicado a IndexNow:
Ve las presentaciones a lo largo del tiempo, conteos de éxito/fallo.
Yandex Webmaster tiene informes equivalentes bajo Indexación.
Cómo Ordiko implementa IndexNow
La columna stores.indexNowApiKey almacena la clave por tienda.
Archivo de clave servido en /{key}.txt automáticamente.
Cada servicio de entidad (product.service.ts, category.service.ts, etc.) llama a notifyIndexNowOnChange(url) en mutaciones.
Cola: tabla pending_indexnow con (storeId, url, enqueuedAt).
La tarea cron de Trigger.dev indexnow-drain.task.ts se ejecuta cada minuto.
Cada drenaje se registra en seo_revalidation_events con step: "indexnow", status: ok|failed|retry.
FAQ
¿Funciona IndexNow para Google? No. Google no participa en IndexNow. Para Google, envía tu sitemap XML y confía en ciclos de rastreo regulares, o utiliza la propia API de Indexación de Google para tipos de contenido limitados (ofertas de trabajo, eventos en vivo). Para Bing, Yandex, Seznam y Naver, IndexNow es la forma más rápida de señalar actualizaciones.
¿Cuántas URLs puedo enviar por llamada? Hasta 10,000 URLs por POST. La API devuelve 200-OK para envíos aceptados. Para volúmenes más grandes, agrupa y limita la tasa: la tasa segura típica es de 1 a 10 lotes por minuto. El trabajo de drenaje en Ordiko envía un lote por minuto por defecto.
¿Qué pasa si envío demasiado agresivamente? Recibes 429 Too Many Requests. La API no te prohíbe: retrocede, vuelve a intentar con retroceso exponencial. El envío sostenido de alta volumen de URLs sin cambios puede llevar a una despriorización, pero no a un bloqueo.
¿Cómo implementa Ordiko IndexNow? Cada servicio de entidad (producto, categoría, marca, página) llama a notifyIndexNowOnChange en crear/actualizar/eliminar/no publicar. La tabla de cola pending_indexnow mantiene entradas; una tarea cron de Trigger.dev indexnow-drain.task.ts la drena según un horario. Cada ping se registra en seo_revalidation_events para auditoría.