v1.0 · AGPL-3.0 · runs on your machine

Every SEO tool tells you what's wrong.
Agent Sean fixes it.

An open-source, self-hosted autonomous SEO engineer. It crawls your site, connects to Search Console, finds what's broken across 425 checks — and then writes the fix into WordPress, Shopify, your Git repo, or the edge. As a diff you can read and revert.

$ npx agentsean View source

Free forever, self-hosted. No account, no credit card, no telemetry until you say yes.

sean — 127.0.0.1:7777
$ npx agentsean

? What site should Sean work on? https://acme.example
? Where does it live?              WordPress
? Connect Search Console?          yes → opened 127.0.0.1:7777/connect

Crawling acme.example ············· 80 pages · 6s
Running 425 checks    ············· 14 findings · score 62

  critical  ONP.TITLE_TOO_SHORT      Homepage title is 12 characters
  high      IMG.ALT_MISSING          31 images without alt text
  high      LINK.BROKEN_INTERNAL     4 internal links return 404
  …10 more

 Sean is watching. 7-day observe window, then it starts fixing.
  Dashboard  http://127.0.0.1:7777
  Survive reboot  sean service install
  Stop everything  sean freeze
425SEO checks
30Injection payloads blocked
562Tests in CI
$0To self-host, forever

It doesn't stop at the finding

Reports are cheap. The gap in every SEO tool is that a human still has to go and do the work. Sean closes that gap, safely.

01 — Crawl

Sees your site like a search engine

A polite, JS-capable crawler with adaptive rendering, RFC 9309 robots.txt handling, sitemap discovery, and incremental re-crawls. Plus Search Console, Analytics, PageSpeed, and CrUX every day.

02 — Decide

Deterministic first, model second

Prioritization is a published formula, not a vibe. The LLM is used only for narrow judgement calls, it never holds a credential, and it never calls a write API. It emits typed actions that deterministic code validates.

03 — Fix

Writes into your source of truth

Snapshot, apply, then re-fetch the live page to confirm it actually landed. If it didn't, Sean rolls back on its own. Every change keeps its before-state and a one-command revert.

What it does after you walk away

  • Crawls weekly and after every deploy
  • Fixes titles, meta, headings, alt text, broken links, sitemaps, and schema
  • Refreshes decaying content — capped at 2 refreshes and 2 new pages per day
  • Queues anything dangerous for one click
  • Tracks ranks, brand mentions, and AI citation share
  • Reports weekly with an honest evidence tier on every claim
  • Stops instantly and everywhere on sean freeze

What it will never do

  • Scrape Google
  • Serve different HTML to crawlers than to people
  • Buy links, build PBNs, or hide text
  • Write to a domain that isn't yours
  • Generate content for YMYL or affiliate sites
  • Spin up unbounded city × service pages
  • Claim causation it cannot prove

Why not just use a proxy tool?

Because the fixes evaporate the day you cancel, and the technique sits uncomfortably close to cloaking.

Report-only toolsProxy "auto-fix" toolsAgent Sean
Finds issuesYesYesYes
Writes the fixNoAt a JS proxyInto your source of truth
Fix survives cancellationNoYes
Reviewable diffNoYes
One-click revertWith a stored snapshot
Self-hostableSometimesNoEntirely
Your data stays on your machineNoNoYes — local-first, BYOK

Built for the actual threat model

A crawling agent's entire input diet is written by people with a financial interest in you ranking worse — and that agent holds keys to your website. Everything below follows from that.

Three planes

Nothing both reads the web and holds keys

Analysis sees third-party bytes but has no credentials. Planning has neither. Execution has credentials but never sees raw page content. The separation is structural, not a policy.

Keystone rule

First appearance

No action may contain a URL or domain whose first appearance was inside third-party content. One deterministic rule that kills canonical injection, attacker redirects, hreflang poisoning, and disavow attacks.

Fail-closed

Loopback only, or it won't start

Binds 127.0.0.1:7777. Host-header allowlist, Origin and Sec-Fetch-Site checks, CSRF header, constant-time token compare, CORS headers stripped. Auth cannot be turned off.

Red team in CI

30 injection payloads, every one blocked

Hidden text, Unicode tag blocks, bidi overrides, base64 and HTML-entity payloads, X-AI header injection, off-site canonicals, JSON-LD hijacks. Adding a payload that gets through is a build failure.

Locked lists

Eight things always need a human

robots.txt, noindex, redirects, canonicals, page deletion, outreach email, disavow files. Not a setting. The constraint is Google's policies and the EU AI Act, not our caution.

Read the security model →

Where Sean can write

Every adapter implements the same six methods, and verify always re-fetches the live page. The API saying "ok" is not evidence.

SurfaceHow Sean writesRollback
WordPressCompanion plugin + Application Passwords. Understands Yoast, Rank Math, AIOSEO, SEOPress.Revision restore
ShopifyAdmin GraphQL SEO fields and metafields. Theme writes refused.Field restore
Next.js / any Git repoA branch, a commit, and a pull request you read before merging.git revert
Squarespace · Framer · DudaCloudflare Worker overlay. Never branches on user-agent.Overlay removal
Webflow · Ghost · Wix · BigCommerceNative SEO APIsField restore
Contentful · Sanity · Strapi · PayloadGeneric headless adapterField restore

Request an adapter →

Pricing

Self-hosting is not a crippled tier. It is the whole product, and it is free forever. Cloud exists because not everyone wants to run a daemon.

Self-host

The complete product on your own machine.

$0
forever · AGPL-3.0
  • Unlimited sites
  • All 425 checks
  • Autonomous fixes, every adapter
  • Bring your own LLM key
  • White-label reports
  • Nothing leaves your machine
  • Community support
Install it
Most popular

Cloud

We run the daemon, handle Google OAuth, and keep the lights on.

$9
per month · Pro $29 · Business $79 · Agency $249
  • Everything in Self-host
  • 1 → 50 sites by tier
  • Managed Google OAuth
  • Daily rank tracking from Pro
  • Attach to your daemon's terminal
  • Client seats and white-label on Agency
  • Email support · DPA available
Start free trial

Enterprise

For agencies and teams with procurement, and for regulated estates.

Talk to us
annual · invoice billing
  • Unlimited sites and seats
  • SSO / SAML / SCIM
  • Self-managed or air-gapped deploy
  • Audit log export
  • SLA and uptime guarantee
  • Named contact, private channel
  • Custom contract, security review, DPA
Contact sales

All plans are bring-your-own-LLM-key. That is what keeps the price honest — you pay the model provider directly, at cost.

Start with the free one

sean audit runs the full 425-check audit with no daemon, no account, and no credentials. If it isn't useful, you have lost ninety seconds.

$ npx agentsean audit https://your-site.com

Cloud accounts are opening in batches — join the discussion to get an invite, or talk to us about Enterprise.

Prior art

OpenSEO proved an open-source SEO platform could work. Agent Sean is the execution layer that writes reversible diffs to your actual site — not a fork of OpenSEO, and not a report that stops at the finding. Selected OpenSEO modules are ported under MIT with attribution.

Open, and staying open

The core is AGPL-3.0 — a real OSI-approved licence, not a source-available substitute. You can self-host, modify, and redistribute. The network-use clause is what prevents unlicensed resale. The 66k-word engineering plan and the 3 MB of research behind it are published in the repo.