Running SEO with AI agents
Our portfolio product EvidInvest is an equity research platform with over 4,000 indexable pages and no full-time SEO team. Since June, its entire search-growth operation has been run by a daily AI agent loop that we built. This is the system, the guardrails, and the first month of real numbers.
Every morning an AI agent reads a Postgres warehouse of Google Search Console data, runs health checks across three production sites, inspects index coverage, and ships exactly one improvement — as a pull request a human reviews. One month in: weekly search impressions grew from roughly 1,500 to 3,900, average position improved from ~12 to ~10, and new research posts reach Google page 1 within about two weeks of publishing. Small base, real slope — and nobody on the team does SEO by hand anymore.
Why we automated it
SEO is the textbook case of work that is valuable in aggregate and unrewarding in each individual step: check the sitemap, query Search Console, compare this week to last, fix one title, add one internal link, wait, measure. It is high-frequency, data-driven, and low-drama — which makes it a near-perfect fit for an autonomous agent, and a poor use of a founder’s morning.
EvidInvest made the problem concrete. The platform generates valuation pages programmatically — over 4,000 URLs in the sitemap covering DCF fair value, PEG ratios, growth rates and supply-chain maps per company. No human is going to hand-tend 4,000 pages. Either the process is systematic, or it doesn’t happen.
The system
Three pieces, none of them exotic:
- A data warehouse, not dashboards. A nightly job pulls Google Search Console data (per page, per query, per day) into Postgres, alongside self-hosted web analytics. Agents query it with plain SQL — the same warehouse pattern we build for clients.
- A daily agent run with a fixed contract. Each morning the agent: health-checks all three of our production sites (status codes, canonicals, sitemaps, response times); reviews traffic and week-over-week search movements; inspects whether Google has crawled the newest content; and then picks one data-justified improvement and implements it.
- A written playbook as the agent’s strategy memory. Priorities, standing rules and past evidence live in a version-controlled document the agent reads first, every day. When the data and the playbook disagree, a human updates the playbook — that’s the steering wheel.
What the agents shipped in the first month
All of these came out of the daily loop, each as a reviewed pull request:
- Honest sitemaps — real content-change dates instead of “now”, so Google trusts the field again, plus submission for a domain that had never been registered in Search Console.
- Internal-link architecture for the programmatic long tail: cross-navigation blocks on every ticker page, a sector-grouped valuation directory with multi-route links per company, and links from high-traffic research posts into the tools they discuss.
- An interactive DCF calculator as a dedicated landing page for the platform’s largest unclaimed query cluster — Google crawled and indexed it the same day it shipped.
- IndexNow pings on publish, so Bing — already a real referrer — discovers new posts in minutes rather than days.
- AI-crawler readiness: llms.txt files and consistent structured data across the portfolio, because assistants like ChatGPT now show up in our referrer logs.
The numbers so far
As of 12 July 2026, from Google Search Console (we treat impressions as the leading indicator — clicks follow position, and position follows crawling):
- Weekly search impressions on evidinvest.com grew from ≈1,500 to ≈3,900 week over week in early July; average position improved from about 12 to 10.
- Five research posts published in June — each a specific company angle backed by SEC filings — reached Google positions 5–10 within roughly two weeks of publishing.
- Programmatic pages win uncontested long-tail searches with zero per-page effort: company valuation queries for non-US tickers rank in the top 10, several at position 1–2.
- New content goes from published to crawled in days, verified nightly through the URL inspection API rather than assumed.
We publish these numbers with the obvious caveat: the base is small and early growth is the cheap part. The point of the case study is not the totals — it is that the slope is being produced by a system that costs minutes of human attention per day.
What the agents still can’t do
Honesty is part of the method. The loop has real limits: some Search Console actions are only clickable by a human in the UI, so the agent flags them in its daily report instead of pretending. Editorial judgment — what the company should say, which claims meet the quality bar — stays human, which is why the review gate exists. And the agent is bound by measurement discipline it cannot override: one change per day, no title-tag churn inside a 30-day measurement window, never fabricate a claim or a metric.
The transferable pattern
Nothing here is specific to SEO. The pattern is: put the operational data somewhere an agent can query it, write the strategy down as a document the agent must read, constrain it to one attributable change per day, and keep a human on the merge button. We use the same shape for data pipelines, reporting and research operations — search growth just happens to be the version you can watch from the outside.
Have an operation like this you’d like run by agents?
EBD Sweden designs and operates AI agent systems for real business processes — with data warehouses underneath, guardrails around, and humans in charge.