SEO Rank Tracking
SEO rank tracking ships as the seo-rank-tracker installable app in the
app-store catalog, not as core platform functionality. The core read-model
tables were dropped in migration 0013_drop_seo_tables; the artifact owns
its own schema (db/schema.sql, applied create-if-missing at install).
Where things live now
| Concern | Location |
|---|---|
| Manifest + catalog entry | app-store/apps/seo-rank-tracker/manifest.json (+ registry.json) |
| Portable domain layer (schemas, SERP providers, cadence, sweep engine) | app-store/apps/seo-rank-tracker/domain/ |
Gateway module (queries + tracking mutations over a pluggable SeoDb port) | app-store/apps/seo-rank-tracker/gateway/index.ts |
| D1 schema (create-if-missing, idempotent) | app-store/apps/seo-rank-tracker/db/schema.sql |
Console views (mounted at /apps/seo-rank-tracker) | app-store/apps/seo-rank-tracker/console/views/ |
| Product roadmap (dashboard UX, crawl-and-fix assistant) | SEO-PLAN.md Workstreams A / E / F |
Install
- Open the App Store in the console (or call the
installAppmutation). - Select
seo-rank-tracker. The lifecycle command validates the manifest, appliesdb/schema.sqlto the tenant D1 database idempotently, and emitsAppInstalled. - Enable it. The vendored console views appear under Applications in the sidebar and the gateway mounts the SEO queries/mutations at boot.
The SERP provider is chosen at runtime via SERP_PROVIDER / SERP_API_KEY
(mock is the zero-config default; see the artifact README).