Ben Senescu
17298da7ee
fix: capture DataForSEO errors with context ( #138 )
2026-04-24 00:16:20 -04:00
Ben Senescu
9a9a9a2a6c
feat: add keyword metrics (volume, difficulty, CPC) to rank tracking ( #118 )
2026-04-16 10:41:31 -04:00
Ben Senescu
e78ef5e3dd
fix: accept full URLs in rank tracking domain input ( #117 )
...
Replace DOMAIN_REGEX with URL-based normalization so users can paste
full URLs (e.g. https://example.com/path ) into the domain config form
without getting a ZodError. The URL class handles protocol stripping,
hostname extraction, and validation natively.
2026-04-16 02:58:34 -04:00
Ben Senescu
86d3714846
feat: allow free plan users to set up rank tracking ( #116 )
2026-04-16 02:19:23 -04:00
Ben Senescu
aeafa5649d
feat: polish rank tracking UI ( #115 )
2026-04-16 00:42:10 -04:00
Ben Senescu
1b6bf8fd94
refactor: convert rank tracking table to Tanstack Table ( #111 )
2026-04-15 10:42:28 -04:00
Ben Senescu
0024691da8
Improve rank tracking empty state and add config route ( #112 )
2026-04-14 20:29:43 -04:00
Ben Senescu
53a83996ef
feat: Rank Tracking MVP ( #91 )
2026-04-14 20:29:38 -04:00