SEO tooling — OpenSEO vs Ahrefs vs WebCEO (decision record)
SEO tooling — decision record
Context
Reviewed on 2026-07-21 while evaluating CrowdReply’s backlinks marketplace (https://crowdreply.io/features/backlinks-marketplace). Broadened into a full comparison of the SEO tooling stack we already pay for (Ahrefs) plus two candidates (OpenSEO self-hosted, WebCEO) across two very different use cases:
- HB Plastics internal — six brand domains (Perspex Online, Plastic Online, PM Plastics, Holland, EXP, HB Plastics parent).
- LocalSearch agency — hypothetical ~1,000 client accounts, actively managed SEO.
What we measured (live, this session)
Pulled current data via the OpenSEO MCP (which wraps DataForSEO) for perspexonline.com.au and plasticonline.com.au:
| Metric | Perspex Online | Plastic Online |
|---|---|---|
| Organic keywords (AU) | 1,418 | 2,271 |
| Est. monthly organic sessions | 20,323 | 32,292 |
| Top 50 SERPs showing an AI Overview | 33 | 31 |
| Cited inside the AI Overview | 19 (57% of eligible) | 19 (61% of eligible) |
| Referring domains | 62 | 195 |
| Refdomain trend (12 mo) | 59 → 62 (flat) | 241 → 195 (−19%) |
Both sites are already winning ~60% of AI-Overview citation slots on their top 50 keywords with almost no external link authority. That signal is what drives the decisions below.
Decisions
1. Don’t buy CrowdReply
- Its tracker half is redundant — we already dominate the signal it monitors.
- Its paid-link marketplace half is Webspam risk on our #1 revenue domain, and we’re winning AI citations without paid links, so it solves a problem we don’t have.
2. Don’t add Ahrefs Brand Radar addon
Same reason. Brand Radar is Ahrefs’ AI-citation tracker; we already sit at 57–61% citation rate. Nothing to optimise via a tracker.
3. Keep Ahrefs, keep OpenSEO — different jobs
| Use for | |
|---|---|
| Ahrefs | Weekly/monthly strategic work. Backlink monitoring, competitor gap analysis, keyword planning for the ~50 application pages, rank trend tracking across the WooCommerce → Astro cutover. Ahrefs’ backlink index is deeper than DataForSEO’s — matters for outreach. |
| OpenSEO (hosted, MCP) | On-demand agent work in Claude sessions and in workers. Pay-per-credit, MCP-first. |
Both cost real money — but they cover different parts of the workflow, and the alternative to OpenSEO (Ahrefs’ MCP) is gated behind addons we don’t have.
4. HB Plastics internal — self-host OpenSEO (small side project)
- License: MIT.
- Upstream: 100% DataForSEO (no Semrush/Ahrefs/SerpAPI/Moz — confirmed by reading the source at github.com/every-app/open-seo).
- Deploy paths: Docker OR one-click Cloudflare Workers on the free plan, with CF Access auth and R2 caching of DataForSEO responses (7-day lifecycle).
- Cost: DataForSEO pay-per-use direct (~$50/mo at our internal usage) vs OpenSEO hosted’s $10/mo + 28% DFS markup.
- Why do it: the win isn’t the $10/mo — it’s that our MCP endpoint stays private (no third party sees which competitors we watch), and marketing-worker can consume it natively for the weekly executive report cron.
- Effort: ~1 hour to deploy, plus a runbook.
5. LocalSearch agency (1,000 accounts) — DO NOT self-host OpenSEO
Buy WebCEO Agency Unlimited instead.
Cost math at 1,000 accounts:
| WebCEO | OpenSEO self-hosted | |
|---|---|---|
| Base + white-label | $99 + $80 | negligible (CF free) |
| Per project | 1,000 × $2 = $2,000 | 0 |
| Rank queries (50 kw × weekly) | $800 | ~$3,500 (DFS credits) |
| Backlinks | ~$100 | ~$500 (DFS credits) |
| Claude API for automation | 0 | $500–2,000 |
| Total ≈ | $3,100/mo | $5,500–7,000/mo |
| Multi-tenant / white-label | ✅ out of the box | ❌ build it (6–10 weeks) |
| MCP / agent-scriptable | ❌ | ✅ |
WebCEO is ~half the cost, mature, white-labelled, and works tomorrow. Self-hosting OpenSEO for the agency use case = building an inferior WebCEO clone. Wrong tool.
6. LocalSearch — where OpenSEO + Claude could fit
Only as a premium AI-analyst upsell layer on top of WebCEO, not a replacement. What Claude can do that no agency tool can:
- Weekly narrative summaries per client, in our voice
- Anomaly detection with context (“rank drop is Google shifting the local pack, not the site”)
- Auto-drafted content briefs from SERP shifts
- Proactive workflow triggers into Pipedrive / Slack / email
Only worth building if it’s a paid premium tier. Not v1.
Recommended sequencing (if LocalSearch scales up)
- Month 1: buy WebCEO Agency Unlimited, onboard first 100 clients.
- Months 2–4: self-host OpenSEO on our stack, wire Claude worker on top, sell as premium tier at 2–3× standard price.
- Month 6+: review usage data. If Claude layer drives retention + margin, consider moving rank tracking off WebCEO. Otherwise keep both.
What NOT to do
- Do not buy CrowdReply.
- Do not buy Ahrefs Brand Radar addon.
- Do not build a WebCEO clone in-house.
- Do not self-host OpenSEO for the LocalSearch agency use case first — it’s the differentiator layer, not the base.
Related
marketing-worker-hbplasticsskill — where the OpenSEO MCP would plug inaest-timezone-hbplasticsskill — for any weekly-report cron scheduling- OpenSEO repo: https://github.com/every-app/open-seo (MIT)
- WebCEO Agency Unlimited: https://www.webceo.com/seo-agency-software-all-tools.htm
Decision record — hand-written, no source_of_truth file dependencies.
kb-sync will not auto-regenerate this. If the reasoning becomes outdated
(new tool, price change, our AI-citation rate collapses), edit this file
directly and bump last_reviewed.