GetSEOAgent — Bulk SEO Rewrites for WordPress

Project Info

  • Client Self-funded SaaS
  • Year 2026 → present
  • Category WordPress plugin / SEO
  • Status Live — v1.7.9 in the WordPress.org directory, free to install
  • Stack WordPress plugin (PHP 8.1+), admin UI in React 18 + Vite + TypeScript, backend on Bun + Hono (TypeScript) with Postgres, self-hosted via Docker Compose or systemd
  • Integrations Anthropic Claude, Google PageSpeed Insights, Google Search Console, Rank Math / Yoast / All in One SEO / SEOPress, WooCommerce, Screaming Frog (CSV import), WordPress.org (SVN)
  • AI Anthropic Claude — an agent loop with 40+ tools; approve a sample of 5 rewrites, then extrapolate across N posts

Project Description

A WordPress plugin that does bulk SEO work through chat, built end-to-end: meta rewrites, schema, redirects, alt text, speed fixes — every one of them a job with history and one-click rollback. It sits on top of whichever SEO plugin the site already runs and writes into its native fields, so sitemaps, schema and on-page analysis keep working. Free on the WordPress.org directory, admin UI in 6 languages, self-hosted backend on your own API keys.

Modules

Module What it does
Bulk SEO rewrites through chat
  • Approve a sample of five AI rewrites, then extrapolate the same style across N posts in one job
  • Titles, descriptions and headings rewritten in bulk with a preview before anything is written
  • Style presets and saved prompts — a tone of voice per project, reusable across runs
  • Post, category and tag selection with filters, so a run targets exactly the right slice
SEO-plugin compatibility
  • Full read + write parity with Rank Math, Yoast, All in One SEO and SEOPress
  • Auto-detects the active plugin and warns when two are running at once
  • Writes into native fields, so sitemaps, schema and on-page analysis keep working
  • Template-type detection so a rewrite matches the kind of page it lands on
Content creation and editing
  • Creates post and page drafts straight from the chat
  • Proposes and applies content blocks inside existing pages, always preview-first
  • AI FAQ sections generated from the page's own content
  • Site brief and per-post brief keep the project context — the agent can even draft the site brief itself
Speed audit (PageSpeed Insights)
  • Real PSI runs with Core Web Vitals — LCP, CLS, INP
  • Config-plane fixes plus content fixes: image width/height, lazy-load, WebP через <picture>
  • Detects speed optimizers already installed so fixes do not collide
  • Propose → confirm → apply, every change rollback-able
Schema.org
  • Generates and repairs JSON-LD: Article, FAQPage, HowTo
  • Site-wide schema coverage audit
  • Missing fields backfilled from the site's own data instead of invented
  • Separate branch for WooCommerce product schema
Site plumbing
  • Repairs broken internal links
  • Collapses redirect chains
  • Fixes broken menu items
  • Hreflang: missing return tags and x-default
Media library alt text
  • Claude vision writes alt text from the image itself, not from the filename
  • Audit of the media library and galleries: what is missing or junk
  • Bulk apply with rollback
WooCommerce
  • Product SEO: descriptions and category SEO fields
  • Product schema audit and repair
  • Category-level audits so a whole catalogue branch can be fixed in one run
Screaming Frog import
  • Upload a crawl CSV from Screaming Frog
  • The agent fixes what it honestly can and flags the rest
  • Findings stored as an audit that can be queried from chat
Google Search Console
  • Connects GSC and queries the data from inside the chat
  • Attribution: which change moved which page and query
  • Property matching and URL canonicalization so the data lines up with the site
Jobs, history and rollback
  • Every bulk run is a job with status and progress
  • Mid-flight cancel
  • A per-job audit log of what exactly was written
  • One-click rollback of a whole run
Keys, privacy and self-hosting
  • Self-hosted backend — Docker Compose or systemd, on your own infrastructure
  • BYO keys for Anthropic and Google PageSpeed Insights, encrypted at rest in a vault
  • Per-site license registry and tier gating
  • The site's data never leaves the pair of endpoints the user controls
Cost metering and guardrails
  • Every LLM call metered: tokens in / out / cache and cost in micro-USD
  • Credit pool with caps and throttling before a run can burn a budget
  • Anomaly detection with alert emails when spend goes off the rails
  • Per-model pricing table so cost is attributed correctly as models change
Distribution and tiers
  • v1.7.9 in the WordPress.org directory, installs free
  • Free tier with BYO key, plus Pro, Agency and Enterprise
  • Recurring billing through WayForPay with top-up packs
  • Affiliate cabinet on the marketing site
Admin UI
  • React 18 + Vite app embedded into the plugin
  • 6 languages: EN, RU, UK, ES, FR, PT-BR
  • Chat, job list, history and audits in one panel — no leaving wp-admin
  • Streaming answers over SSE so a long run is visible as it happens

Architecture

Four components in one repo, three toolchains: the backend (Bun + Hono, TypeScript) holds the agent loop, the 40+ tools, licensing, credits and metering; the plugin (PHP 8.1+) owns everything that writes to a user's site — REST controller, SEO-plugin adapters, job store, history, rollback, redirects; the admin app (React 18 + Vite) is embedded into the plugin; the landing pages are kept in the same tree. Product logic lives in the backend, site mutations only ever go through the plugin. Every LLM call is metered into a usage table (tokens in/out/cache plus cost in micro-USD), which is what makes cost per job and anomaly alerts possible. The plugin ships to wp.org over SVN; the backend runs from a systemd unit with no build step. Tests: PHPUnit on the PHP side, bun test on the backend, vitest in the admin app — plus a loader-parity test that fails the build when a new class is not required in the bootstrap file.

GetSEOAgent — AI SEO agent for WordPress