The Doozer Brainlive from the knowledge bundle · v2.2.618 · 2026-09-13 17:15 ETall pages · one page

IndexNow (instant crawl notification)

systems/indexnow.md · System · seo, indexnow, bing, crawl, sitemap, quality-gate, indexing

unverified: no trust signals recorded yet

Push index-eligible Doozer URLs to Bing/Yandex the moment they cross the quality gate, so fresh and changed pages get crawled in hours instead of weeks. Bing-first hedge against the Google scaled-content classifier that cliffed elks.

IndexNow (instant crawl notification)

IndexNow is a free "push" protocol: you notify participating search engines (Bing, Yandex, Seznam, Naver) that a URL is new or changed, and they crawl on demand instead of waiting for a sitemap re-fetch. Google does not consume IndexNow, so this is a Bing-first play, and a deliberate hedge: elks.club cliffed on Google's scaled-content classifier (SEO cliff & recovery), so diversifying the traffic base onto Bing matters.

Shipped v2.2.359. includes/indexnow.php.

How ownership works across 2,400+ domains

IndexNow verifies you own a URL by fetching a key file (https://<host>/<key>.txt) on the same host as each submitted URL. Doozer already serves robots.txt dynamically on every domain, so we do the same for the key file: index.php matches /<32-hex>.txt and echoes the one shared key. That means a single key (platform_settings.indexnow.key, generated on first use) verifies the entire network, with no per-domain key management. The route is on the sessionless path list so it never takes a session lock.

Because each Doozer business site is its own host (e.g. lodge.elks.club), submissions are one host per request. Directory/root hosts with many URLs batch into a single request (IndexNow allows one host, many URLs).

The load-bearing guardrail

Submit only index-eligible URLs — the exact sitemap rule: domains.status='active' AND include_in_sitemap=1 AND businesses.ai_generated_content IS NOT NULL. Never push skeletons, noindex, or thin pages. Pushing slop to a search engine re-teaches it that we emit slop, which is the precise mistake that hurt elks. This reuses the existing quality signal rather than inventing a new one — enrich-then-index, same as the observed-world flywheel.

Triggers (both async, via the indexnow_submit job)

Safety rails

Daily cap (indexnow.daily_cap, default 2000), short-window dedup (don't re-hammer a URL pushed OK in the last hour), a self-creating indexnow_submissions audit table, and loud logging on any 4xx/5xx (the elks credit-outage lesson: never swallow a provider error). Zero API cost.

Operating it (Dev API)

dz indexnow — status (key, enabled, cap, sent today, recent rows). dz indexnow test=<url> — force one submit (bypasses the switch) to prove the pipe. dz indexnow enable=1|0 — master switch. dz indexnow rotate=1 — regenerate the key (invalidates the old key file). dz indexnow run=backfill root=<r> — queue every currently-eligible URL for a root, chunked (e.g. backfill elks.club to push the ~1,700 de-boilerplated pages at once).

Verify with Bing Webmaster Tools → IndexNow, which shows submissions landing.

Hot Leads — the internal Doozer-sales CRMLead Capture (the revenue pipeline)