> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rankforce.co/llms.txt
> Use this file to discover all available pages before exploring further.

# AEO Schema Agent: structured data for answer engines

> Rankforce's AEO Schema Agent generates and injects FAQ, HowTo, and JSON-LD structured data so your content wins answer-engine placements and rich results.

Answer Engine Optimization (AEO) is the practice of structuring your content so that search engines and AI assistants can extract and surface it as a direct answer. Structured data — specifically JSON-LD schema markup — is the most reliable mechanism for communicating to answer engines that your page contains an authoritative FAQ, a step-by-step guide, or another content type that deserves a rich result placement. The Rankforce AEO Schema Agent identifies every page on your site that could benefit from schema markup, generates the correct JSON-LD, and injects it for you without requiring any manual code editing.

## Why structured data matters

When Google, Bing, or an AI assistant processes your page, it reads both your visible content and any machine-readable signals you've embedded. JSON-LD schema tells the engine unambiguously: "this block of content is a FAQ," or "these numbered steps are a how-to guide." That signal makes your content eligible for rich result formats — expanded SERP cards, voice answer readings, and AI Overview citations — that plain unstructured content cannot earn.

Pages with valid FAQ schema are eligible for accordion-style rich results in Google Search. Pages with valid HowTo schema can appear with step-by-step carousels on mobile. Both schema types also increase the probability that an AI engine will quote your content, because the structured format makes individual answers trivially easy to extract.

<Note>
  Schema markup does not guarantee a rich result. Google and other engines reserve the right to display rich results at their discretion. However, valid, relevant schema is a necessary precondition — without it, rich results are impossible for that page.
</Note>

## What the AEO Schema Agent does

The agent performs three core functions on every crawl cycle:

<CardGroup cols={3}>
  <Card title="Schema opportunity detection" icon="magnifying-glass">
    Scans your content for FAQ sections, numbered step sequences, definition lists, and question-format headings that indicate schema potential.
  </Card>

  <Card title="JSON-LD generation" icon="code">
    Drafts complete, valid JSON-LD for each identified opportunity, populated with the actual content from your page.
  </Card>

  <Card title="Schema injection" icon="bolt">
    On approval, injects the JSON-LD into the `<head>` of the relevant page via the Rankforce CMS plugin, without touching your visible page content.
  </Card>
</CardGroup>

## How the agent identifies schema opportunities

During each crawl, the agent looks for the following content patterns:

* **Question-format headings** — H2 or H3 headings phrased as questions (e.g., "How long does onboarding take?") are strong candidates for FAQ schema
* **Numbered lists** — Ordered lists with three or more steps are candidates for HowTo schema, especially when each item contains an action verb
* **Definition sections** — Content that defines a term and then elaborates on it may qualify for DefinedTerm or Article schema
* **Page-level signals** — Support pages, pricing pages, and product pages are systematically evaluated for FAQ potential based on their category, regardless of heading phrasing

The agent scores each opportunity by estimated rich-result impact and surfaces the highest-value suggestions first in your AEO inbox.

## FAQ schema: example

When the agent detects a FAQ section, it generates a complete `FAQPage` JSON-LD block containing each question-and-answer pair. Below is an example of what an approved FAQ schema injection looks like.

```json theme={null}
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does it take to set up Rankforce?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Most sites are fully connected and running their first agent crawl within 15 minutes. You install the Rankforce plugin from the WordPress plugin directory or the Framer marketplace, authenticate with your Rankforce account, and the initial crawl begins automatically."
      }
    },
    {
      "@type": "Question",
      "name": "Does Rankforce work with Yoast SEO?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Rankforce integrates directly with Yoast SEO, reading and updating your SEO title, meta description, and focus keyword. Approved changes appear in your Yoast dashboard immediately."
      }
    },
    {
      "@type": "Question",
      "name": "Can I undo a change the agent made?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Every change Rankforce applies is logged in the History view. You can revert any individual change within 30 days by clicking Undo next to the relevant history entry."
      }
    }
  ]
}
```

The agent extracts question text from your heading elements and answer text from the paragraph or list immediately following each heading. You can edit both the question and answer text before approving.

## HowTo schema: example

When the agent detects a numbered step sequence, it generates a `HowTo` JSON-LD block with each step mapped to a `HowToStep` object. Below is an example.

```json theme={null}
{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How to connect Rankforce to your WordPress site",
  "description": "Follow these steps to install the Rankforce plugin and run your first SEO audit in under 15 minutes.",
  "totalTime": "PT15M",
  "step": [
    {
      "@type": "HowToStep",
      "position": 1,
      "name": "Install the Rankforce plugin",
      "text": "Log in to your WordPress admin panel, navigate to Plugins → Add New, and search for 'Rankforce'. Click Install Now, then Activate."
    },
    {
      "@type": "HowToStep",
      "position": 2,
      "name": "Authenticate your account",
      "text": "In your WordPress sidebar, click Rankforce → Settings. Enter your Rankforce API key, which you can find under Account → API in your Rankforce dashboard, and click Connect."
    },
    {
      "@type": "HowToStep",
      "position": 3,
      "name": "Run your first crawl",
      "text": "Navigate to Rankforce → Agents → SEO Optimization and click Run crawl now. The initial crawl typically completes within 5–10 minutes depending on your site size."
    }
  ]
}
```

The agent populates `name`, `text`, and `position` for each step automatically from your numbered list content. The `totalTime` field is left blank by default and can be filled in during the review step.

<Tip>
  For HowTo schema to be eligible for rich results, Google requires that each step contains a meaningful description — not just a one-word label. The agent flags steps that are too short and suggests expanded text before you approve.
</Tip>

## How to review, edit, and approve schema suggestions

<Steps>
  <Step title="Open the AEO inbox">
    Navigate to **AEO → Recommendations** in the Rankforce dashboard. Each card shows the page URL, schema type, and a preview of the generated JSON-LD.
  </Step>

  <Step title="Review the generated schema">
    Expand the card to view the full JSON-LD. Check that question text, answer text, and step descriptions accurately reflect your page content. Pay particular attention to answer length — answers that are too brief may not display fully in rich results.
  </Step>

  <Step title="Edit if needed">
    Click **Edit schema** to open the inline JSON editor. You can modify any field value directly. The editor validates your JSON in real time and highlights any syntax errors before you save.
  </Step>

  <Step title="Approve and inject">
    Click **Approve** to inject the schema into the page's `<head>`. Rankforce writes the JSON-LD as a `<script type="application/ld+json">` tag. The injection is non-destructive — your visible page content is unchanged.
  </Step>

  <Step title="Verify in Rich Results Test">
    After approval, click **Test in Rich Results Test** on the confirmation screen. This opens Google's Rich Results Test tool pre-loaded with your page URL so you can confirm the schema is valid and eligible for rich result features.
  </Step>
</Steps>

## Verifying schema with Google's Rich Results Test

Google's Rich Results Test is the authoritative tool for confirming that your JSON-LD is syntactically valid and eligible for display. After the AEO agent injects schema on any page, you should verify it manually at least once.

<Steps>
  <Step title="Open the Rich Results Test">
    Go to [search.google.com/test/rich-results](https://search.google.com/test/rich-results) in your browser, or click the **Test in Rich Results Test** shortcut directly from your AEO approval confirmation screen.
  </Step>

  <Step title="Enter your page URL">
    Paste the full URL of the page where schema was injected and click **Test URL**.
  </Step>

  <Step title="Review the results">
    The tool shows which rich result types were detected (e.g., FAQPage, HowTo), whether any errors or warnings are present, and a preview of how the rich result may appear in search.
  </Step>

  <Step title="Fix any errors">
    If the tool reports errors, return to **AEO → History**, click the relevant entry, and use **Edit & re-inject** to correct the schema. Common errors include answer text that is too short, missing required fields, or stale content that no longer matches the live page.
  </Step>
</Steps>

<Warning>
  Rich Results Test results reflect the schema at the time of the test. If you update your page content after schema is injected, the agent will flag the schema as potentially stale on its next crawl and prompt you to review and re-inject with updated content.
</Warning>

<Accordion title="What other schema types does the agent support?">
  In addition to FAQPage and HowTo, the AEO Schema Agent supports **Article**, **BreadcrumbList**, **Product**, and **LocalBusiness** schema types. These are generated automatically when the agent detects the appropriate page context — for example, Product schema is generated for WooCommerce product pages detected during the crawl. Support for **Event** and **Recipe** schema is on the roadmap for Q3.
</Accordion>

<Accordion title="Will the injected schema conflict with schema already on my site?">
  The agent checks for existing JSON-LD of the same type before injecting. If a FAQPage schema block already exists on a page, the agent proposes an update to the existing block rather than adding a duplicate. If you are using a plugin that also generates schema (such as Rank Math's schema module), Rankforce will detect this and ask you to designate one source of truth to prevent conflicts.
</Accordion>
