We forked OpenSEO, the open-source Semrush and Ahrefs alternative, and published the result as open-seo-fitworks. Upstream already covers keyword research, backlinks, site audits, and agent access through MCP. Our work was rank tracking on Cloudflare’s free plan, where checks were dropping and results were hard to trust.
Cloudflare Workers cap how much can run in one pass. The fork splits rank checks into 40-keyword workflow batches, retries failed batches, and records each keyword as ranked, not found, or check failed. If a new run does not finish, the previous snapshot stays marked as stale instead of looking current. Weekly scheduled checks use the same batching. Rank tables also include direct Google SERP links, plus clearer summaries and exports.
Tech stack
OpenSEO is a TypeScript app. We self-host it on Cloudflare Workers with D1, then pull search data from DataForSEO. Agents in Cursor talk to the same workspace through MCP, so keyword research, rank history, and site audits can sit in the same session as site work.
The rank-check changes live in the Cloudflare workflow layer and the rank-tracking UI: run guards, snapshot queries, result states, scheduled checks, and table columns for SERP links and failure status.
The repo is MIT-licensed and public, so other self-hosted installs can pick up the same rank-tracking behaviour.
Development and changelog
-
Reliable Cloudflare rank tracking
Published the Fitworks fork with 40-keyword workflow batches, retries, ranked / not found / check failed states, stale snapshot handling, Google SERP links, and weekly scheduled checks.
