What an SEO panel for 100 sites costs on Cloudflare
The real monthly bill behind seops: Workers, D1, R2, AI answers, Google's free APIs. Why it is $2.50 per site with no tiers, and why AI work uses pack credits.
Par seops team · Türkçesi
Short answer. Running the panel for a few hundred sites costs tens of dollars a month on Cloudflare Workers Paid, D1 and R2; Google's Search Console, GA4 and PageSpeed APIs are free within quotas. The one cost that scales with usage is AI answers (calls to AI models through Cloudflare AI Gateway), billed per call. That is why seops charges a flat $2.50 per extra site with the first site free (our costs grow with sites, not people), includes free daily site credits for the free-API work (audits, speed, inspections, refreshes), and runs AI visibility and the other paid work on daily pack credits instead of hiding it in a tier.
The bill, line by line
seops runs on one Cloudflare Worker per environment with D1 (SQLite), R2 (backups) and KV (OAuth). The account is on Workers Paid. For the sites we run ourselves, the current month looks like this:
| Item | What drives it | Our cost |
|---|---|---|
| Workers Paid | base fee + requests + CPU time | $5 base; requests and CPU well inside the included amounts |
| D1 | rows read/written, storage | included; a few GB of report cache and history |
| R2 | backup storage, class A/B operations | cents; nightly dumps gzip to a few hundred KB each |
| Search Console, GA4, URL Inspection, PageSpeed APIs | per-property and per-day quotas | $0 |
| AI answers via Cloudflare AI Gateway | per AI prompt run (prompt × engine) | the only line that grows with usage |
Cloudflare’s own usage report for the account is a page in the panel (Settings › Infrastructure › Cloudflare usage), so this table is not a one-off; it’s what we look at every week.
What that means for pricing
Per site, not per seat, and no tiers. Each site adds a crawl, a set of reports, cron work and storage. Another teammate adds nothing. So the price is a flat $2.50 a month per site after the first free one; 15 sites cost $35, 50 sites $122.50. We tried a ladder of plans first and threw it out: every tier boundary was a reason to pay for sites you don’t have.
Included daily credits. The free-API work still has limits: PageSpeed has a daily quota, URL Inspection allows 2,000 per property per day, and every audit fetches your pages. Every site brings 100 credits a day, so 15 sites have 1,500. It resets at 00:00 and is spent by audits, speed runs, URL inspections and the “Refresh data” button. In practice a 50-page site never gets near it; a 5,000-page site will see audits pace themselves across days, which is the point, and a $1 pack adds 500 a day if you would rather not wait.
Pack credits for paid work. Weekly AI-visibility answers (and, once it opens, the optional daily Google position check) are the only things we pay for per use, so they are the only things that use pack credits; site credits never pay for them. Search Console positions are free in every account. Packs are daily and come in tiers on the pricing page, with the cost of each operation listed there and next to every button in the panel.
Trial and waitlist. New accounts get 15-site capacity free for 30 days so you can see the whole panel on your real sites. Until billing opens, extra sites come from a waitlist in batches, because each batch adds cron load we want to watch before adding more. Teams with 50+ sites get a contracted price.
What we don’t do
- No usage-based surprises: every pool has a hard daily cap.
- No seat pricing, no tiers; “contact sales” only exists for 50+ sites.
- No reselling your data: an AI answer only receives the prompt and your domain, nothing about your account.
How to check our numbers
Open the demo’s Cloudflare usage page (Settings › Infrastructure) for the shape of the report, then the pricing page for the current numbers and worked examples. If a number on this page is out of date, write to contact@seops.app and we’ll fix it, and the changelog will say so.
Questions
Why is the first site free?
One site on the free APIs costs us almost nothing, and a working panel for one site is the best demo we have. It stays free for as long as you use it.
Why not unlimited audits?
Each audit fetches your pages and PageSpeed runs cost Google quota. A daily credit keeps a misconfigured sitemap from burning the shared quota for everyone; it resets every day, grows with every site you add, and you can top it up with a $1 pack.
How are AI visibility answers priced?
Per answer, in pack credits, from daily packs billed monthly. The cost per answer depends on the AI engine and is shown next to every button and on the pricing page; credits renew daily and never carry over, so a bill can never surprise you.