All client SEO dataSites, providers, approvals, and reports are workspace scoped.
Auth requiredmicro_seo:paid pending
Support checklist
Live backend disconnectedConfigure MICRO_SEO_BACKEND_URL

Set MICRO_SEO_BACKEND_URL to enable live session, billing, provider, site, and job state branches.

Reports12Generated this quarter
Applied Wins47Included in client summaries
ExportsPDFCSV and share links next
White LabelAgencyPlan-gated capability
Report readinessReady after paid auth

Exports depend on authenticated workspace scope, paid entitlement, connected site data, and verified applied changes.

Export weekly wins or monthly performance
Evidence policyNo hallucinated wins

Client summaries must cite provider metrics, approval history, execution status, backlinks, or verification results.

Attach evidence to every claim
Support pathSetup blockers visible

Missing providers, plugin disconnects, failed verification, and entitlement errors route users to setup/support actions.

Open setup/support checklist

Production UI states

Readiness states to preserve when live APIs are connected

Design contract

These shared states document the user-facing contract for loading, empty, error, auth, provider, plan, sandbox, verification, and rollback paths before static scaffold screens are wired to live data.

Data lifecycle states

Every route should show users whether data is loading, absent, unavailable, or blocked by access.

loadingLoading

Skeleton cards and tables while provider, workspace, or report data is syncing.

All dashboard and module routes
emptyEmpty

First-run workspace guidance when no sites, providers, opportunities, approvals, backlinks, or reports exist.

Sites, integrations, opportunities, approvals, BacklinkBase, AI visibility, reports
errorError + retry

Recoverable provider/API failures with retry copy and support-safe diagnostics.

All provider-backed routes
unauthorizedUnauthorized

Backend-core session, workspace membership, and role denial states before showing SEO data.

All workspace-scoped routes

Commercial and provider states

Provider health, plan gates, sandbox boundaries, and entitlement limits must be visible before users can act.

disconnected_providerDisconnected provider

Google, WordPress, GitHub, Vercel, DataForSEO, and BacklinkBase disconnect/expired/rate-limited states.

Integrations plus dependent module routes
plan_limitPlan limit

Starter/Pro/Agency gates for sites, reports, provider syncs, users, credits, and automation rules.

Sites, reports, BacklinkBase, approvals, integrations
sandboxSandbox

BacklinkBase and destructive writes must identify sandbox versus production execution before approval.

BacklinkBase, approval queue, technical execution

Execution safety states

Approval, verification, and rollback states should stay visible through the full SEO change lifecycle.

verification_failedVerification failed

Applied changes that did not verify on preview/live HTML need retry and rollback affordances.

Approval queue, technical SEO, schema, WooCommerce SEO, reports
rollback_availableRollback available

WordPress snapshots, GitHub PR reversions, and backlink audit trails must stay tied to an approved action.

Approval queue, WordPress plugin actions, reports

Reports queue

Current work

PriorityEntitySignalExecutorImpact
MonthlyOrganic performanceClicks, impressions, CTR, rankingsPDFClient report
WeeklySEO winsChanges applied and verifiedShare LinkStakeholder update
CampaignBacklinks purchasedCredits, targets, resultsCSVAudit trail

Evidence

Reports should not hallucinate

Every claim should be backed by stored metrics, applied changes, provider status, or verification results.

Agency

Client portal ready

Reports are designed for agency-client workflows with approvals and audit history.