Search Indexing Suite

Nine workflows that submit URLs at a survivable rate and then prove they were indexed — triangulated across a search-grounded model, a self-hosted meta-search and direct checks.

Client
EpsolDev
Category
SEO Engineering
Completed
2026-08-15
Built with
n8n, Google Vertex AI, REST API
Topics
API Development, Automation, SEO
Search Indexing Suite

n8n 9 workflows SEO infrastructure In production

Publishing a page is easy. Proving Google actually indexed it is not — and no single method is both reliable and free. This suite answers the question three different ways and feeds the verdicts back into Custom Blog Management.

The Vertex AI indexing checker: fetch the page first, then ask a search-grounded model whether it is in the index


Why three checkers instead of one

MethodCostWeakness
Search-grounded modelper callprobabilistic — needs a strict verdict format
Self-hosted meta-searchfreescraping-shaped, breaks when engines change
Direct status checkfreetells you a URL works, not that it is indexed

There is no authoritative public "is this indexed" API. Search Console reports on a delay and only for verified properties. So the suite treats the answer as something to be triangulated, and it keeps the cheap methods first.


The model-based checker

The interesting decision is what happens before the model call.

Parse URL -> Check Page Reachable -> Extract Page Info -> Build Gemini Request
                                                                  │
                                              Ask Gemini with Google Search
                                                                  │
                                                   Format Indexing Result

The page is fetched and parsed first — title, canonical, status — and that becomes context for the prompt. Asking a model "is this URL indexed?" cold invites a confident guess. Asking it with the page's real title and a search-grounding tool turns it into a lookup with evidence.

Format Indexing Result then collapses the answer to a fixed verdict. A free-text model reply is not a status; the workflow refuses to store one.

A zero-cost variant built on a self-hosted SearXNG instance

The free path runs the same shape against a self-hosted meta-search instance. It is the default for bulk sweeps; the model path is reserved for URLs the cheap check left ambiguous.

The index status checker


Submitting, without getting rate-limited

The multi-method indexer: a sitemap branch and a direct-URL branch converging on one writer

One webhook accepts either a list of URLs or a sitemap, and Is Sitemap? routes accordingly:

  • sitemap → Fetch Sitemap → Parse Sitemap → index
  • direct → index

Both branches converge on the same Index URLs → Sheet Payload → Save to Sheet → respond. Two input shapes, one code path for everything after — so a bug fixed in the indexing step is fixed for both.

Drip feed

The drip-feed scheduler: a webhook queues URLs, a timer releases them in batches

This is the workflow that exists purely because of how search engines behave. Dumping 500 URLs at an indexing endpoint at once is the fastest way to have them ignored — or to burn a daily quota in one minute.

So submission is split from scheduling:

Receive Drip Config -> Queue Batch URLs -> Respond to Client   (returns immediately)

Check Queue Timer -> Process Next Batch -> Has Batch? -> Send Batch -> Mark Done

The caller gets an instant acknowledgement; the timer drains the queue at a survivable rate. The client is never left holding a connection while 500 URLs are submitted.

The auto-recheck workflow that re-tests previously submitted URLs

Submission is not proof either, so a scheduled re-check re-tests what was submitted and closes the loop between asked and indexed.


Finding the URLs in the first place

The sitemap auto-discovery workflow

Five nodes that probe a domain's likely sitemap locations, follow sitemap indexes, and return a flat URL list. Every other workflow in the suite takes URLs as input; this is the one that produces them from nothing but a domain.

The URL checker validating reachability and response codes

And before spending an indexing quota on a URL, URL Checker confirms it actually resolves — a 404 submitted for indexing is quota spent on nothing.


An operator front end

The workflow serving the indexing checker interface

A webhook that serves the checker's UI directly from the automation platform. No hosting, no deploy pipeline, no separate app to keep alive — for an internal tool used by a handful of people, a workflow that returns HTML is the whole product.


Stack

n8n Google Vertex AI Google Search grounding SearXNG Google Sheets JavaScript REST API

Verdicts flow back into the content platform's own coverage store, where they drive the six-state indexing model and the capped re-submission queue.

All projects