Skip to main content

SEO Readiness Portal MVP — Status and Evidence

SEO Readiness Portal MVP — status and evidence

Scope

SEO Readiness Portal is the productized continuation of SEO Automation v1. The MVP converts intake, readiness audit structure, backlog, and reporting workflow into a local-first SaaS scaffold.

Current implementation status

  • Phase 1: scaffold, app shell, RBAC types, audit domain types, initial schema, spec validation.
  • Phase 2: partner/client workspace, client detail page, structured intake UI, sample demo data, intake field definitions and guardrails.
  • Phase 3: local/dev persistence for intake save/submit flow.
  • Phase 4: local readiness audit runner with persisted audit results and audit detail page.
  • Phase 5: local draft report and backlog generator from persisted audit findings.
  • Phase 6: local Markdown report review/export workflow with persisted export metadata and checksum.

Phase 3 delivered behavior

  • File-backed local/dev workspace repository.
  • Default app data path: .data/workspace.json and gitignored.
  • Partner/client pages read through the persistence repository.
  • Intake page server actions:
    • save draft
    • submit intake
  • Repository updates client, site, and intake records.
  • Submitted intake rejects missing required fields.
  • Submitted intake rejects secret-like content such as password, API key, token, secret, or bearer wording.

Phase 4 delivered behavior

  • Basic local readiness audit runner, not a live crawler.
  • Client workspace action to run a local audit.
  • Persisted audit records in local/dev file-backed workspace data.
  • Audit detail page with readiness score, findings, and guardrails.
  • Guardrail checks prevent ranking/traffic/guarantee wording in generated findings.

Phase 5 delivered behavior

  • Generates a local draft readiness report from a persisted local audit.
  • Generates client-safe backlog items from audit findings.
  • Persists reports and backlogItems in local/dev workspace data.
  • Adds audit detail action to generate a draft report.
  • Adds report detail page with executive summary, guardrails, and backlog draft.
  • Guardrail checks prevent ranking/traffic/guarantee wording in generated report/backlog text.

Phase 6 delivered behavior

  • Generates a local Markdown export from a persisted draft readiness report.
  • Persists reportExports metadata in local/dev workspace data, including filename, byte length, and SHA-256 checksum.
  • Stores the Markdown artifact under local .data/exports/ storage.
  • Adds report action to generate the Markdown export.
  • Adds export detail route /clients/[clientId]/reports/[reportId]/exports/[exportId] with metadata, guardrails, and Markdown preview.
  • Guardrail checks prevent positive ranking/traffic/guarantee wording in generated export text.

Evidence

Product worktree:

/Users/makinja/business/ALAI-Holding-AS/products/SEO-Readiness-Portal

Evidence files:

  • PHASE-1-EVIDENCE.md
  • PHASE-2-EVIDENCE.md
  • PHASE-3-EVIDENCE.md
  • PHASE-4-EVIDENCE.md
  • PHASE-5-EVIDENCE.md
  • PHASE-6-EVIDENCE.md
  • /tmp/alai/seo-readiness-phase3-http-smoke.txt
  • /tmp/alai/redzo-102064-review.md
  • /tmp/alai/company-mesh-responder/2026-05-26T11-20-45-604Z-mesh-msg-1c229051-b7e6-4bdc-af43-c442d3dd8fe2.json
  • /tmp/alai/seo-readiness-phase4-http-smoke.txt
  • /tmp/alai/redzo-102070-review.md
  • /tmp/alai/seo-readiness-phase5-http-smoke.txt
  • /tmp/alai/seo-readiness-phase6-hard-evidence-102091/command-log.txt
  • /tmp/alai/seo-readiness-phase6-http-smoke.txt

Validation commands observed through Phase 5:6:

npm run type-check
npm run validate:spec
npm run validate:phase2
npm run validate:phase3
npm run validate:phase4
npm run validate:phase5
npm run validate:phase6
npm run build
npm audit --audit-level=high
python3 /tmp/alai/seo-readiness-phase3-smoke.py
python3 /tmp/alai/seo-readiness-phase4-smoke.py
python3 /tmp/alai/seo-readiness-phase5-smoke.py
python3 /tmp/alai/seo-readiness-phase6-smoke.py

Observed results:

  • type-check: PASS
  • validate:spec: PASS
  • validate:phase2: PASS
  • validate:phase3: PASS
  • validate:phase4: PASS
  • validate:phase5: PASS
  • validate:phase6: PASS
  • build: PASS
  • npm audit high threshold: PASS; moderate postcss/next advisory remains and was not force-fixed
  • local HTTP smoke: PASS for /, /partners, /clients/client-demo-nordic-clinic, /clients/client-demo-nordic-clinic/intake
  • Phase 4 local HTTP smoke: PASS for audit detail route /clients/client-demo-nordic-clinic/audits/<auditId>
  • Phase 5 local HTTP smoke: PASS for report detail route /clients/client-demo-nordic-clinic/reports/<reportId>
  • Phase 6 local HTTP smoke: PASS for export detail route /clients/client-demo-nordic-clinic/reports/<reportId>/exports/<exportId>

Non-goals preserved

  • No public deploy.
  • No production auth/session integration.
  • No production database connection or secrets.
  • No Google Search Console or Analytics integration.
  • No paid keyword/SERP API integration.
  • No ranking or traffic claims.

Suggested next phase

Phase 67 should add a local-only export/review workflownotes/approval status for the draft report/backlog,exports, still without external paid APIs or ranking claims.