Problem
Rank Tracking schedules checks at the domain/config level today. Users want to set different check intervals per keyword so high-priority terms can be tracked more often without spending credits on every keyword at the same cadence.
Evidence
- User feedback: "I like the rank tracker. I would love to see a feature added to the rank tracker through which I can set a track interval per keyword instead of per domain."
Implementation check
Checked the OpenSEO repo on main (90a04d18). Relevant files:
src/db/app.schema.ts: scheduleInterval / nextCheckAt live on rankTrackingConfigs; rankTrackingKeywords has no schedule fields.
src/server.ts: cron finds due configs, advances config nextCheckAt, then schedules the whole config.
src/server/features/rank-tracking/services/RankTrackingService.ts and src/server/workflows/RankCheckWorkflow.ts: subset checks via keywordIds already exist.
Suggested direction
Keep the domain/config interval as the default. Add optional per-keyword overrides, e.g. inherit default, daily, weekly, or manual/paused.
Acceptance criteria
Problem
Rank Tracking schedules checks at the domain/config level today. Users want to set different check intervals per keyword so high-priority terms can be tracked more often without spending credits on every keyword at the same cadence.
Evidence
Implementation check
Checked the OpenSEO repo on
main(90a04d18). Relevant files:src/db/app.schema.ts:scheduleInterval/nextCheckAtlive onrankTrackingConfigs;rankTrackingKeywordshas no schedule fields.src/server.ts: cron finds due configs, advances confignextCheckAt, then schedules the whole config.src/server/features/rank-tracking/services/RankTrackingService.tsandsrc/server/workflows/RankCheckWorkflow.ts: subset checks viakeywordIdsalready exist.Suggested direction
Keep the domain/config interval as the default. Add optional per-keyword overrides, e.g. inherit default, daily, weekly, or manual/paused.
Acceptance criteria