A self-maintaining SEO/GEO stack
My role
Built across the Paralegent and Cognilium sites. Infrastructure, not one-off fixes. It runs on every deploy.
The problem
19 of 46 pages were not indexed by Google, homepage CTR was 0.5% at SERP position 2.6, and anchor text was a monoculture across 34 pages.
What I did
- Started from the current model, not folklore: read the primary research (Princeton's GEO paper, Google's quality guidelines, AI-crawler data) so the stack targeted what actually moves ranking in 2026, not 2019 tactics.
- Diagnosed the real problem from CTR and position data, then ran a 3-layer recovery: metadata → content quality → link architecture.
- Force-recrawled 18 dead URLs via the Google Indexing API; submitted 48 URLs to IndexNow across 5 engines (240 endpoint calls); 46 via Bing Webmaster API.
- Shipped automation scripts that run on every push, plus a freshness pipeline where one page-dates.json drives JSON-LD dateModified, OG modifiedTime, sitemap lastmod, and the visible 'Last Updated'.
- Put 8 schema.org types live (industry baseline is 2 to 3): WebPage, BreadcrumbList, FAQPage, Organization, Person, WebSite, HowTo, DefinedTermSet.
The result
Indexing recovered to zero, a compounding SEO/GEO system that maintains itself on every deploy, and a citation moat for ChatGPT, Perplexity, Claude, and Google AI Overviews.
The judgment call: what the AI couldn't do
The tooling reported the pages as fine. Search Console didn't: 19 of 46 were silently not indexed. Reading CTR-against-position data instead of trusting the summary is what surfaced it. The other half of the value was subtraction: the AI confidently recommends 2019 tactics it was trained on (keyword density, exact-match anchors, mass directory submissions) that now do nothing or get you penalized. Reading the current primary sources is how I knew what to stop doing.
By the numbers
0
pages un-indexed
0
automation scripts
0
schema.org types
0
search engines (IndexNow)
See it
Proof
Verify: Live schema is verifiable in page source.