Free for Craft CMS 5
Indexing, but instant
Publishing is fast. Being found is not. A new page waits for a crawler that turns up on its own schedule — and for the answer engines it is often not a wait at all, because they never come. Sanka tells Google and IndexNow the moment a page changes, and then shows you which AI engines actually read it.
Everything that could be wrong, in the order it would break
Most of what goes wrong with instant indexing is configuration, and the error you get back is a status code. Sanka's diagnostics command answers the question people actually ask — why is nothing being submitted — and prints the fix rather than the symptom.
$ php craft sanka/queue/status
Google Indexing API ready 12 pending quota 142/200 (2026-08-23)
IndexNow ready 3 pending
Sitemap resubmission not configured
· Sitemap resubmission travels over IndexNow, which is switched off.
$ php craft sanka/queue/drain
15 considered · 15 sent · 0 skipped · 0 retrying · 0 failed
Features
One ledger, several engines, and a second half that deals with the AI crawlers nobody else manages properly.
One save, every engine
Google's Indexing API and IndexNow — which reaches Bing, Yandex, Seznam, Naver and Yep in one call. Publish, update, unpublish and delete each become the right kind of notification.
- Real multipart batching — 100 URLs, one round trip
- The IndexNow key file is served from a route, so there is nothing to deploy
- Bing's index is what ChatGPT Search and Copilot answer from
Never spends quota by accident
Google gives you two hundred submissions a day, per Cloud project, resetting on Pacific midnight. Spending them by accident is the normal failure mode of every tool in this category.
- The remaining quota is checked before the batch is assembled, and the batch is cut to fit
- A cooldown means twenty saves while editing cost one submission, not twenty
- Dry run is on by default, and records what would have been sent
Says why, every time
Every submission is a row in a ledger, and “skipped” is an outcome with a reason on it rather than a silent drop. Failures are translated into the fix, not reported as a status code.
- A 403 from Google says: add the service account as an owner in Search Console
- A 422 from IndexNow says: your base URL does not match the domain you are served on
- Every row records why it was queued, so “why did this cost quota” is answerable later
Which AI actually read your site
Every request from a recognised AI agent is recorded — which one, what it read, what it got. The question stops being a guess and becomes a table.
- 22 agents, each labelled with what blocking it actually costs
- Blocking GPTBot costs no visibility; blocking OAI-SearchBot removes you from ChatGPT Search
- Forward-confirmed reverse DNS tells genuine, forged and unverifiable apart
llms.txt, from your own content
A sitemap tells a crawler what exists. llms.txt tells a model what the site is about and which pages are worth reading — a curated map a model can take in one fetch.
- Generated from your sections and cached, so it cannot drift from what the site says
- /llms-full.txt inlines the body text, for sites whose whole value is the writing
- The crawler policy renders to robots.txt, or to your own template
Is the page worth quoting?
Twenty deterministic checks across structure, attribution, machine readability and citability. Nothing is sent anywhere and nothing is judged by a model, so the same page always scores the same.
- Every finding that is not a pass carries the fix, not just the complaint
- Audit one page, or a whole section worst-first
- It only ever fetches hosts your own Craft sites are configured to serve
Frequently Asked Questions
The questions worth answering before you install it.
No, and be suspicious of anything that says otherwise. Instant indexing changes how quickly a page is seen, not how well it does once it has been. For a news site, a job board or anything with a shelf life that is the whole game; for an evergreen page it is worth very little.
Google documents it as being for JobPosting and BroadcastEvent pages. In practice it is used far more widely and it works. Sanka does not pretend in either direction — the settings screen says the same thing this answer does, and it is your call to make knowingly.
That is Google's default, and it is per Cloud project rather than per site — two Craft installs sharing one service account key share the two hundred. Sanka is built around the assumption that the number is small: quota is checked before the call rather than discovered by being refused.
No. Bing, Yandex, Seznam, Naver and Yep do, and submitting to one of them reaches all of them. It matters because Bing's index is what ChatGPT Search and Copilot answer from, which makes IndexNow the shortest path from publishing to an answer engine knowing the page exists.
No, and neither can anything else — Google retired its sitemap ping endpoint in 2023, so any tool still offering it is selling a no-op. Sanka's sitemap engine goes over IndexNow, which still works, and the settings screen says exactly this.
One submission. The cooldown is keyed on URL, engine and event type and defaults to five minutes; the other nineteen appear in the log as skipped, saying so. Submissions are also drained in a queue job after the request, so an author never waits on Google and a network failure cannot fail the save that caused it.
Everything. GPTBot collects text to train OpenAI's models, so blocking it costs no visibility. OAI-SearchBot builds the index ChatGPT Search cites from, so blocking it removes you from those answers and does nothing about training. Sanka labels all 22 agents with what blocking each one actually costs.
Lite is, and it is not a trial: both submission engines, the console, submit-on-save, the ledger, quota tracking and retries, forever, capped at three auto-submit rules. Pro is a one-off $129 with a $99/year renewal and adds the GEO half — llms.txt, the AI crawler policy, the visit log and the readiness audit — plus sitemap resubmission, scheduled sweeps, bulk submit and CSV export.
Start free, upgrade when the AI half matters
Lite does the whole indexing job for nothing. Pro is $129 with a $99/year renewal and adds llms.txt, the AI crawler policy and visit log, the readiness audit, sitemap resubmission, scheduled sweeps and bulk submit.