Recommendations Engine

After every audit, a fixed set of rules reads the results and writes recommendations: what to change, where, why, and how much work it is. The engine is deterministic and makes no model calls, so the same audit always produces the same list. Recommendations are on every plan; the step-by-step "How to fix" guide on each card is on Starter ($49/mo) and above.

Pipeline

  1. Every rule runs against the audit: answers, scores, accuracy flags, citations, the crawler access check, and Google data where the plan includes it.
  2. Duplicates are removed by normalised title.
  3. Each category keeps at most 2 items, or 5 when they are critical or high priority.
  4. Items are sorted by priority and the top 15 are kept.
  5. An item whose title matches a recommendation still open from an earlier audit of the brand is dropped, so open work is not repeated.

Fields

FieldValues
categoryvisibility_gap, accuracy, platform_specific, competitor, content_structure, schema, freshness, eeat, quick_win
prioritycritical, high, medium, low
effortlow ("~30 min"), medium ("1-2 hours"), high ("3+ hours")
title, action, whyText. action is the fix; why is what the audit found.
target_urlThe page the fix applies to, when known.
completed, completed_atDone state. There is no dismissed state.

Category labels on the cards: Visibility Gap, Accuracy, Platform, Competitor, Content Structure, Schema Parity, Freshness, Corroboration (eeat) and Quick Win.

Rules

RuleFires whenCategoryPriority
Crawler accessA retrieval crawler is blocked by robots.txt; robots.txt itself errors; a firewall blocks a crawler robots.txt allows; a page is suppressed (noindex, nosnippet); training-only crawlers are blocked.visibility_gap, platform_specific, content_structurecritical to low
Visibility gapNo platform named the brand for a prompt; some did and some did not; the overall score is very low; every query errored.visibility_gapcritical, high
Accuracy fixAn answer contradicts a brand fact. Wrong prices and contradicted claims rank highest; a claim no fact covers is a low-priority prompt to add that fact.accuracycritical to low
QuotabilityPlatforms with retrieval name the brand but cite other sites for its facts.content_structurehigh
Off-site mentionsAnswers cite third-party pages for the brand's prompts and never the brand's own domain.competitorhigh
Retrieval gapA platform without retrieval names the brand, but platforms with retrieval do not, for the same prompt. The action is to check rendering and crawler access.content_structurehigh
Platform-specificA platform scored 0, or far below the overall score. A brand founded after a model's training cutoff is told so instead.platform_specifichigh to low
Competitor gapThe first tracked competitor is named in at least 20 points more of the answers than the brand, appears on prompts no answer names the brand for, or is named in at least 30 points more of one platform's answers. Both sides are mention rates over the same answers.competitorcritical to medium
Estimated demandA prompt our wording heuristic rates high or medium on estimated demand has low or no visibility; a comparison prompt has under half visibility. The estimate is read from the prompt's wording, not measured, and fixes label it "Estimated demand".visibility_gap, quick_win, content_structurecritical to medium
Topic clustersPhrases shared by at least two prompts: confirm one page per topic. Candidate pages come from the prompts no answer names the brand for.content_structuremedium
Quick winMentions are mostly single, passing ones; the overall score is low (suggests one page of checkable company facts).quick_winhigh, medium
Schema parityA JSON-LD block does not parse; a fact in the markup is missing from visible text. No markup at all is reported as optional, not a gap.schemamedium, low
llms.txtThe site has no /llms.txt. Reported as optional documentation for AI agents, at low priority.content_structurelow
Contact and authorshipThe homepage links to no About or Contact page; an article page has no named author.content_structurelow
Search dataNeeds Google data (Starter+ for positions, Growth+ for backlinks): ranks on Google but not in answers; in answers but not on Google; visible nowhere; broken backlinks; a backlink estimate shown for reference. A Google lookup that failed is left out, not read as "not ranking".visibility_gap, quick_win, competitorhigh to low
FreshnessAn answer repeats a fact that is out of date, such as a former owner or a former chief executive, as the accuracy check reads it.freshnessmedium

What the engine will not tell you

Structured data, a "domain authority" figure and author bylines are not AI ranking levers, and no rule presents them as one. Google states that no special schema is needed for its AI features, and a matched-control test found AI Overview citations fell 4.6% after schema was added (Ahrefs, 1,885 pages, 2026-05-11). Schema items check that markup agrees with the page; the backlink item is labelled a third-party estimate.

The levers with documented mechanisms are access-level: crawler permission, firewall reachability, server-rendered facts and snippet controls. Those rules carry the highest priorities.

Marking work done

Each card has a round check button that sets completed. Agent V can also mark an item done, after you confirm. Completed items stay listed under the Done filter.

Too many fixes to choose from? Don't know which fix to do first gives an order of work.