Changelog

What’s new in Searchkeep

Releases, newest first. Upgrade by syncing your fork; anything that needs a manual step is listed under Upgrade notes.

  1. v0.1.0

    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; plus submit_sitemap, registered only with ENABLE_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_REGEX or a per-site brandRegex.

    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_DOMAIN and ACCESS_AUD.
    • Readiness states no_access, oauth_disabled, policy_too_broad and ready; data, MCP and sync stay locked until ready.
    • Read-only by default; submit_sitemap only with ENABLE_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 dev and demo data.
    • Agent-ready runbook in docs/deploy.md and AGENTS.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.

Release history also lives on GitHub releases.