IndexNow

IndexNow

Notify search engines (Bing, Yandex, Seznam, Naver) the moment a page changes, instead of waiting for them to recrawl your site organically. Warpkit hosts the required verification file and ships a script to submit your whole sitemap on demand.

How it works

  1. A verification file is served at https://yourdomain.com/{INDEXNOW_KEY}.txt, containing the key itself , this is how IndexNow confirms you control the domain.
  2. make indexnow.submit fetches your live /sitemap.xml, extracts every URL, and POSTs them to IndexNow's API. Supporting search engines pick up the change and prioritize a recrawl.

Setup

INDEXNOW_KEY is auto-generated by make init , same as BETTER_AUTH_SECRET, but this one isn't a secret: the protocol requires it to be publicly served, so there's no external account to sign up for and nothing to keep confidential. If you're on an existing .env from before this feature existed, running make init again fills it in without touching anything else already set.

Submitting URLs

make indexnow.submit

Run this after a bulk content or metadata change (like updating a lot of page titles/descriptions at once) or after publishing a new page. It's a manual step, not wired into CI or deploys , IndexNow submission needs no server-side secret beyond the key you already have, so there's no reason it couldn't be automated later, but a starter template shouldn't assume every fork wants that.

Verifying

Check the key file is live:

curl https://yourdomain.com/$(grep INDEXNOW_KEY .env | cut -d= -f2).txt

Should return the key as plain text. A successful make indexnow.submit run prints Success: 200 or Success: 202; anything else prints IndexNow's error response (400/403/422/429 are the documented failure codes , see the script's comments in scripts/indexnow-submit.ts for what each means).