-
b22dc13b51
Remove direct POSTGRES_DATABASE_URL fallback; Postgres via Hyperdrive only (#351)
Ben Senescu
2026-07-05 18:11:11 -04:00
-
86407c97e1
Fix hosted Turnstile captcha fail-open config (#350)
Ben Senescu
2026-07-05 18:06:19 -04:00
-
e39de22f96
Fix: don't mask DataForSEO 40501 validation errors as empty results (#346)
Ben Senescu
2026-07-05 17:54:14 -04:00
-
9b6c5640cd
Sanitize Copy keywords clipboard against spreadsheet formula injection (#348)
Ben Senescu
2026-07-05 17:50:01 -04:00
-
7c64cd3c5c
Rank tracking: enforce config cap on unarchive, raise cap to 500 (#347)
Ben Senescu
2026-07-05 17:39:53 -04:00
-
c993ef4931
Bound concurrent D1 upserts in saved-keyword metric refresh (#338)
Ben Senescu
2026-07-05 17:35:58 -04:00
-
1a74904b67
Cut worker isolate baseline memory: stub just-bash, lazy-load cheerio (#340)
Ben Senescu
2026-07-03 22:23:35 -04:00
-
93cf32081a
Fix turndown ESM build compatibility with Cloudflare Workers (#339)
Ben Senescu
2026-07-03 21:53:55 -04:00
-
41d37792e7
feat: SAM — in-app SEO agent with full MCP toolset (#322)
Ben Senescu
2026-07-03 18:48:18 -04:00
-
7ed574c408
Sidebar: promote AI & MCP to nav, consolidate footer into account menu (#337)
Ben Senescu
2026-07-03 13:23:18 -04:00
-
615ecce033
Redesign app shell: Sidebar with cutout content panel (#336)
Ben Senescu
2026-07-02 19:06:13 -04:00
-
4f17fe4942
Triage production log errors: audit crash, Autumn webhook FK, PostHog capture, auth rate-limit IP, log noise (#327)
Ben Senescu
2026-07-01 09:57:30 -04:00
-
fffdbc9329
Add Cloudflare Turnstile captcha on email signup (#326)
Ben Senescu
2026-07-01 09:32:27 -04:00
-
97f026562e
Pin production to Postgres via committed Hyperdrive binding (#329)
Ben Senescu
2026-07-01 00:36:02 -04:00
-
b5bda159ea
Re-add free plan as the floor; remove subscribe gate (#321)
Ben Senescu
2026-06-30 22:26:26 -04:00
-
819e33be07
fix(mcp): 405 the standalone GET SSE stream to stop /mcp OOM (#325)
Ben Senescu
2026-06-30 21:57:25 -04:00
-
a49ec51e95
fix(ai-search): use valid Claude model_name and fail fast on unknown ones (#323)
Ben Senescu
2026-06-30 21:50:42 -04:00
-
4e48f8344f
Fix production errors: onboarding crash hardening + DataForSEO spend/noise cleanup (#282)
Ben Senescu
2026-06-30 17:41:21 -04:00
-
868924e1fe
refactor(keywords): unify keyword-metric fetching behind one helper (#320)
Ben Senescu
2026-06-30 17:23:27 -04:00
-
116719a019
fix(db): add missing indexes and drop redundant ones (#319)
Ben Senescu
2026-06-30 17:11:49 -04:00
-
e5e5029e6b
rank-tracking: raise per-project config limit from 20 to 100 (#318)
Ben Senescu
2026-06-30 15:36:34 -04:00
-
fa0651b96d
Fix Postgres-only rank-tracking & site-audit workflow failures (#317)
Ben Senescu
2026-06-30 09:51:29 -04:00
-
19a4bc6585
D1 → Postgres data migration (ETL + runbook) (#274)
Ben Senescu
2026-06-29 20:20:23 -04:00
-
c5cbe84ce6
Unify dual-backend DB layer (D1 default + Postgres opt-in) (#238)
Ben Senescu
2026-06-29 20:02:01 -04:00
-
3a2dad3a96
fix(rank-tracking): unarchive config when re-adding an archived domain (#313)
Ben Senescu
2026-06-29 18:38:15 -04:00
-
9942c5a590
website: change link
Ben Senescu
2026-06-29 18:23:50 -04:00
-
1164a3467a
feat(onboarding): hide agent chat step; subscribe after intro steps (#312)
Ben Senescu
2026-06-29 13:36:13 -04:00
-
c8a1e17359
fix: surface DataForSEO auth failures as an actionable error instead of "unexpected error" (#53)
mattmacrocket
2026-07-02 16:38:13 -05:00
-
b8f47a51cc
feat: GSC UI + Striking Distance
mattmacrocket
2026-07-02 16:37:36 -05:00
-
b733be4a5e
release: v0.0.23 - fix mcp for pi + refresh saved keyword metrics (#56)
Ben Senescu
2026-07-02 13:01:44 -04:00
-
752561b0ac
feat: add refresh metrics action to Saved Keywords page (#51)
Eugene
2026-07-01 03:52:12 +08:00
-
e9871bde8d
release: v0.0.22 (#310)
Ben Senescu
2026-06-28 20:12:29 -04:00
-
1dabbc88a6
feat: add paginated get_backlinks_profile MCP tool (#38)
Matt Van Horn
2026-06-28 15:47:24 -07:00
-
200a6e8b61
feat: add search and filters to the Tracked Domains list (#39)
Matt Van Horn
2026-06-28 15:45:57 -07:00
-
a19baed678
feat(rank-tracking): allow explicit language selection (#46)
Amol Budhwant
2026-06-29 03:34:49 +05:30
-
da06190e5f
docs: document DCR redirect-URI step for MCP behind Cloudflare Access (#48)
Ben Senescu
2026-06-28 17:58:51 -04:00
-
e4b0c53b3b
Add monthly rank tracking schedule (#45)
jalendarreddy97
2026-06-28 17:32:05 -04:00
-
93c2ecf48d
fix knip + reorganize self hosting docs
Ben Senescu
2026-06-28 16:50:16 -04:00
-
6313812f3f
Dynamic star count on website (#306)
Ben Senescu
2026-06-26 17:09:49 -04:00
-
cd8ce2f752
fix(ci): raise Node heap limit for sourcemaps build (#304)
Ben Senescu
2026-06-26 15:33:07 -04:00
-
be60440ca0
docs: document manual Wrangler deploy path for Cloudflare self-hosting (#44)
Matt Van Horn
2026-06-28 13:30:04 -07:00
-
e4a90d6767
feat: add country combobox (#43)
Fishlex0
2026-06-28 23:29:53 +03:00
-
e9955b46cb
Simplify readme (#303)
Ben Senescu
2026-06-26 15:20:17 -04:00
-
7cc4fa9aa5
Revert "Update base plan price from $10/month to $20/month (#283)" (#301)
Ben Senescu
2026-06-26 09:29:52 -04:00
-
616b6727fa
Onboarding chat: let read_website fetch specific user-named URLs (#300)
Ben Senescu
2026-06-25 19:57:50 -04:00
-
90a04d1845
Onboarding chat: MiniMax M3 + market-research tools + UX polish (#296)
Ben Senescu
2026-06-25 12:31:07 -04:00
-
770005e2b9
release: v0.0.21 (#293)
Ben Senescu
2026-06-24 15:22:17 -04:00
-
2087d0d614
Onboarding agent: clarify OpenSEO analyzes any domain; keep recs in-product (#295)
Ben Senescu
2026-06-24 15:19:17 -04:00
-
327d741d4c
Fix onboarding overflow issue
Ben Senescu
2026-06-24 13:45:47 -04:00
-
23e7eea4c2
bump node max-old-space
Ben Senescu
2026-06-24 13:24:11 -04:00
-
31eb147bb5
Revise 'Why use OpenSEO?' section in README
Ben Senescu
2026-06-24 13:23:18 -04:00
-
0adf77824a
Update base plan price from $10/month to $20/month (#283)
Ben Senescu
2026-06-21 22:01:25 -04:00
-
244cfe2204
tweak onboarding prompt + add keyword research (#277)
Ben Senescu
2026-06-19 20:25:11 -04:00
-
b2931a6542
fix email verification flow
Ben Senescu
2026-06-19 19:38:55 -04:00
-
17c6c8f60b
fix: block user-initiated org creation (#276)
Ben Senescu
2026-06-19 18:29:41 -04:00
-
0652f3a8a6
improve onboarding chat ux + migrated to DO
Ben Senescu
2026-06-19 18:09:52 -04:00
-
e57768a8ce
Add onboarding chat helper
Ben Senescu
2026-06-19 13:20:52 -04:00
-
dec7fe68dc
Update pricing sources in README
Ben Senescu
2026-06-18 09:50:04 -04:00
-
6fce0fb980
Update README.md
Ben Senescu
2026-06-17 16:00:19 -04:00
-
b08cb0c9e2
Avoid D1 internal error in project lookup (#272)
Ben Senescu
2026-06-16 21:40:23 -04:00
-
d339f0c3d9
Fix MCP output validation and error reporting
Ben Senescu
2026-06-16 13:52:59 -04:00
-
f1232554f1
Update README with hosted version information
Ben Senescu
2026-06-15 19:55:34 -04:00
-
9abed9278f
Remove free trial: subscription paywall + 30-day money-back guarantee (#251)
Ben Senescu
2026-06-14 21:21:04 -04:00
-
ffded88e33
Landing page redesign + copy/positioning doc (#267)
Ben Senescu
2026-06-14 18:14:12 -04:00
-
dd429ec4f0
Sync Autumn billing status to Loops and add billing backfill (#269)
Ben Senescu
2026-06-14 17:19:26 -04:00
-
f8d5ffd285
Scheduled rank checks run through DataForSEO's task queue (#268)
Ben Senescu
2026-06-13 11:20:42 -04:00
-
5f03992b78
release: v0.0.20 (#266)
Ben Senescu
2026-06-12 14:29:49 -04:00
-
b809f87b5e
Hybrid keyword data: Google Ads coverage for non-Labs countries + opt-in clickstream volumes (#262)
Ben Senescu
2026-06-12 14:08:11 -04:00
-
e41b52ca56
MCP directory metadata, resources/prompts handlers, full param descriptions (#260)
Ben Senescu
2026-06-11 16:11:24 -04:00
-
0525513b0c
save (#259)
Ben Senescu
2026-06-11 09:45:44 -04:00
-
16b92ccea3
Backlinks: server-side pagination, sorting, filters, and a one-per-domain view (#258)
Ben Senescu
2026-06-10 23:27:04 -04:00
-
977c69c3de
Replace project deletion with archive/restore (soft delete) (#257)
Ben Senescu
2026-06-10 15:42:55 -04:00
-
f7e5729a09
SERP title/meta optimization for striking-distance keywords (#254)
Ben Senescu
2026-06-10 14:21:55 -04:00
-
8a85b7b794
AI Visibility: competitor Share of Voice + clarity fixes for AI citations (#248)
Ben Senescu
2026-06-09 22:33:11 -04:00
-
2db6fdec71
Refine rank tracking onboarding and add ahrefs backlinks filter (#253)
Ben Senescu
2026-06-09 22:17:13 -04:00
-
c38b453ab0
Add Ahrefs Domain Rating enrichment to the Backlinks table (#249)
Ben Senescu
2026-06-09 21:42:30 -04:00
-
fbef08fe8e
Remove unnecessary rank tracking details cards
Ben Senescu
2026-06-09 21:28:50 -04:00
-
383531c5cd
Rank tracking: trends & data exploration (#247)
Ben Senescu
2026-06-09 21:06:50 -04:00
-
076a7fb6d7
Multi-project support per organization (#246)
Ben Senescu
2026-06-09 20:12:09 -04:00
-
e16f8d5647
Bump release notes to v0.0.18 (#244)
Ben Senescu
2026-06-05 16:29:25 -04:00
-
d459006f40
Restore and update 'Why use OpenSEO?' section
Ben Senescu
2026-06-05 16:28:01 -04:00
-
6be0a54b15
Update README.md
Ben Senescu
2026-06-05 16:26:57 -04:00
-
93705f125d
Move guides to blogs and add best open source tools post (#243)
Ben Senescu
2026-06-05 15:37:42 -04:00
-
1495660631
fix errors and onboarding problems (#242)
Ben Senescu
2026-06-05 15:22:32 -04:00
-
cc5d6bc632
gsc: handle stale Search Console grants during property listing (#241)
Ben Senescu
2026-06-04 23:46:33 -04:00
-
8ea55a3e77
fix gsc onboarding nudge state (#240)
Ben Senescu
2026-06-04 23:25:01 -04:00
-
96f365a473
billing: Autumn webhook + customer status sync (#239)
Ben Senescu
2026-06-04 23:04:55 -04:00
-
f46e0b9539
Update image source in README.md
Ben Senescu
2026-06-04 18:15:13 -04:00
-
c8fcdcda20
website: google search console mcp landing page (#237)
Ben Senescu
2026-06-04 18:07:00 -04:00
-
7a26be46cc
Self-hosted Google Search Console (#236)
Ben Senescu
2026-06-04 18:06:16 -04:00
-
23c38ca4e5
GSC MCP part 1 (#233)
Ben Senescu
2026-06-04 13:50:26 -04:00
-
1fd7b2cbce
Replace image in README.md
Ben Senescu
2026-06-02 16:41:05 -04:00
-
738497e749
Update section title and table of contents in README
Ben Senescu
2026-06-02 16:18:44 -04:00
-
9660838c1f
Update images in README.md
Ben Senescu
2026-06-02 16:17:14 -04:00
-
319b4d7772
website: open source seo page (#235)
Ben Senescu
2026-06-02 15:56:38 -04:00
-
dae5cfd68e
readme: Add banner image (#234)
Ben Senescu
2026-06-02 14:27:20 -04:00
-
b64ef56b4d
refactor: unify dataforseo sdk usage (#231)
Ben Senescu
2026-06-01 09:48:11 -04:00
-
06e15dc70f
Add per-feature usage breakdown to billing page (#232)
Ben Senescu
2026-05-31 18:42:41 -04:00
-
e93e30e19e
Fix auth mode resolution to use runtime worker env (#212)
Ben Senescu
2026-05-31 17:21:54 -04:00
-
3d38b89c32
Fix local dev bug; bump to v0.0.17 (#230)
Ben Senescu
2026-05-28 17:42:09 -04:00