The most common AEO advice on LinkedIn and in conference decks:
"If we add structured schema, AI search engines will detect it and we'll win citations."
Wrong, for the most part. But it's complicated.
Save yourself 5 mins of reading
I was auditing a page for a client, Apartment List.
Finding: The page does have schema (structured data) and even serves it to AI crawlers.
Surprise: Leading AI answer engines (ChatGPT, Perplexity, Claude) still tend to report "no usable schema" and don't cite the page from that schema.
Why: Many AI systems either ignore <script> tags (where schema lives) or don't trust/parse the schema they do see. They prefer short, visible sentences and simple tables in the HTML body.
Solution: Make the page self-describing in raw HTML first (answer cards + anchors + tight tables). Keep schema as a mirror of those facts—not a crutch.
Hey, I'm Sam. I've helped companies from startups to billion-dollar enterprises (Ramp, Bolt.eu, Apartment List) optimize for AI search engines. This case study comes from a page audit I conducted for Apartment List that challenges conventional AEO wisdom.
The Test
What we tested
"Adding structured data (schema) should result in AI search engines detecting and citing our content."
This belief drives most enterprise SEO (and AEO) strategies today.
Test Subject
URL: apartmentlist.com/ca/san-francisco/fillmore-center
A rich property listing with pricing, availability, amenities, fees, policies, FAQs.
Method
- Google Rich Results Test: Confirms schema appears valid (Google renders JS).
- Raw-HTML user-agent test: We fetched the page exactly as AI crawlers would and searched for JSON-LD in the HTML.
- AI system checks: Tested with ChatGPT-5 (Pro, Fast, and Thinking modes), Claude-Sonnet-4, Claude-Opus-4.1, and multiple Perplexity variations. Result: "schema not detected / not used."
Results
Status Codes
- Default UA → 200 OK
- GPTBot → 200 OK
- PerplexityBot → 200 OK
- ClaudeBot → 200 OK
JSON-LD Presence
- Default UA → 2 matches
- GPTBot → 2 matches
- PerplexityBot → 2 matches
- ClaudeBot → 2 matches
File Sizes (bytes)
- Default: 343,409
- GPTBot: 341,839
- Perplexity: 341,839
- Claude: 343,409
Conclusion:
The site IS serving JSON-LD (schema) to AI crawlers. This is not a bot-blocking or UA-gating issue.
Why AI Tools Still Fail to Use the Schema
What's Actually Happening
- Where schema lives: In <script type="application/ld+json"> tags.
- What AI systems do: They strip out <script> tags when making text snapshots.
- Even when not stripped: They fail to parse big/minified graphs or non-standard nesting.
- Net effect: Your schema can be present and valid, but not used for answers or citations.
Practical Reasons
Speed/Cost
Rendering and parsing scripts at scale is expensive.
Safety
Scripts can be abused; many pipelines drop them.
Trust
When visible text conflicts with schema, systems prefer visible text.
Training Bias
Models prefer human-visible, machine-parsable passages.
Bottom line: Schema helps Google Search; AI answer engines quote visible text. Note: This could change. AI systems evolve rapidly, and what's true today might not be tomorrow.
The Solution: Make Pages Answer Themselves
1. Answer Cards
Put canonical facts in short, visible sentences at the top of each section:
These one-liners are what get quoted and cited.
2. Anchored Structure
Use stable IDs and clean headings so engines can deep-link passages:
<section id="availability"> <h2>Availability</h2> <p class="answer-card">20 units available today. Studios from $3,009/mo.</p> </section> <section id="fees"> <h2>Fees & Deposits</h2> <p class="answer-card">Application $51; holding $500; security $1,000–$2,500.</p> <table> <tr><th>Application</th><td>$51</td></tr> <tr><th>Holding deposit</th><td>$500</td></tr> <tr><th>Security deposit</th><td>$1,000–$2,500</td></tr> </table> </section>
3. Specific FAQs
Replace generic questions with precise, numeric answers:
Instead of: "Are units available?"
Use: "Yes—20 units today; studios start at $3,009."
Instead of: "What are the fees?"
Use: "Application $51; holding $500; security $1,000–$2,500."
Instead of: "Do you allow pets?"
Use: "Cats & dogs, 2 max, ≤70 lb; deposit $750; monthly $100."
4. Mirror Schema to Visible Content
Keep schema, but make it exactly match the visible text:
View example JSON-LD (click to expand)
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "Do you have units available?", "acceptedAnswer": { "@type": "Answer", "text": "Yes—20 units today; studios start at $3,009." } }] }
Common Failure Modes
→ Pick one canonical value everywhere
→ Use ApartmentComplex, Offer, FAQPage
→ Keep it compact and readable
→ Put facts in visible text first
How to Verify Your Changes
- Test crawler access:
curl -A "GPTBot" https://yoursite.com | grep 'application/ld+json'
- Strip scripts test: Remove all <script> tags and verify the page still has all key facts
- Check anchors: Ensure #availability, #fees, #pet-policy exist with answer cards
- Validate schema: Ensure schema text matches visible text exactly
- AI tool test: Ask ChatGPT/Perplexity to summarize your page and check citations
Action Items for Your Site
- Add concise answer cards at the top of each section with key facts
- Create section anchors for deep-linking (#pricing, #features, #policies, etc.)
- Convert complex information into simple, scannable tables
- Audit for contradictions between different parts of your content
- Ensure your JSON-LD exactly mirrors visible page content
- Test your pages with AI tools to verify they can extract your key information
The Fair Rebuttal
"This is one page, one vertical, one moment in time. You're right about THIS case, but overgeneralizing. Schema helps sometimes (Google AI Overviews, voice search), just not as much as people think. The smart play is both/and, not either/or."
— Schema advocates or the consultant upselling you (and me playing devil's advocate)
My response: You're not wrong about edge cases and future potential, but you're missing the point about resource allocation and ROI today.
If you're spending thousands on schema consultants or ripping up your SEO strategy for "AI optimization," pause. Make your pages answer themselves first. Add schema second. The visible HTML is doing 90% of the work—schema is the remaining 10% that might matter someday.
"Stop adding schema to win AI citations. Start making your pages answer themselves."
AI engines quote what humans see, your schema will confirm it.