The Fix Queue and One-Click Fix

The fix queue is the single source of truth for "what needs to happen on this store." Every issue RankEngine finds becomes a row.

Statuses

pending → in_progress → completed (verified | unverified | verification_failed) | failed
  • pending — found by a scan; not yet attempted.
  • in_progress — fix is being applied (Shopify mutation in flight).
  • completed + verified — Shopify confirmed the change. The cached value matches what the API returned.
  • completed + unverified — applied but RankEngine can't verify (e.g. AEO theme assets — verification not yet implemented).
  • completed + verification_failed — Shopify accepted the mutation but the value didn't match what we sent. Re-runs in next rescan.
  • failed — the fix path errored. Look at the row's error for context.

Two ways to apply

Manual: edit + save

Edit the meta title/description inline on the On-Page list. Click Save. Verifies before flipping to "completed" — no optimistic UI.

One-Click Fix

  • Per-row: AI Optimize button on any On-Page row. Cost: ~$0.01.
  • Per-page: "Auto-fix this page" on any detail page. Cost: ~$0.01-0.05.
  • Bulk: "Push to Score 100" on the On-Page hero. Pre-flight cost preview shows the exact total before you confirm.

Why a cost preview?

AI calls cost real money. Phase 110 introduced the cost preview gate so a single click can never burn $5 you didn't expect.

The preview shows:

  • Per-task type (alt text, meta title, body content, image generation)
  • Wallet balance vs estimated cost
  • Wallet-low? You see a 402 with "Top up wallet" CTA — never a partial-failure batch.

What gets fixed automatically

Items with autoFixable: true in the issue list. Includes:

  • Missing meta titles / descriptions
  • Image alt text (vision-AI)
  • Thin body content (RankEngine keyword research + AI body expansion)
  • Missing JSON-LD schema
  • Missing llms.txt / agent.json (theme assets)
  • Long URL handles (with auto-301 redirect)
  • Duplicate titles / descriptions

What needs your input

Items with autoFixable: false. Common ones:

  • Multiple H1s on a page (theme-template issue)
  • Heading hierarchy skips (theme-template issue)
  • Focus keyword not in URL (URL changes are destructive)
  • "No images" on a product (you decide which images to add)

Each manual item has a deep-link straight to the right Shopify admin page.

Verification deep-dive

After every fix mutation, RankEngine calls back to Shopify and re-fetches the resource. The cached store_resources row is updated with the actual value Shopify returned, not the value we sent. This catches:

  • Shopify rejecting the mutation silently (with userErrors).
  • Concurrent edits by another user / app.
  • Shopify URL handle conflicts (auto-resolved with a numeric suffix).

If verification fails, the fix gets marked verification_failed and re-tried on the next rescan. The merchant-facing UI never optimistically claims "fixed" until verified.

Related