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.

Pages Crawled1,482Rendered frontend HTML
Indexable96%Safe robots/canonical state
Broken Links18Internal links to repair
Schema Errors9JSON-LD parse failures

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

Technical SEO queue

Current work

PriorityEntitySignalExecutorImpact
CriticalCanonical helperCMS URL rendered on frontendGitHub PRIndexing cleanup
HighProduct templateMissing OpenGraph imageGitHub PRShare preview quality
MediumSitemap3 stale category URLsGitHub PRCrawl hygiene

Headless rule

Validate what Google sees

Technical SEO checks use rendered frontend HTML for Astro/Next.js, not only WordPress source data.

Verification

Preview then production

PR jobs verify preview deploys first, then production after merge.