First release
The first public version of Searchkeep: self-hosted SEO and GEO analytics that runs as one Worker and one D1 database in your own Cloudflare account.
Highlights
- GEO funnel per page: AI crawler requests (Cloudflare), AI citations (imported from Bing AI Performance CSV exports) and AI referral visits (Web Analytics), next to GSC and Bing clicks.
- Long-term history: a sync every 15 minutes in small batches, with daily increments first and a 16-month Search Console backfill paced to D1’s free write quota, and nothing ever deleted.
- MCP server at
/mcp(Streamable HTTP, stateless) with 12 read-only tools: list_sites, query_performance, compare_periods, find_quick_wins, find_cannibalization, find_ctr_anomalies, find_content_decay, geo_funnel, ai_crawlers, inspect_url, list_sitemaps, setup_status; plussubmit_sitemap, registered only withENABLE_WRITES=true. - Dashboard served from the same Worker, using the same analysis functions as the MCP tools, with Sync now and an AI citation CSV import.
- Brand vs non-brand filtering on every query-level view via
BRAND_REGEXor a per-sitebrandRegex.
Data sources
- Google Search Console: Search Analytics, sitemaps, URL Inspection.
- Bing Webmaster Tools: traffic, query and page stats, crawl issues.
- Bing AI Performance: citations imported from its CSV export (it has no API).
- Cloudflare: AI crawler requests by crawler, path and status; Web Analytics page views, referrers and Core Web Vitals.
Security
- Cloudflare Access in front of the dashboard and MCP, with Managed OAuth for MCP clients (dynamic client registration, PKCE).
- Access JWT re-verified in the Worker on every request against
ACCESS_TEAM_DOMAINandACCESS_AUD. - Readiness states
no_access,oauth_disabled,policy_too_broadandready; data, MCP and sync stay locked until ready. - Read-only by default;
submit_sitemaponly withENABLE_WRITES=true.
Deploy
- Fork and Workers Builds, with D1 auto-provisioned on first deploy; the Worker applies pending migrations itself, so the default build token needs no D1 permission.
- Local development with
pnpm devand demo data. - Agent-ready runbook in
docs/deploy.mdandAGENTS.md.
Upgrade notes
None. This is the first release; follow the deploy guide.
Known limitations
- Bing AI Performance has no API, so the Cited step stays empty until you import its CSV export.
- Web Analytics data is unavailable for accounts using the EU data localization boundary.
- Cloudflare Workers + D1 is the only supported runtime in this release.