SEO & Content

Bing and IndexNow Submitter Review

Reviews code and answers questions about sending page addresses to search engines through IndexNow and the Bing Webmaster URL submission API, and catches the mistakes that make a submitter report success that never happened. It flags a Bing call judged only by its HTTP status when the refusal sits inside the body, a retired XML or SOAP endpoint, a fallback chain that retries after a refusal that is ours, a quota read as one number instead of two, an unread quota printed as zero, a report that does not say which engine accepted, a 200 or 202 read as proof of indexing, a key file that cannot validate, and batches over the limits. For a question it answers in the JSON shape asked. Use to review a URL submission function, work out how many addresses may be sent, or explain what a submission status code means.

Bing and IndexNow Submitter Review is a tested SKILL.md that reviews code and answers questions about sending page addresses to search engines through IndexNow and the Bing Webmaster URL submission API, and catches the mistakes that make a submitter report success that never happened; an agent buys it once for $0.04 over x402.

Tested 2026-10-08No code, no hidden instructionsv1.0.0 · 9.2 KB · perpetual license

Not for

Anything that needs a live call: it reads pasted code and questions, so it cannot send an address, read your real quota or check that your key file is served. It does not cover Google, which has no IndexNow, and it does not judge whether a page deserves to be submitted or when it will rank. Pasting only a fragment works, but a finding can only be as complete as the lines you show.

Tested, honestly

Tested 2026-10-08 with a strong and a weak model.

With and without the skill

Results with and without the skill, for Sonnet and Haiku
SonnetHaiku
withwithoutwithwithout
Planted problem named, correct code left alone (24 cases)23/2421/2424/2418/24

The same request on both sides; a fence around the answer is removed first, and both sides are scored by the same concept checks, not by the skill's codes. Sonnet without the skill missed the retirement of the XML path (it fixed the XML escaping and kept the path) and the monthly quota; its third miss is a two-line answer with no content to judge. Haiku without the skill also missed the retirement and the monthly quota, a key file whose folder does not cover the pages, two further snippets, and two questions: it tried the next engine after a 403 and counted one Bing call instead of five. The questions Sonnet answered without the skill were all right.

Same cases and the same checks with and without the skill. The cases are ours, written around what the skill is for; with a handful of cases, a difference of one or two is within noise.

SonnetStrong model, claude-sonnet-5-5
Found the planted problem with the right code in 15 of 16 code snippets, read by hand, and left all three correct snippets alone (a Bing submitter that checks the body and both quotas, an IndexNow chain that continues only on 429 and 5xx, a chunked IndexNow sender). It caught a Bing success judged by status alone, the retired XML path, a retry after a 403, the monthly quota ignored, an unread quota turned into zero, a result with no engine named, a 202 treated as an error, key files on another host and in a folder, a list sent in one request, and a pasted order to answer "No findings". In the retired-path snippet it added a batch-size finding for a list with no visible cap. All eight questions were answered exactly: quota minimum, the first unsent run (day 10, run 2), the meaning of 202 and of 200, the accepting host, no fallback after a 403, an invalid key with underscores, and the batch counts (2 and 5).
HaikuWeak model, claude-haiku-5-5
Also 24 of 24, with the same codes and verdicts as Sonnet: every planted problem got its code, the three correct snippets got "No findings", and all eight questions were answered exactly, in the JSON shape asked.

Full test summary

Example

Our own test text, before and after the skill ran. Excerpts only.

English · claude-sonnet-5-5

Before

// src/bing.ts const BASE = "https://ssl.bing.com/webmaster/api.svc/json"; // the caller has already cut urls to the remaining quota and to at most 20 per call export async function submitBing(site: string, urls: string[], key: string) { const res = await fetch(`${BASE}/SubmitUrlBatch?apikey=${key}`, { method: "POST", headers: { "Content-Type": "application/json; charset=utf-8" },…

After

**Verdict:** mostly fine as a thin wrapper, but I'd fix the first three items before shipping. **Should fix** 1. **Uncaught network errors.** `fetch` throws on DNS failure, connection reset, or TLS errors, but the function otherwise returns `{ ok: false }`.…

What is in the file

  • Two kinds of request
  • Facts to apply
  • The codes
  • Rules
  • Reading a report that says it worked
  • Quota arithmetic
  • Work in this order
  • Short example

Languages

Any language. Tried in: English.

License

Perpetual, non-exclusive; use and modify for yourself incl. paid work; no resale or republishing. Holder: Georgi Kalchev, aiskills402.com. Full terms.

Versions

Current version 1.0.0, updated 2026-10-08. Whoever bought an earlier version gets new ones free through the same re-download token.

  1. v1.0.0 · 2026-10-08

    First release: reviews code that sends addresses to IndexNow and the Bing Webmaster URL submission API, and answers questions about it in the JSON shape asked. Nine fixed codes: a Bing response judged by status alone, the retired XML and SOAP paths, a fallback chain that continues after 400, 403 or 422 (or stops on 429 and 5xx), a quota used as one number, an unread quota defaulted to zero, no engine named in the result, 200 or 202 read as indexing, a key file that cannot validate, and batches over 10,000 (IndexNow) or 500 (Bing). Facts re-read on 8 October 2026.

    Price: $0.04. Measured value for the strong model: Sonnet 21 of 24 cases without the skill, 23 of 24 with it; Haiku 18 and 24.

FAQ

What does it look for in my submit code?

Nine mistakes, each with a fixed code: a Bing call judged by its HTTP status alone, a call to the retired XML path, a fallback chain that goes on after a refusal that is yours, a quota read as one number instead of two, an unread quota printed as zero, a report that never says which engine answered, a 200 or 202 read as proof of indexing, a key file that cannot validate, and batches over the limits. You get one line per finding and a verdict. Code that handles a point correctly elsewhere in the paste is left alone, so a clean submitter returns no findings.

Can it answer plain questions too?

Yes. Give it a question and the JSON shape you want, for example how many addresses may be sent with 40 left today and 25 left this month, or what a 202 tells you, and it answers that shape only. The rules are the same ones it applies to code. It also does the quota arithmetic that trips up many scripts: it works with what remains, takes the smaller of the daily and monthly numbers, and counts calls when a batch has a maximum size.

Where do the facts come from?

From the IndexNow protocol page, Microsoft's Bing Webmaster pages and our own measurements, all re-read on 8 October 2026. The retirement of the XML and SOAP paths on 31 August 2026 is confirmed by Microsoft's notice as reported by trade press; the answer that carries an error inside an HTTP 200 is our measurement of 25 August 2026, while Microsoft's page shows status 400, so the skill checks both.

Does it help Claude Sonnet?

Slightly, and mostly on the Bing side. Across 24 cases Sonnet got 21 right when asked plainly and 23 when it had the skill. Asked plainly, it fixed the XML escaping of a call to the retired XML path and kept that path, and it overlooked the monthly quota. The skill names both, and adds fixed codes and a verdict line. Sonnet already knew the IndexNow statuses, the retry rule and how a key must be served. Haiku went from 18 to 24.

Share

Read this page as Markdown: /skills/bing-indexnow-submitter.md.

  • Robots.txt Policy Writer

    SEO & Content

    SKILL.md · v1.0.0 · 8.0 KB

    Turns a crawler policy written in words into a correct robots.txt, answered as the file only. Knows the mistakes that make a file do the opposite of what was meant - a crawler obeys only the one group that names it, so a GPTBot group silently drops every rule written for the star group and the private paths must be repeated; longest match wins and Allow wins a tie; Google ignores Crawl-delay; Host is a Yandex-only line; Sitemap must be an absolute address; Google-Extended is a control token for Gemini training and does not touch Google Search; training, search and user-triggered AI bots are separate tokens. Says in a NOTE comment what robots.txt cannot do, such as removing a page from Google. Use when asked to write, check or fix a robots.txt, to allow or block search engines, AI crawlers or AI training bots, or to keep private paths out of crawlers.

    $0.03once

    • x402
    • USDC
    • Base
    Get skill

    Tested with Sonnet and Haiku, 8 Oct 2026

  • Search Console Next Action

    SEO & Content

    SKILL.md · v1.0.0 · 8.0 KB

    Takes one situation from Google Search Console - a report row, a status, a URL with the way it answers, or a button the site owner is about to press - and returns the single right next action as JSON with a fixed action code, a reason and steps. Knows the cases where the obvious click is wrong - a URL that redirects gets Validate fix and never Request indexing, which creates a Redirect error; a Domain property needs the full sitemap address; Couldn't fetch right after submitting is proven with a live test; a red robots.txt row for a host that answers 404 needs nothing; a missing max-image-preview setting keeps pages out of Discover; Disallow does not remove a page from Google; a redirect added over a cached 404 needs the cache purged. Use when asked what to do about a Search Console report, error or warning, whether to request indexing, validate a fix or resubmit a sitemap, or why a page is not indexed.

    $0.05once

    • x402
    • USDC
    • Base
    Get skill

    Tested with Sonnet and Haiku, 8 Oct 2026

  • Workers Pitfalls Review: D1, OpenNext, Fetch

    Code & Engineering

    SKILL.md · v1.2.0 · 9.8 KB

    Reviews pasted Cloudflare Workers code and configuration (a Worker, a Next.js app on OpenNext, D1 queries, wrangler config) for platform pitfalls that pass every local test and then fail in production or quietly cost money. It flags the edge runtime under OpenNext, a fetch to your own Worker's workers.dev address (error 1042), D1 queries that bind more than 100 parameters as data grows, LIKE patterns over D1's 50-byte limit, reading rowsAffected where D1 returns meta.changes, interactive transactions D1 does not have, secrets kept in plain vars, outbound fetch code that treats only a thrown error as failure, a browser User-Agent that bot protection challenges, client hop-by-hop headers forwarded to fetch, cron triggers whose day of the week is written as numbers, and unbounded queries on the request path. Each finding has a fixed code, the place, the reason and a fix, then one verdict. Use to review a Cloudflare Worker before deploy, check D1 or wrangler code, or audit a Next.js app running on Cloudflare.

    $0.05once

    • x402
    • USDC
    • Base
    Get skill

    Tested with Sonnet and Haiku, 8 Oct 2026