We use cookies to improve your experience, analyze site traffic, and personalize content. You can accept all cookies or choose which categories to allow. Learn more
IndexNow: Instant Indexing for Bing, Yandex, and Beyond (2026 Guide) | Ordiko
Guide
IndexNow: Instant Indexing for Bing, Yandex, and Beyond (2026 Guide)
How IndexNow works, how to implement it correctly for an ecommerce site, and how to drain a mutation queue without spamming the API. Bing, Yandex, Seznam, and Naver all participate.
PT30M
TL;DR. IndexNow is a free, standardized API that lets you instantly notify Bing, Yandex, Seznam, and Naver of URL changes. For an ecommerce site, that means a new product appears in Bing within minutes instead of days. Implement it as a queue drained by a background job, not synchronous calls.
What IndexNow is
IndexNow is an open protocol announced by Microsoft and Yandex in 2021. Search engines that participate accept a simple HTTP POST listing URLs that have changed; they crawl those URLs on priority.
Participating engines:
Bing
Yandex
Seznam (Czech)
Naver (Korean)
Notably absent: Google. Google does not participate in IndexNow; for Google you rely on regular crawl or the Indexing API (which is limited to job postings, livestreams, and a few other content types).
How it works
You generate an API key (any 32+ character random string).
You host the key at https://yourdomain.com/{key}.txt β the body contains just the key. This verifies you control the domain.
You POST to https://api.indexnow.org/indexnow (or any participating engine's IndexNow endpoint) with:
No. Google does not participate in IndexNow. For Google, submit your XML sitemap and rely on regular crawl cycles, or use Google's own Indexing API for limited content types (job postings, livestream events). For Bing, Yandex, Seznam, and Naver, IndexNow is the fastest way to signal updates.
How many URLs can I submit per call?
Up to 10,000 URLs per POST. The API returns 200-OK for accepted submissions. For larger volumes, batch and rate-limit β typical safe rate is 1β10 batches per minute. The drain job in Ordiko sends one batch per minute by default.
What happens if I submit too aggressively?
You get 429 Too Many Requests. The API doesn't ban you β back off, retry with exponential backoff. Sustained high-volume submission of unchanged URLs can lead to deprioritization but not blocking.
How does Ordiko implement IndexNow?
Every entity service (product, category, brand, page) calls notifyIndexNowOnChange on create/update/delete/unpublish. The queue table pending_indexnow holds entries; a Trigger.dev cron task indexnow-drain.task.ts drains it on a schedule. Every ping is logged in seo_revalidation_events for audit.
Related reading
The engine queues the URLs for crawl.
That's it. No authentication beyond the key-file ownership check, no rate-limit token system.
When to ping
Ping IndexNow whenever a publicly indexable URL changes meaningfully:
Every ping (success or failure) should be logged. Useful audit table schema:
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()
);
This lets you answer "why isn't this product showing up in Bing?" by querying the table for the product URL.
Verifying
Bing Webmaster Tools has a dedicated IndexNow dashboard:
View submissions over time, success/failure counts.
Yandex Webmaster has equivalent reporting under Indexing.
How Ordiko implements IndexNow
stores.indexNowApiKey column stores the key per store.
Key file served at /{key}.txt automatically.
Every entity service (product.service.ts, category.service.ts, etc.) calls notifyIndexNowOnChange(url) on mutation.
Queue: pending_indexnow table with (storeId, url, enqueuedAt).
Trigger.dev cron task indexnow-drain.task.ts runs every minute.
Each drain logs to seo_revalidation_events with step: "indexnow", status: ok|failed|retry.
FAQ
Does IndexNow work for Google? No. Google does not participate in IndexNow. For Google, submit your XML sitemap and rely on regular crawl cycles, or use Google's own Indexing API for limited content types (job postings, livestream events). For Bing, Yandex, Seznam, and Naver, IndexNow is the fastest way to signal updates.
How many URLs can I submit per call? Up to 10,000 URLs per POST. The API returns 200-OK for accepted submissions. For larger volumes, batch and rate-limit β typical safe rate is 1β10 batches per minute. The drain job in Ordiko sends one batch per minute by default.
What happens if I submit too aggressively? You get 429 Too Many Requests. The API doesn't ban you β back off, retry with exponential backoff. Sustained high-volume submission of unchanged URLs can lead to deprioritization but not blocking.
How does Ordiko implement IndexNow? Every entity service (product, category, brand, page) calls notifyIndexNowOnChange on create/update/delete/unpublish. The queue table pending_indexnow holds entries; a Trigger.dev cron task indexnow-drain.task.ts drains it on a schedule. Every ping is logged in seo_revalidation_events for audit.