NEWWorld's first AI visibility audit tool for Web3 is live.Run free audit →
Tutorial 05 · 20 minutes setup, 30 days running · AEO tracking

Track AI citation rate over 30 days.

Once you have shipped the schema fixes and the robots.txt change, you need a way to track whether AI engine cite rates actually improve. This tutorial sets up a 30-day citation-rate tracking workflow using the AI Citation Checker and a simple spreadsheet. By the end, you have a defensible trend line you can show to stakeholders.

// Why a 30-day window

AI engines update their corpus on weekly to monthly cycles.

Citation lift from any single deploy takes 7-14 days to materialize in ChatGPT, Perplexity and Claude on average. A 30-day window captures most of the lift while still feeling tractable. Shorter windows produce noisy readings; longer windows make attribution to specific deploys harder. 30 days is the sweet spot Crawlux uses internally and what the audit corpus is calibrated against.

// Step 1 of 5

Build your prompt set.

Define 10-15 prompts you would want AI engines to cite your site for. Mix three categories:

  • Direct project queries. "What is [your project]?" or "How does [your token] work?" These should cite you reliably. If they do not, something is fundamentally broken.
  • Category queries. "Best [category] protocols 2026" or "Comparison of [category] providers." These should occasionally cite you if your AEO is strong. Most projects underperform here.
  • Adjacent topic queries. "How does [feature] work in [broader category]?" These should cite you if your content depth is good. Long-tail proof-of-expertise.

// Step 2 of 5

Set up the tracking spreadsheet.

Create a simple sheet with these columns: Date, Prompt, ChatGPT cite (yes/no), Perplexity cite (yes/no), Claude cite (yes/no), Notes. Each row is one prompt-engine combination measured on one date. For a 15-prompt set across 3 engines, each weekly run produces 45 rows.

tracker.csv
date,prompt,engine,cited,notes
2026-05-30,what is example protocol,ChatGPT,yes,full URL cited
2026-05-30,what is example protocol,Perplexity,yes,partial cite
2026-05-30,what is example protocol,Claude,no,paraphrased without source
2026-05-30,best DeFi lending 2026,ChatGPT,no,
2026-05-30,best DeFi lending 2026,Perplexity,no,
2026-05-30,best DeFi lending 2026,Claude,no,

// Step 3 of 5

Run the prompt set weekly.

Use AI Citation Checker with your custom prompt set. The tool runs all three engines in parallel and returns cite/no-cite per engine per prompt with the full output excerpt. Copy the results into your tracker. Schedule the run weekly on the same day for consistency (Monday morning works for most teams).

If you run on Crawlux Pro, the AI Visibility audit module runs this same prompt set automatically every audit and tracks the cite rate over time in the dashboard. Free-tier users can replicate with the AI Citation Checker + spreadsheet workflow described here.

// Step 4 of 5

Read the trend line at day 30.

After four weekly runs, you have 4 data points per prompt-engine combination. Calculate weekly cite rate = cited / total per week. Plot it on a simple line chart. Look for three patterns:

  • Sustained climb. Cite rate week-over-week trending up. This means the schema and AEO fixes are working. Document the lift in points.
  • Plateau. Cite rate flat. The fixes either did not take effect or are not the right ones for your category. Time to re-audit and identify next priorities.
  • Regression. Cite rate declining. Something deployed in the last 30 days broke the citation surface. Roll back, identify the deploy, fix forward.

// Step 5 of 5

Attribute lifts to specific deploys.

Annotate your trend chart with deploy dates. When you shipped FinancialProduct schema (Tutorial 02), mark the date. When you shipped robots.txt changes (Tutorial 03), mark the date. When you added E-E-A-T schema (Tutorial 04), mark the date. The lift between deploys tells you which fix moved which engine the most.

Typical patterns across the Crawlux corpus: robots.txt changes show fastest lift (3-9 days), schema changes show medium-speed lift (7-14 days), E-E-A-T changes show slowest lift (14-21 days). Attribution becomes obvious once the dates are mapped against the curve.

// After this tutorial

What to do next.

  • If you want automated tracking integrated into your deploy pipeline, run Tutorial 07.
  • If your cite rate plateaued, run a fresh audit and pick the next top-3 findings: see Tutorial 01 for the prioritization workflow.

// Related

More reading.

FREE WEB3 AUDIT

Run a free Crawlux audit and apply this tutorial.

Run a free Crawlux audit and follow the tutorial sequence start to finish.

Free first audit · No signup · 60 seconds · Full PDF report

After state (what good looks like)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [".faq-answer", ".quick-answer"]
  },
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Is Aave safe to use?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Aave has been audited 12+ times..."
      }
    }
  ]
}
</script>

How to validate the fix

Common pitfalls

Pitfall

Adding Speakable without FAQPage

Speakable can be added to Article or other types but works best paired with FAQPage. If your page doesn't have FAQPage yet, add it first. Speakable on a bare HTML page does little.

Pitfall

CSS selector that doesn't exist

If cssSelector points to .faq-answer but your DOM uses .accordion-content, Speakable resolves to nothing. Always validate that the selector actually matches DOM elements.

Pitfall

Pointing Speakable at the entire page

Don't use cssSelector: ["body"] or similar broad selectors. Speakable should point to specific answer-bearing elements. Broad selectors get ignored by parsers.

Pitfall

Speakable on pages without good answers

Speakable amplifies what's on the page. If your answers are vague or marketing-driven, Speakable amplifies vagueness. Make sure FAQ answers are concrete before adding Speakable.

Pitfall

Forgetting to update Speakable when content changes

If you redesign your FAQ block and change the class names, update the Speakable cssSelector. Stale selectors become invisible.

If something breaks: rollback

Remove the speakable property from FAQPage schema. Page falls back to regular FAQPage behavior within minutes. Citation rate may regress but no risk to site functionality.

Run a free Crawlux audit

Crawlux validates the schema, technical and AEO fixes from this tutorial automatically. Free tier on one domain.

Run free audit →

FAQ

Does Speakable work outside FAQPage?

Yes. Speakable can be added to Article, BlogPosting, NewsArticle and most schema types. The pattern is the same: SpeakableSpecification with cssSelector or xpath pointing to the most-quotable sections of the page.

Will Speakable affect Google rich results?

Speakable isn't in Google's primary rich result types yet but it's parsed and used for voice answers. The main beneficiary is AI engines (ChatGPT, Perplexity, Claude) which weight Speakable-marked content higher for citations.

Can I use Speakable for marketing copy?

Technically yes but it backfires. AI engines extract Speakable content verbatim. If your marketing copy is promotional, AI engines may extract it but flag it as biased. Use Speakable for factual answers, not marketing claims.

How specific should cssSelector be?

Specific enough to match only the answer-bearing elements. .faq-answer is good. .content is too broad. Use class names dedicated to the answer sections, not generic content classes.

Does Speakable have a length limit?

No formal limit but practical limit is 1-3 sentences per Speakable section. AI engines extract these as direct answers; longer than 3 sentences typically gets truncated. Optimize answers to 1-3 sentences for best extraction.

Related tutorials

Pillar guides

Audit modules

RUN YOUR FIRST AUDIT

Run the tutorial against a real audit.

Get a free Crawlux audit report and use it as the baseline for the work in this tutorial.

Free first audit · No signup · 60 seconds · Full PDF report

Audit this fix → Free audit