A working prototype of the full agentic SEO/GEO pipeline: baseline audit, research, briefing, writing, quality gating, hidden-post publishing with a symmetry gate, citation and whitespace monitoring, and continuous optimization — with human oversight at the points that matter and a full audit trail per client.
Open the interactive demo → How it worksOptimize feeds newly discovered content gaps and citation-whitespace queries back to Research — the loop runs monthly, indefinitely. Below-threshold drafts bounce between Quality and Writer up to a configurable number of attempts, then escalate to a human. Articles publish as hidden posts — live URLs discoverable only via the clustered sitemap and llms.txt — until they cross a traffic threshold and the client chooses to make them publicly visible. Every action lands in the per-client audit log.
Runs automatically at onboarding, before any engagement: scores every existing page for citability, flags JS-rendered and orphaned content, scans the legacy corpus for contradictions, records who each AI engine cites today per query (client, competitor or nobody), and audits robots.txt. The before/after evidence base.
Keyword expansion, conversational long-tail discovery, competitor gap analysis, AI-intent mapping and a hub-and-spoke topical map. Long-tail first is enforced; citation-whitespace queries get a priority bonus. Output: a prioritized monthly content plan (8–12 articles), with corpus contradictions flagged.
One brief per planned article: target keywords with fan-out queries, word count, heading structure, internal link targets tagged by cluster (spokes → pillar, pillar → spokes), schema type, competing URLs and a Unique Information Delta directive.
Long-form drafts built for citation: a direct answer in the first 150 words, named entities, sourced facts, a mandatory FAQ, JSON-LD schema, 2,000+ words — and semantic relationship links: every internal link carries a conceptual bridge explaining how the two pieces relate. Rewrites target the exact criteria Quality failed.
Scores every draft 0–100 against the Signal Clarity rubric v2 below (weights configurable per client). Bare links are a hard fail regardless of score. Runs a contradiction check against the live corpus — severe conflicts block the draft. Still failing after max attempts → escalated with one-click resolution.
Verifies robots.txt allows all six AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Googlebot, Gemini-Bot, Bingbot), enforces the symmetry gate (JSON-LD must exactly match the rendered page), publishes as a hidden post, requires a plugin webhook confirmation, verifies the live page renders as static HTML, regenerates the clustered sitemap + llms.txt, pings IndexNow and Search Console.
Weekly per-keyword rankings, GA4 traffic, AI-bot crawls and per-engine citation status — plus query ownership: who each engine cites for every target query, surfacing whitespace where nobody is cited. Tracks hidden-post traffic against the visitor threshold and raises client visibility notifications.
Rewrites intros, extends FAQs, reinforces internal links and refreshes facts on flagged pages, republishes them, and feeds new content gaps and whitespace queries back to Research — closing the loop.
Structured JSON handoffs with PASS / FAIL / NEEDS_REVIEW / ESCALATE_TO_HUMAN statuses, independently triggerable stages, configurable thresholds per client, multi-client state and a central audit log.
What makes content citable by AI engines — every article is scored before it can go live. Weights are configurable per client.
| Criterion | Points | Check |
|---|---|---|
| Direct answer format | 10 | Clear answer to the query within the first 150 words |
| Entity density | 10 | ≥ 8 named and defined entities |
| Fact density | 10 | ≥ 5 verifiable statistics with named sources |
| FAQ section | 10 | Mandatory — ≥ 3 likely follow-up questions with direct answers |
| Structured answers | 10 | Q&A blocks, numbered lists, definition blocks |
| Schema readiness | 10 | Article/BlogPosting + FAQPage + Author JSON-LD |
| Unique Information Delta | 10 | An angle competitors are not covering |
| Word count | 10 | ≥ 2,000 words of expert-level content |
| Semantic relationship links | 10 | Every internal link explains how the two pieces relate (hard requirement) |
| Topical coherence | 10 | Article belongs to a cluster and links stay inside it |
DOM ↔ JSON-LD parity is enforced separately by the Publish symmetry gate — a mismatch holds the article back before it ever goes live.
Three gates keep specialists in control without slowing the machine down: the content plan requires specialist approval before production starts; drafts can require client review before publishing (configurable per client); the performance report requires specialist sign-off before optimization runs. Anything the agents can't resolve raises an ESCALATE_TO_HUMAN into the escalation queue.
The client-facing dashboard connects over a small authenticated REST API (per-client x-api-key):
GET /api/plugin/published → published content metadata (URL, title, schema, visibility) GET /api/plugin/performance → rankings, per-engine citations, traffic, whitespace, baseline GET /api/plugin/notifications → pending traffic-threshold notifications for the client POST /api/plugin/settings → client settings push (keywords, niche, competitors, voice) POST /api/plugin/content-decision → client approvals (approved / rejected / revision requested) POST /api/plugin/visibility-decision → make a hidden post publicly visible, or keep it hidden POST /api/plugin/publish-confirmation → webhook: the plugin confirms a post is live
The engine, orchestration, gates, scoring and APIs are fully implemented and covered by an automated end-to-end test suite. Every external service (Google Ads, DataForSEO, Search Console, GA4, Ahrefs, WordPress REST, IndexNow, the writing LLM, and per-engine citation checks) sits behind an adapter interface with deterministic mocks, so the whole system runs — and can be demoed — without credentials. Swapping a mock for a live integration is a one-file change per service.
The interactive demo runs the real agents entirely in your browser: onboard a client, run each stage, approve plans, watch the quality retry loop, publish, see a citation drop get flagged and optimized. Nothing leaves the page.