Ben Senescu
b08cb0c9e2
Avoid D1 internal error in project lookup ( #272 )
2026-06-16 21:40:23 -04:00
Ben Senescu
d339f0c3d9
Fix MCP output validation and error reporting
2026-06-16 13:52:59 -04:00
Ben Senescu
f1232554f1
Update README with hosted version information
...
Added a section about the hosted version of OpenSEO and updated the reasons to use OpenSEO.
2026-06-15 19:55:34 -04:00
Ben Senescu
9abed9278f
Remove free trial: subscription paywall + 30-day money-back guarantee ( #251 )
2026-06-14 21:21:04 -04:00
Ben Senescu
ffded88e33
Landing page redesign + copy/positioning doc ( #267 )
2026-06-14 18:14:12 -04:00
Ben Senescu
dd429ec4f0
Sync Autumn billing status to Loops and add billing backfill ( #269 )
2026-06-14 17:19:26 -04:00
Ben Senescu
f8d5ffd285
Scheduled rank checks run through DataForSEO's task queue ( #268 )
2026-06-13 11:20:42 -04:00
Ben Senescu
5f03992b78
release: v0.0.20 ( #266 )
2026-06-12 14:29:49 -04:00
Ben Senescu
b809f87b5e
Hybrid keyword data: Google Ads coverage for non-Labs countries + opt-in clickstream volumes ( #262 )
2026-06-12 14:08:11 -04:00
Ben Senescu
e41b52ca56
MCP directory metadata, resources/prompts handlers, full param descriptions ( #260 )
2026-06-11 16:11:24 -04:00
Ben Senescu
0525513b0c
save ( #259 )
2026-06-11 09:45:44 -04:00
Ben Senescu
16b92ccea3
Backlinks: server-side pagination, sorting, filters, and a one-per-domain view ( #258 )
2026-06-10 23:27:04 -04:00
Ben Senescu
977c69c3de
Replace project deletion with archive/restore (soft delete) ( #257 )
...
Project deletion cascaded through saved keywords, rank tracking, and
audits, and the endpoint had no role check (Codex security finding).
Instead of gating a destructive delete, remove it: archiving stamps
archived_at, hides the project everywhere (lists, project context,
rank-check cron), and preserves all data. Archived projects can be
restored from the Manage projects page.
The restore input is named archivedProjectId because the global
ensureUserMiddleware resolves any projectId in input data against
active projects and would 404 before the handler runs.
2026-06-10 15:42:55 -04:00
Ben Senescu
f7e5729a09
SERP title/meta optimization for striking-distance keywords ( #254 )
2026-06-10 14:21:55 -04:00
Ben Senescu
8a85b7b794
AI Visibility: competitor Share of Voice + clarity fixes for AI citations ( #248 )
2026-06-09 22:33:11 -04:00
Ben Senescu
2db6fdec71
Refine rank tracking onboarding and add ahrefs backlinks filter ( #253 )
2026-06-09 22:17:13 -04:00
Ben Senescu
c38b453ab0
Add Ahrefs Domain Rating enrichment to the Backlinks table ( #249 )
2026-06-09 21:42:30 -04:00
Ben Senescu
fbef08fe8e
Remove unnecessary rank tracking details cards
2026-06-09 21:28:50 -04:00
Ben Senescu
383531c5cd
Rank tracking: trends & data exploration ( #247 )
2026-06-09 21:06:50 -04:00
Ben Senescu
076a7fb6d7
Multi-project support per organization ( #246 )
2026-06-09 20:12:09 -04:00
Ben Senescu
e16f8d5647
Bump release notes to v0.0.18 ( #244 )
...
* Bump version to 0.0.18
* Trim release notes for v0.0.18
2026-06-05 16:29:25 -04:00
Ben Senescu
d459006f40
Restore and update 'Why use OpenSEO?' section
...
Reintroduce 'Why use OpenSEO?' section with key features.
2026-06-05 16:28:01 -04:00
Ben Senescu
6be0a54b15
Update README.md
2026-06-05 16:26:57 -04:00
Ben Senescu
93705f125d
Move guides to blogs and add best open source tools post ( #243 )
2026-06-05 15:37:42 -04:00
Ben Senescu
1495660631
fix errors and onboarding problems ( #242 )
2026-06-05 15:22:32 -04:00
Ben Senescu
cc5d6bc632
gsc: handle stale Search Console grants during property listing ( #241 )
2026-06-04 23:46:33 -04:00
Ben Senescu
8ea55a3e77
fix gsc onboarding nudge state ( #240 )
2026-06-04 23:25:01 -04:00
Ben Senescu
96f365a473
billing: Autumn webhook + customer status sync ( #239 )
2026-06-04 23:04:55 -04:00
Ben Senescu
f46e0b9539
Update image source in README.md
2026-06-04 18:15:13 -04:00
Ben Senescu
c8fcdcda20
website: google search console mcp landing page ( #237 )
2026-06-04 18:07:00 -04:00
Ben Senescu
7a26be46cc
Self-hosted Google Search Console ( #236 )
2026-06-04 18:06:16 -04:00
Ben Senescu
23c38ca4e5
GSC MCP part 1 ( #233 )
2026-06-04 13:50:26 -04:00
Ben Senescu
1fd7b2cbce
Replace image in README.md
...
Updated image in README.md to a new source.
2026-06-02 16:41:05 -04:00
Ben Senescu
738497e749
Update section title and table of contents in README
2026-06-02 16:18:44 -04:00
Ben Senescu
9660838c1f
Update images in README.md
2026-06-02 16:17:14 -04:00
Ben Senescu
319b4d7772
website: open source seo page ( #235 )
2026-06-02 15:56:38 -04:00
Ben Senescu
dae5cfd68e
readme: Add banner image ( #234 )
2026-06-02 14:27:20 -04:00
Ben Senescu
b64ef56b4d
refactor: unify dataforseo sdk usage ( #231 )
2026-06-01 09:48:11 -04:00
Ben Senescu
06e15dc70f
Add per-feature usage breakdown to billing page ( #232 )
2026-05-31 18:42:41 -04:00
Ben Senescu
e93e30e19e
Fix auth mode resolution to use runtime worker env ( #212 )
2026-05-31 17:21:54 -04:00
Ben Senescu
3d38b89c32
Fix local dev bug; bump to v0.0.17 ( #230 )
2026-05-28 17:42:09 -04:00
Ben Senescu
03fd3588ef
refactor: clean up complex code ( #229 )
2026-05-28 16:37:33 -04:00
Ben Senescu
010c93a536
Bump version to 0.0.16 ( #228 )
2026-05-28 09:14:35 -04:00
Ben Senescu
e7eb895d46
fix redirect loop (again) ( #227 )
2026-05-27 00:08:59 -04:00
Ben Senescu
4a5a1eb523
Redirect unverified users to email verification ( #226 )
2026-05-26 23:36:35 -04:00
Ben Senescu
02a287b98e
fix audit tables + back link columns ( #224 )
2026-05-26 23:33:26 -04:00
Ben Senescu
8b74c7da61
Improve onboarding questions and sign-up routing ( #225 )
2026-05-26 23:05:20 -04:00
Ben Senescu
506dde84d1
Add additional MCP tools for Local SEO ( #222 )
2026-05-26 18:38:14 -04:00
Ben Senescu
f95c66b7f2
Switch domain sorting defaults and rank-tracking suggestions to traffic ( #223 )
...
* Default domain keyword sorting to traffic
* Align keyword suggestion preselection with traffic sort
2026-05-26 18:11:14 -04:00
Ben Senescu
d23b4eebfb
Fix sitemap generation for docs content ( #220 )
2026-05-24 18:59:43 -04:00