[{"data":1,"prerenderedAt":5278},["ShallowReactive",2],{"learn-geo-index-en":3},[4,236,490,641,779,910,1048,1244,1465,1595,1918,2071,2306,2437,2575,2787,3061,3332,3817,4192,4320,4797,5065],{"id":5,"title":6,"body":7,"description":194,"extension":195,"meta":196,"navigation":229,"path":230,"seo":231,"stem":234,"__hash__":235},"content_en/5.learn/geo/ai-bot-access.md","AI Bot Access via robots.txt",{"type":8,"value":9,"toc":187},"minimark",[10,23,28,34,43,46,86,90,101,111,117,121,158,162],[11,12,13,17,18,22],"p",{},[14,15,16],"strong",{},"TL;DR"," — A page blocked in ",[19,20,21],"code",{},"robots.txt"," cannot be cited by AI engines — ever, regardless of content quality. Several major sites blocked AI bots reactively in 2023–24 without realising the consequence: they became invisible to AI-generated answers.",[24,25,27],"h2",{"id":26},"why-ai-bot-access-matters","Why AI Bot Access Matters",[11,29,30,31,33],{},"A page that is blocked in ",[19,32,21],{}," for AI crawlers cannot be cited in AI-generated answers — full stop. No amount of schema markup, FAQ blocks, or authority references will help if the crawler cannot access the page in the first place. Bot access is the zero-th condition that all other GEO signals depend on.",[11,35,36,37,39,40,42],{},"In 2023–24, many publishers and websites added AI-specific blocks to their ",[19,38,21],{}," reactively — often in response to concerns about training data usage. The consequence, which many did not anticipate, was immediate exclusion from AI engine citation pools. Perplexity, ChatGPT's browsing mode, and Google AI Overviews all respect ",[19,41,21],{}," directives and will not cite pages that disallow their crawlers.",[11,44,45],{},"The key AI crawler user agents to know:",[47,48,49,56,62,68,74,80],"ul",{},[50,51,52,55],"li",{},[19,53,54],{},"GPTBot"," — OpenAI's crawler (used for training and real-time browsing)",[50,57,58,61],{},[19,59,60],{},"ClaudeBot"," — Anthropic's crawler",[50,63,64,67],{},[19,65,66],{},"anthropic-ai"," — Anthropic's alternate user agent",[50,69,70,73],{},[19,71,72],{},"PerplexityBot"," — Perplexity's crawler",[50,75,76,79],{},[19,77,78],{},"Amazonbot"," — Amazon's crawler (Alexa/Rufus)",[50,81,82,85],{},[19,83,84],{},"Google-Extended"," — Google's crawler for Gemini and AI Overviews training data",[24,87,89],{"id":88},"how-to-implement","How to Implement",[11,91,92,93,96,97,100],{},"Check your ",[19,94,95],{},"/robots.txt"," for any ",[19,98,99],{},"Disallow"," rules targeting these agents. To explicitly allow AI crawlers:",[102,103,108],"pre",{"className":104,"code":106,"language":107},[105],"language-text","User-agent: GPTBot\nAllow: /\n\nUser-agent: ClaudeBot\nAllow: /\n\nUser-agent: anthropic-ai\nAllow: /\n\nUser-agent: PerplexityBot\nAllow: /\n\nUser-agent: Amazonbot\nAllow: /\n\nUser-agent: Google-Extended\nAllow: /\n","text",[19,109,106],{"__ignoreMap":110},"",[11,112,113,114,116],{},"If you want to allow crawling but opt out of training data usage, check each provider's specific opt-out mechanism — some support ",[19,115,99],{}," with specific path patterns or separate configuration files.",[24,118,120],{"id":119},"common-mistakes","Common Mistakes",[47,122,123,140,149],{},[50,124,125,132,133,136,137,139],{},[14,126,127,128,131],{},"Blanket ",[19,129,130],{},"Disallow: /"," applied to all bots"," — a catch-all wildcard block (",[19,134,135],{},"User-agent: *"," with ",[19,138,130],{},") blocks AI crawlers along with all other bots",[50,141,142,145,146,148],{},[14,143,144],{},"Blocking at the CDN/WAF level"," — Cloudflare and AWS WAF bot management may block AI crawlers independently of ",[19,147,21],{},"; check your firewall rules",[50,150,151,157],{},[14,152,153,154],{},"Only checking for ",[19,155,156],{},"Googlebot"," — verifying Googlebot access doesn't mean AI-specific crawlers are permitted; check each agent separately",[24,159,161],{"id":160},"sources","Sources",[47,163,164,173,180],{},[50,165,166],{},[167,168,172],"a",{"href":169,"rel":170},"https://platform.openai.com/docs/gptbot",[171],"nofollow","OpenAI GPTBot documentation",[50,174,175],{},[167,176,179],{"href":177,"rel":178},"https://www.anthropic.com/research/crawling-policy",[171],"Anthropic crawling policy",[50,181,182],{},[167,183,186],{"href":184,"rel":185},"https://developers.google.com/search/docs/crawling-indexing/robots/intro",[171],"Google robots.txt specification",{"title":110,"searchDepth":188,"depth":188,"links":189},2,[190,191,192,193],{"id":26,"depth":188,"text":27},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Allowing AI crawlers (GPTBot, ClaudeBot, PerplexityBot) to index and cite your content.","md",{"publishedAt":197,"badge":198,"type":200,"faq":201,"related":211,"cta":224},"2026-03-31",{"label":199},"Authority","guide",[202,205,208],{"question":203,"answer":204},"If I block AI bots from training data, will they still cite my pages?","It depends on the crawler. OpenAI's GPTBot is used for both training AND real-time browsing in ChatGPT. Blocking GPTBot prevents both. Some providers separate training crawlers from inference crawlers — check each provider's documentation for their specific opt-out paths.",{"question":206,"answer":207},"How do I check which bots are currently blocked on my site?","Access your robots.txt directly at yoursite.com/robots.txt. Look for Disallow rules on User-agent: * (which applies to all bots) and on specific AI crawler agents. Also check your CDN/WAF settings — Cloudflare's Bot Fight Mode and similar tools can block AI crawlers at the network level.",{"question":209,"answer":210},"Should I allow all AI crawlers or only specific ones?","Allow all major AI crawlers unless you have a specific reason to block a particular one. Selective blocking (e.g., allowing Perplexity but blocking GPTBot) is possible but complex to maintain as new AI engines emerge. The default recommendation is to allow all and monitor for content misuse separately.",[212,216,220],{"title":213,"url":214,"description":215},"llms.txt","/learn/geo/llms-txt","The companion file to robots.txt that tells AI engines what your site is about.",{"title":217,"url":218,"description":219},"Content Freshness","/learn/geo/content-freshness","After enabling AI bot access, freshness signals determine citation priority.",{"title":221,"url":222,"description":223},"Schema Markup for AI Engines","/learn/geo/schema-markup","Structured data that AI crawlers read once they have access to your pages.",{"title":225,"description":226,"label":227,"url":228},"Are AI crawlers blocked on your site?","TrustData checks your robots.txt and CDN configuration for AI crawler blocks that make your content invisible.","Audit my pages","https://app.trustdata.tech",true,"/learn/geo/ai-bot-access",{"title":232,"description":233},"AI Bot Access via robots.txt — GEO Optimisation Guide","A page blocked in robots.txt cannot be cited by AI engines. GPTBot, ClaudeBot, and PerplexityBot all respect robots.txt. Verify your site isn't accidentally invisible.","5.learn/geo/ai-bot-access","F2o_iuPg_73Jzz_wILyk_OriU3QwseLtLReMbrQkAuQ",{"id":237,"title":238,"body":239,"description":459,"extension":195,"meta":460,"navigation":229,"path":484,"seo":485,"stem":488,"__hash__":489},"content_en/5.learn/geo/author-attribution.md","Author Attribution",{"type":8,"value":240,"toc":453},[241,246,250,253,256,259,261,280,401,406,408,431,433,449],[11,242,243,245],{},[14,244,16],{}," — AI engines have adopted Google's E-E-A-T signals. Anonymous content is treated as lower-trust. A named author with a linked bio gives the model a named entity to associate with the claim — increasing citability. Healthcare, finance, and legal content without named authors is almost never cited.",[24,247,249],{"id":248},"why-author-attribution-matters-for-ai-engines","Why Author Attribution Matters for AI Engines",[11,251,252],{},"AI engines have incorporated Google's E-E-A-T framework (Experience, Expertise, Authoritativeness, Trustworthiness) into their content quality signals. One of the clearest E-E-A-T signals is authorship: is there a named, credentialed person who takes responsibility for the content?",[11,254,255],{},"Anonymous content — \"Written by the TrustData Team\" or no byline at all — is structurally lower-trust. The model cannot associate the claim with a verifiable human expert. For high-stakes content (health, finance, legal, technical), this is critical: AI engines applying YMYL (Your Money or Your Life) quality filters are significantly less likely to cite anonymous content.",[11,257,258],{},"A named author with a linked bio page creates a named entity association. The model can cross-reference the author's name, job title, and credentials. \"Jane Smith, Head of Marketing at Acme Corp\" is a named entity the model can verify against other sources — LinkedIn, the company's about page, other content they've written. This verification chain is what E-E-A-T is designed to measure.",[24,260,89],{"id":88},[47,262,263,269],{},[50,264,265,266],{},"Visible byline in the page HTML: ",[19,267,268],{},"By \u003Ca href=\"/about/jane-smith\">Jane Smith\u003C/a>, Head of Marketing",[50,270,271,272,275,276,279],{},"Add ",[19,273,274],{},"Person"," schema in the parent ",[19,277,278],{},"Article"," schema:",[102,281,285],{"className":282,"code":283,"language":284,"meta":110,"style":110},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\"author\": {\n  \"@type\": \"Person\",\n  \"name\": \"Jane Smith\",\n  \"url\": \"https://example.com/about/jane-smith\",\n  \"jobTitle\": \"Head of Marketing\"\n}\n","json",[19,286,287,309,333,354,375,395],{"__ignoreMap":110},[288,289,292,296,300,302,306],"span",{"class":290,"line":291},"line",1,[288,293,295],{"class":294},"sMK4o","\"",[288,297,299],{"class":298},"sfazB","author",[288,301,295],{"class":294},[288,303,305],{"class":304},"sTEyZ",": ",[288,307,308],{"class":294},"{\n",[288,310,311,314,318,320,323,326,328,330],{"class":290,"line":188},[288,312,313],{"class":294},"  \"",[288,315,317],{"class":316},"spNyl","@type",[288,319,295],{"class":294},[288,321,322],{"class":294},":",[288,324,325],{"class":294}," \"",[288,327,274],{"class":298},[288,329,295],{"class":294},[288,331,332],{"class":294},",\n",[288,334,336,338,341,343,345,347,350,352],{"class":290,"line":335},3,[288,337,313],{"class":294},[288,339,340],{"class":316},"name",[288,342,295],{"class":294},[288,344,322],{"class":294},[288,346,325],{"class":294},[288,348,349],{"class":298},"Jane Smith",[288,351,295],{"class":294},[288,353,332],{"class":294},[288,355,357,359,362,364,366,368,371,373],{"class":290,"line":356},4,[288,358,313],{"class":294},[288,360,361],{"class":316},"url",[288,363,295],{"class":294},[288,365,322],{"class":294},[288,367,325],{"class":294},[288,369,370],{"class":298},"https://example.com/about/jane-smith",[288,372,295],{"class":294},[288,374,332],{"class":294},[288,376,378,380,383,385,387,389,392],{"class":290,"line":377},5,[288,379,313],{"class":294},[288,381,382],{"class":316},"jobTitle",[288,384,295],{"class":294},[288,386,322],{"class":294},[288,388,325],{"class":294},[288,390,391],{"class":298},"Head of Marketing",[288,393,394],{"class":294},"\"\n",[288,396,398],{"class":290,"line":397},6,[288,399,400],{"class":294},"}\n",[47,402,403],{},[50,404,405],{},"Link the author bio page — it should list their credentials, social profiles, and other content they've written",[24,407,120],{"id":119},[47,409,410,419,425],{},[50,411,412,418],{},[14,413,414,417],{},[19,415,416],{},"\"author\": { \"@type\": \"Organization\" }"," in schema"," — an organisation is not an author; this is flagged as a low-trust signal, not equivalent to a named person",[50,420,421,424],{},[14,422,423],{},"Author name in schema but not visible on the page"," — AI engines cross-check schema data against the visible HTML; schema-only attribution is treated as potentially fraudulent",[50,426,427,430],{},[14,428,429],{},"Using a pen name with no associated credentials"," — pen names are acceptable, but they need an associated bio with verifiable credentials",[24,432,161],{"id":160},[47,434,435,442],{},[50,436,437],{},[167,438,441],{"href":439,"rel":440},"https://developers.google.com/search/docs/fundamentals/creating-helpful-content",[171],"Google — Creating helpful, reliable, people-first content (E-E-A-T)",[50,443,444],{},[167,445,448],{"href":446,"rel":447},"https://schema.org/Person",[171],"schema.org/Person",[450,451,452],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":110,"searchDepth":188,"depth":188,"links":454},[455,456,457,458],{"id":248,"depth":188,"text":249},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"A visible author byline with name, credentials, and schema markup identifying who wrote the content.",{"publishedAt":197,"badge":461,"type":200,"faq":462,"related":472,"cta":481},{"label":199},[463,466,469],{"question":464,"answer":465},"Does author attribution matter for product pages, not just articles?","Yes. Product pages benefit from attribution in a different way: a named product manager or subject matter expert associated with the page adds credibility. For software products, linking to the team that built the product or the expert who wrote the documentation is an E-E-A-T signal.",{"question":467,"answer":468},"What if our content is genuinely written by a team, not one person?","List a primary author (the lead writer or subject matter expert) as the byline, even if multiple people contributed. If a team genuinely wrote the content collaboratively, list a named editor or content lead who takes editorial responsibility. 'The TrustData Team' with no named individual is always a weaker signal.",{"question":470,"answer":471},"How detailed does the author bio need to be?","The bio should include: full name, current job title and company, relevant expertise (years of experience, specific domain), and links to their professional profiles (LinkedIn, personal site). 100–200 words is sufficient. The goal is to give AI engines enough context to verify the author's expertise.",[473,475,477],{"title":221,"url":222,"description":474},"How Article schema with Person author creates a complete attribution signal.",{"title":217,"url":218,"description":476},"Pairing author attribution with current dateModified for full E-E-A-T signals.",{"title":478,"url":479,"description":480},"Authority References","/learn/geo/authority-references","How citing authoritative sources compounds author credibility signals.",{"title":482,"description":483,"label":227,"url":228},"Are your pages missing author attribution?","TrustData checks for missing bylines, incorrect author schema types, and author name inconsistencies across your content.","/learn/geo/author-attribution",{"title":486,"description":487},"Author Attribution for AI Engines — GEO Optimisation Guide","AI engines have adopted Google's E-E-A-T signals. Anonymous content is lower-trust. A named author with credentials gives AI engines a named entity to associate with the claim.","5.learn/geo/author-attribution","cqLdsQvEwhju3Ufsyx_pvCzmp5Q4z8dAl5G1peprUA4",{"id":491,"title":478,"body":492,"description":611,"extension":195,"meta":612,"navigation":229,"path":479,"seo":636,"stem":639,"__hash__":640},"content_en/5.learn/geo/authority-references.md",{"type":8,"value":493,"toc":605},[494,503,507,510,519,527,540,542,563,565,589,591],[11,495,496,498,499,502],{},[14,497,16],{}," — A link to ",[19,500,501],{},"pubmed.ncbi.nlm.nih.gov"," carries more weight than a link to an unknown blog. Pages that cite authoritative primary sources are treated as more reliable synthesisers. This is the web equivalent of citing peer-reviewed papers.",[24,504,506],{"id":505},"why-authority-references-matter-for-ai-engines","Why Authority References Matter for AI Engines",[11,508,509],{},"AI models are trained to recognise citation quality. Just as academic papers distinguish between peer-reviewed journals and blog posts, AI engines distinguish between authority-domain citations and low-domain links. A page that links to PubMed, the WHO, Reuters, or a university research paper is signalling that its claims are anchored in the highest-quality external verification available.",[11,511,512,513,518],{},"The ",[167,514,517],{"href":515,"rel":516},"https://arxiv.org/abs/2311.09735",[171],"Princeton GEO study (2024)"," specifically analysed external citation patterns in high-citation-rate content. Pages that cited authoritative primary sources — research papers, government data, major established publishers — were cited significantly more often than pages citing only other blogs or commercial websites. The mechanism is trust propagation: high-authority sources have high model trust scores, and linking to them transfers some of that trust to the citing page.",[11,520,521,522,526],{},"This is distinct from the general ",[167,523,525],{"href":524},"/learn/geo/external-references","External References"," signal. External References is about the presence of any credible external links. Authority References is about the specific quality of those links — the subset that points to the highest-authority domains.",[11,528,529,532,535,536,539],{},[14,530,531],{},"Qualifying authority domains:",[19,533,534],{},".gov",", ",[19,537,538],{},".edu",", Wikipedia, Reuters, BBC, AP News, Nature, PubMed, McKinsey, Gartner, Forrester, Deloitte, PwC, Bloomberg, Harvard Business Review, Statista.",[24,541,89],{"id":88},[47,543,544,547,550,560],{},[50,545,546],{},"At minimum 1 authority domain link per article",[50,548,549],{},"Link to the specific study, page, or data source — not the homepage",[50,551,552,553,556,557],{},"Use the source's title as link text: ",[19,554,555],{},"[Princeton GEO Study (2024)](https://arxiv.org/abs/2311.09735)"," not ",[19,558,559],{},"[source]",[50,561,562],{},"Diversify authority sources — citing only one domain repeatedly is less effective than citing 3–4 different authority sources",[24,564,120],{"id":119},[47,566,567,577,583],{},[50,568,569,572,573,576],{},[14,570,571],{},"Linking to authority domains' homepages"," — ",[19,574,575],{},"[Wikipedia](https://en.wikipedia.org)"," with no specific article provides no citation signal; link to the specific article",[50,578,579,582],{},[14,580,581],{},"Over-relying on the same authority source"," — citing only McKinsey for every business claim reduces diversity; mix sources",[50,584,585,588],{},[14,586,587],{},"Citing sources that have been retracted or significantly updated"," — always verify the source is still accurate and current when adding authority references",[24,590,161],{"id":160},[47,592,593,599],{},[50,594,595],{},[167,596,598],{"href":515,"rel":597},[171],"Princeton GEO Paper (2024) — external citations analysis",[50,600,601],{},[167,602,604],{"href":439,"rel":603},[171],"Google Quality Rater Guidelines — E-E-A-T",{"title":110,"searchDepth":188,"depth":188,"links":606},[607,608,609,610],{"id":505,"depth":188,"text":506},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Outbound links to high-authority domains (.gov, .edu, Wikipedia, major publishers) that anchor your claims.",{"publishedAt":197,"badge":613,"type":200,"faq":614,"related":624,"cta":633},{"label":199},[615,618,621],{"question":616,"answer":617},"Is Wikipedia a good authority source?","Wikipedia is useful as a general reference because AI models are heavily trained on it and treat it as a neutral, well-cited source. However, Wikipedia itself cites primary sources — for strong authority signals, cite the primary source that Wikipedia references, not just the Wikipedia article itself.",{"question":619,"answer":620},"How do I find authority sources to cite for my topic?","For research claims: Google Scholar, PubMed, arXiv. For industry data: Gartner, Forrester, Statista, McKinsey. For regulatory or legal claims: .gov sources. For technical specifications: official documentation (schema.org, MDN, RFC documents). For statistics: the original study, not secondary sources that cite it.",{"question":622,"answer":623},"Does linking to paywalled content count as an authority reference?","Yes — paywalled content from high-authority sources (Nature, HBR, Bloomberg) still carries the authority signal even if AI crawlers can't read the full article. The domain authority is what matters. That said, where possible, prefer open-access versions (PubMed Central, arXiv) of research papers.",[625,627,631],{"title":525,"url":524,"description":626},"The broader signal of linking to any credible external sources.",{"title":628,"url":629,"description":630},"Data and Statistics","/learn/geo/data-and-statistics","How to cite the authority sources behind your statistical claims.",{"title":238,"url":484,"description":632},"How named author credentials compound with authority references for E-E-A-T.",{"title":634,"description":635,"label":227,"url":228},"Are your pages citing authoritative sources?","TrustData identifies pages with no authority-domain external links and surfaces which claims need stronger sourcing.",{"title":637,"description":638},"Authority References for AI Engines — GEO Optimisation Guide","A link to pubmed.nih.gov carries more weight than a link to an unknown blog. Pages citing authoritative primary sources are treated as more reliable by AI engines.","5.learn/geo/authority-references","ZtWl13rYGHFyvXcVwHjrxea1DLxM2CcObDKYfUaAKSw",{"id":642,"title":643,"body":644,"description":745,"extension":195,"meta":746,"navigation":229,"path":773,"seo":774,"stem":777,"__hash__":778},"content_en/5.learn/geo/case-studies.md","Case Studies",{"type":8,"value":645,"toc":739},[646,655,659,662,665,672,674,701,703,723,725],[11,647,648,650,651,654],{},[14,649,16],{}," — AI engines answering \"does ",[288,652,653],{},"product type"," work?\" look for pages with documented, measurable outcomes. \"Our customer saw 40% more conversions\" with a named customer is citable. \"Our customers love us\" is not.",[24,656,658],{"id":657},"why-case-studies-matter-for-ai-engines","Why Case Studies Matter for AI Engines",[11,660,661],{},"AI engines are frequently asked whether a product or approach \"actually works.\" These queries — \"does server-side tracking recover missing conversions?\", \"is TrustData effective for e-commerce attribution?\" — are best answered with documented evidence. Case studies provide exactly that: real customers, real problems, real measurable outcomes.",[11,663,664],{},"The difference between a citable case study and an uncitable one is specificity. \"Maison Blanc, a French DTC fashion brand, reduced their GA4 attribution gap from 38% to 4% after deploying TrustData's server-side tracking. Their Meta ROAS improved from 1.8x to 2.6x over 90 days\" is a claim with named entity, specific metrics, and a timeframe. It is directly citable. \"One of our customers saw huge improvements in their tracking\" is not citable — it contains no specific, verifiable claims.",[11,666,667,668,671],{},"Case studies also serve a second function: they establish the category of problem your product solves. Each case study is an implicit answer to a specific query (\"how did ",[288,669,670],{},"company"," fix their attribution problem?\"). The more specific and varied your case studies are, the more query types your content can answer.",[24,673,89],{"id":88},[47,675,676,682,685,692,698],{},[50,677,678,679],{},"Structure as: ",[14,680,681],{},"client name → industry → challenge → solution → measurable result",[50,683,684],{},"Include specific numbers: \"reduced reporting time by 6 hours per week\", \"recovered €40,000 in invisible conversions in month 1\"",[50,686,687,688,691],{},"Add a ",[19,689,690],{},"schema.org/Article"," with the case study subject named in the headline",[50,693,694,695],{},"Create a dedicated URL for each case study: ",[19,696,697],{},"/case-studies/maison-blanc",[50,699,700],{},"Include a one-paragraph summary at the top — this is the most citable excerpt",[24,702,120],{"id":119},[47,704,705,711,717],{},[50,706,707,710],{},[14,708,709],{},"Anonymous case studies"," — \"A leading French fashion brand\" provides no entity signal; named customers are significantly more citable (with their permission)",[50,712,713,716],{},[14,714,715],{},"Results without timeframes"," — \"40% improvement\" with no timeframe is less credible; \"40% improvement in 90 days\" is specific and verifiable",[50,718,719,722],{},[14,720,721],{},"Narrative-only case studies with no summary"," — AI engines need a concise, extractable summary; bury the result in a 2,000-word narrative and it may never be extracted",[24,724,161],{"id":160},[47,726,727,733],{},[50,728,729],{},[167,730,690],{"href":731,"rel":732},"https://schema.org/Article",[171],[50,734,735],{},[167,736,738],{"href":515,"rel":737},[171],"Princeton GEO Paper (2024)",{"title":110,"searchDepth":188,"depth":188,"links":740},[741,742,743,744],{"id":657,"depth":188,"text":658},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Real-world examples showing measurable results that AI engines use to answer \"does X work?\" queries.",{"publishedAt":197,"badge":747,"type":200,"faq":749,"related":759,"cta":770},{"label":748},"Lead Gen",[750,753,756],{"question":751,"answer":752},"What if our customers don't want to be named in case studies?","For customers who prefer anonymity, use industry + company size + geography as identifiers: 'A mid-market French DTC apparel brand with €5M annual revenue'. This provides more entity context than 'a client'. Always get approval for the specific language you use, even for anonymised references.",{"question":754,"answer":755},"How long should a case study be?","A full case study page should be 500–1,500 words covering challenge, solution, and results in depth. Always include a 100-word summary at the top for AI extraction. The summary alone is often what gets cited; the depth is for human readers who want more context.",{"question":757,"answer":758},"Should case studies be gated (behind a form) or public?","Public case studies are significantly more valuable for GEO because AI engines can only cite publicly accessible content. A gated PDF that AI crawlers cannot access has zero citation value. If you want detailed case studies to remain gated, publish a public summary page and gate only the extended version.",[760,764,766],{"title":761,"url":762,"description":763},"Testimonials","/learn/geo/testimonials","Customer quotes that complement the structured case study format.",{"title":628,"url":629,"description":765},"How to present the measurable results in your case studies effectively.",{"title":767,"url":768,"description":769},"Social Proof","/learn/geo/social-proof","Customer count and logo signals that establish the scale of your success stories.",{"title":771,"description":772,"label":227,"url":228},"Are your case studies getting cited by AI engines?","TrustData checks whether your case study pages are publicly accessible, have clear summaries, and contain specific measurable outcomes.","/learn/geo/case-studies",{"title":775,"description":776},"Case Studies for AI Engines — GEO Optimisation Guide","AI engines answering \"does X work?\" look for documented, measurable outcomes. Named customer + specific metric + timeframe is citable. \"Our customers love us\" is not.","5.learn/geo/case-studies","yaz9OWn8hror1ehnZEiinuz_IQSMOPteGvAMq_Xp2OI",{"id":780,"title":781,"body":782,"description":874,"extension":195,"meta":875,"navigation":229,"path":904,"seo":905,"stem":908,"__hash__":909},"content_en/5.learn/geo/clear-takeaway.md","Clear Takeaway / Key Summary",{"type":8,"value":783,"toc":868},[784,789,793,796,803,806,808,830,832,858,860],[11,785,786,788],{},[14,787,16],{}," — AI engines synthesise across multiple sources. A page that buries its conclusion in the final paragraph loses to a page that states it explicitly upfront. A labelled \"Key takeaways\" block guarantees the conclusion is captured.",[24,790,792],{"id":791},"why-clear-takeaways-matter-for-ai-engines","Why Clear Takeaways Matter for AI Engines",[11,794,795],{},"AI engines synthesise information from multiple sources to produce a single response. When a model reads your page, it's looking for the conclusion — the most citable, highest-confidence claim. Pages that bury their key insights in the middle or end of a long article make the model work harder to extract them.",[11,797,512,798,802],{},[167,799,801],{"href":515,"rel":800},[171],"Princeton GEO paper (2024)"," analysed the structural features of pages that appeared most frequently as cited sources. Pages with explicit summary sections — whether labelled \"Key takeaways\", \"TL;DR\", or \"Summary\" — were cited significantly more often than equivalent pages with the same information buried in prose.",[11,804,805],{},"The mechanism is attention budget. Language models have a finite context window and assign higher attention weight to content at the beginning of a document (the \"lost in the middle\" problem is well-documented in AI research). A summary at the top of an article guarantees the conclusion receives maximum attention weight regardless of how much content follows.",[24,807,89],{"id":88},[47,809,810,813,824,827],{},[50,811,812],{},"Add a \"Key takeaways\", \"TL;DR\", or \"Summary\" section — either at the top (above the article body) or as the first content block",[50,814,815,816,819,820,823],{},"Use a ",[19,817,818],{},"\u003Cul>"," or ",[19,821,822],{},"\u003Caside>"," element with 3–5 bullet points",[50,825,826],{},"Keep each point under 25 words — concise enough to be reproduced verbatim",[50,828,829],{},"The summary should be self-contained: someone reading only the takeaways should understand the page's core argument",[24,831,120],{"id":119},[47,833,834,840,846],{},[50,835,836,839],{},[14,837,838],{},"A vague introduction instead of a concrete summary"," — \"In this article, we'll explore...\" is not a takeaway",[50,841,842,845],{},[14,843,844],{},"Burying key claims 3,000 words into the page"," — models may not reach them, and those that do won't assign them high citation weight",[50,847,848,851,852,819,855,857],{},[14,849,850],{},"Using \"In conclusion...\" language without a dedicated block"," — a ",[19,853,854],{},"\u003Csection>",[19,856,822],{}," with a visible label is what triggers reliable extraction",[24,859,161],{"id":160},[47,861,862],{},[50,863,864],{},[167,865,867],{"href":515,"rel":866},[171],"Princeton GEO Paper (2024) — abstract structure analysis",{"title":110,"searchDepth":188,"depth":188,"links":869},[870,871,872,873],{"id":791,"depth":188,"text":792},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"An explicit summary section that surfaces the page's conclusion for AI extraction.",{"publishedAt":197,"badge":876,"type":200,"faq":878,"related":888,"cta":901},{"label":877},"Core",[879,882,885],{"question":880,"answer":881},"Should the summary go at the top or the bottom of the page?","Both positions work, but top-of-page summaries have the advantage of being captured within the model's highest-attention zone. If you can only have one, put it at the top. Having both — a TL;DR at the top and a 'Key takeaways' section at the end — is the optimal approach.",{"question":883,"answer":884},"What's the ideal length for a TL;DR block?","3–5 bullet points, each under 25 words. The block should be scannable in under 10 seconds and self-contained — a reader who only reads the TL;DR should understand the page's core argument.",{"question":886,"answer":887},"Does this apply to product pages, not just articles?","Yes. Product pages benefit from a clear 'What it does' summary block. For product pages, frame it as: 'X does Y for Z type of customer, resulting in W outcome.' This is the claim AI shopping assistants extract when answering product comparison queries.",[889,893,897],{"title":890,"url":891,"description":892},"Heading Hierarchy","/learn/geo/heading-hierarchy","How H1/H2/H3 structure works with summary blocks for AI navigation.",{"title":894,"url":895,"description":896},"Intro Summary","/learn/geo/intro-summary","The first paragraph as a standalone AI-readable excerpt.",{"title":898,"url":899,"description":900},"List Formatting","/learn/geo/list-formatting","How bullet lists make takeaways directly extractable.",{"title":902,"description":903,"label":227,"url":228},"Does your content have a clear takeaway?","TrustData checks whether your pages have explicit summary blocks that AI engines can extract as cited conclusions.","/learn/geo/clear-takeaway",{"title":906,"description":907},"Clear Takeaway & Key Summary for AI Engines — GEO Optimisation Guide","Pages that state their conclusion explicitly are cited more often by AI engines. A labelled TL;DR or Key Takeaways block guarantees the conclusion is captured.","5.learn/geo/clear-takeaway","XL9lswt6g9kZvSLbQwovqljEOE7s7pd1ncDokufch0U",{"id":911,"title":912,"body":913,"description":1015,"extension":195,"meta":1016,"navigation":229,"path":1042,"seo":1043,"stem":1046,"__hash__":1047},"content_en/5.learn/geo/comparison-content.md","Comparison Content",{"type":8,"value":914,"toc":1009},[915,920,924,927,930,933,935,975,977,1000,1002],[11,916,917,919],{},[14,918,16],{}," — AI engines answering \"what is the best analytics tool\" look for pages that directly address the comparison. A page that only describes itself without acknowledging alternatives is less likely to be cited for comparison queries than one that makes the case directly.",[24,921,923],{"id":922},"why-comparison-content-matters-for-ai-engines","Why Comparison Content Matters for AI Engines",[11,925,926],{},"AI engines are increasingly the first stop for product comparison queries: \"TrustData vs Google Analytics\", \"best first-party analytics tool\", \"GA4 alternatives\". These queries have massive commercial intent, and AI engines want to cite the most direct, honest comparison source available.",[11,928,929],{},"A page that only describes its own product (\"TrustData captures 100% of your conversions\") provides no comparative signal. A page that directly addresses the comparison (\"TrustData vs GA4: both are analytics platforms, but GA4 misses 30–40% of cookieless traffic while TrustData recovers it via server-side tracking\") gives the model exactly what it needs to answer a comparison query — and is far more likely to be cited.",[11,931,932],{},"This creates an important strategic consideration: being willing to honestly discuss alternatives (and explain why you're better) is more GEO-effective than avoiding competitor mentions entirely. AI engines cross-reference claims, so false comparisons are penalised. Accurate, direct comparisons are rewarded with citation preference.",[24,934,89],{"id":88},[47,936,937,952,969,972],{},[50,938,939,940,943,944,947,948,951],{},"Add a \"How we compare\" or \"",[288,941,942],{},"Product"," vs ",[288,945,946],{},"Competitor","\" section with an explicit ",[19,949,950],{},"\u003Ch2>"," heading",[50,953,815,954,136,958,535,961,964,965,968],{},[167,955,957],{"href":956},"/learn/geo/structured-comparison","comparison table",[19,959,960],{},"\u003Ctable>",[19,962,963],{},"\u003Cthead>",", and ",[19,966,967],{},"\u003Cth>"," headers",[50,970,971],{},"Be honest — AI engines cross-reference claims; false comparisons damage credibility",[50,973,974],{},"Link to the comparison page from the main product page so crawlers find it",[24,976,120],{"id":119},[47,978,979,985,991],{},[50,980,981,984],{},[14,982,983],{},"Vague comparison language"," — \"We're better than the competition\" is not citable; specify the dimension of comparison and the measurable difference",[50,986,987,990],{},[14,988,989],{},"Only comparing to weak competitors"," — AI engines evaluating comparison content prefer comparisons against the category leaders; avoid only comparing to unknown alternatives",[50,992,993,996,997,999],{},[14,994,995],{},"Missing the comparison query format"," — use ",[19,998,950],{}," headings in the format \"TrustData vs Google Analytics\" to signal the comparison topic to crawlers",[24,1001,161],{"id":160},[47,1003,1004],{},[50,1005,1006],{},[167,1007,738],{"href":515,"rel":1008},[171],{"title":110,"searchDepth":188,"depth":188,"links":1010},[1011,1012,1013,1014],{"id":922,"depth":188,"text":923},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"A section comparing your product to alternatives, addressing \"what is the best X\" queries directly.",{"publishedAt":197,"badge":1017,"type":200,"faq":1019,"related":1029,"cta":1039},{"label":1018},"E-commerce",[1020,1023,1026],{"question":1021,"answer":1022},"Should I name competitors directly on my product page?","Yes, in a dedicated comparison section. Naming competitors in a structured, honest comparison is one of the most effective ways to appear in 'X vs Y' AI queries. The key is accuracy — if you claim competitor X is weaker in a specific area, that claim should be verifiable. False comparisons are penalised.",{"question":1024,"answer":1025},"What if I don't want to give competitors free exposure?","Consider the alternative: if you don't publish a comparison page, AI engines will cite a competitor's comparison page that positions their product more favourably. Publishing your own honest comparison gives you control over the narrative. The risk of mentioning competitors is lower than the risk of being absent from comparison queries.",{"question":1027,"answer":1028},"Where should comparison content live — on the main product page or a separate page?","Both works well. A brief comparison section on the main product page captures broad queries. A dedicated comparison page (e.g., /compare/trustdata-vs-ga4) can target the specific comparison query with greater depth and SEO authority.",[1030,1033,1037],{"title":1031,"url":956,"description":1032},"Structured Comparison Tables","The table format that makes comparison content machine-readable.",{"title":1034,"url":1035,"description":1036},"Product Schema","/learn/geo/product-schema","Product schema that gives AI engines the context to understand what you're comparing.",{"title":628,"url":629,"description":1038},"Specific data points that make comparison claims citable.",{"title":1040,"description":1041,"label":227,"url":228},"Does your site address comparison queries?","TrustData identifies missing comparison sections and surfaces which competitor queries your pages are failing to answer.","/learn/geo/comparison-content",{"title":1044,"description":1045},"Comparison Content for AI Engines — GEO Optimisation Guide","AI engines answering \"best X\" queries look for pages that directly address comparisons. A product page with no comparison section loses every \"X vs Y\" query to competitors.","5.learn/geo/comparison-content","zqj4Zkd93K75UXunbT9X4_uCqfKjoNrOEeVlEetBK4k",{"id":1049,"title":217,"body":1050,"description":1216,"extension":195,"meta":1217,"navigation":229,"path":218,"seo":1239,"stem":1242,"__hash__":1243},"content_en/5.learn/geo/content-freshness.md",{"type":8,"value":1051,"toc":1210},[1052,1065,1069,1072,1075,1087,1089,1106,1147,1156,1158,1189,1191,1207],[11,1053,1054,1056,1057,1060,1061,1064],{},[14,1055,16],{}," — AI engines downrank undated content for factual queries because they cannot assess its currency. A clear ",[19,1058,1059],{},"datePublished"," and ",[19,1062,1063],{},"dateModified"," in both HTML and schema lets the model determine whether the information is current — and for time-sensitive queries, this is decisive.",[24,1066,1068],{"id":1067},"why-content-freshness-matters-for-ai-engines","Why Content Freshness Matters for AI Engines",[11,1070,1071],{},"AI engines downrank undated content for factual queries because they have no way to assess whether the information is current. A page with no visible date could contain information from 2015 or 2024 — the model defaults to treating it as potentially stale, particularly for topics where accuracy degrades over time.",[11,1073,1074],{},"This has direct consequences for citation rates. For queries where currency matters — \"how do I configure GPTBot in robots.txt\", \"what is the current schema markup recommendation\", \"latest GEO optimisation research\" — AI engines explicitly favour pages with recent, visible dates over undated content. The freshness signal is a direct input to citation ranking for time-sensitive queries.",[11,1076,1077,1078,1080,1081,1083,1084,1086],{},"The schema ",[19,1079,1063],{}," field is particularly important. A page last modified in 2021 that has not been updated signals that the content has not been maintained. A page with a ",[19,1082,1063],{}," from the past 6 months signals active maintenance. For evergreen content (guides, references), the cadence of ",[19,1085,1063],{}," updates signals that someone is reviewing and maintaining the accuracy of the information.",[24,1088,89],{"id":88},[47,1090,1091,1097,1103],{},[50,1092,1093,1094],{},"Visible date in the HTML: ",[19,1095,1096],{},"\u003Ctime datetime=\"2025-03-15\">March 15, 2025\u003C/time>",[50,1098,1099,1100,1102],{},"Update ",[19,1101,1063],{}," whenever you make substantive changes — not cosmetic edits",[50,1104,1105],{},"Include in Article schema:",[102,1107,1109],{"className":282,"code":1108,"language":284,"meta":110,"style":110},"\"datePublished\": \"2025-01-01\",\n\"dateModified\": \"2025-03-15\"\n",[19,1110,1111,1130],{"__ignoreMap":110},[288,1112,1113,1115,1117,1119,1121,1123,1126,1128],{"class":290,"line":291},[288,1114,295],{"class":294},[288,1116,1059],{"class":298},[288,1118,295],{"class":294},[288,1120,305],{"class":304},[288,1122,295],{"class":294},[288,1124,1125],{"class":298},"2025-01-01",[288,1127,295],{"class":294},[288,1129,332],{"class":304},[288,1131,1132,1134,1136,1138,1140,1142,1145],{"class":290,"line":188},[288,1133,295],{"class":294},[288,1135,1063],{"class":298},[288,1137,295],{"class":294},[288,1139,305],{"class":304},[288,1141,295],{"class":294},[288,1143,1144],{"class":298},"2025-03-15",[288,1146,394],{"class":294},[47,1148,1149],{},[50,1150,1151,1152,1155],{},"For evergreen content, add \"Last updated: ",[288,1153,1154],{},"date","\" at the top of the page",[24,1157,120],{"id":119},[47,1159,1160,1166,1179],{},[50,1161,1162,1165],{},[14,1163,1164],{},"Adding a date to schema but not showing it on the page"," — AI engines cross-check; schema dates without visible HTML dates are treated with lower confidence",[50,1167,1168,1174,1175,1178],{},[14,1169,1170,1171,1173],{},"Never updating ",[19,1172,1063],{}," even after rewrites"," — a page completely rewritten in 2025 but showing ",[19,1176,1177],{},"dateModified: 2022"," signals neglect",[50,1180,1181,1184,1185,1188],{},[14,1182,1183],{},"Using relative dates"," — \"2 years ago\" becomes meaningless to crawlers after time passes; always use absolute dates in ",[19,1186,1187],{},"\u003Ctime>"," elements",[24,1190,161],{"id":160},[47,1192,1193,1200],{},[50,1194,1195],{},[167,1196,1199],{"href":1197,"rel":1198},"https://schema.org/dateModified",[171],"schema.org/dateModified",[50,1201,1202],{},[167,1203,1206],{"href":1204,"rel":1205},"https://developers.google.com/search/docs/appearance/structured-data/article",[171],"Google Structured Data — Article dates",[450,1208,1209],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":110,"searchDepth":188,"depth":188,"links":1211},[1212,1213,1214,1215],{"id":1067,"depth":188,"text":1068},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"A visible publication or last-modified date that lets AI engines assess whether the information is current.",{"publishedAt":197,"badge":1218,"type":200,"faq":1219,"related":1229,"cta":1236},{"label":199},[1220,1223,1226],{"question":1221,"answer":1222},"Should I update dateModified for minor edits like fixing typos?","No. dateModified should reflect substantive content updates — new sections, updated statistics, revised recommendations. Minor editorial corrections (typos, formatting) don't warrant a dateModified change. AI engines and search crawlers treat dateModified changes as signals of meaningful content updates.",{"question":1224,"answer":1225},"What if my page is genuinely evergreen and rarely needs updating?","Review evergreen pages annually and update them with any new data, recent examples, or changes to best practices — even if the core content remains accurate. The annual review signals active maintenance. If nothing needs changing, add a 'Last reviewed: [date]' note at the top.",{"question":1227,"answer":1228},"Does Google show dates in search results if they're in schema?","Google may show dates in search snippets and in AI Overviews when the datePublished or dateModified is present in Article schema. Visible dates also appear directly in the page snippet. Both increase user trust and click-through rates, in addition to the AI citation benefits.",[1230,1232,1234],{"title":238,"url":484,"description":1231},"Named authors paired with current dates create the strongest E-E-A-T signal.",{"title":221,"url":222,"description":1233},"How datePublished and dateModified fit into the full Article schema.",{"title":6,"url":230,"description":1235},"Ensuring AI crawlers can access your freshly updated pages.",{"title":1237,"description":1238,"label":227,"url":228},"Are your pages missing freshness signals?","TrustData checks for missing dates, stale dateModified values, and schema/HTML date mismatches across your content.",{"title":1240,"description":1241},"Content Freshness for AI Engines — GEO Optimisation Guide","AI engines downrank undated content for factual queries. A clear datePublished and dateModified in HTML and schema lets AI engines determine whether your information is current.","5.learn/geo/content-freshness","absU1-KuO5btO4p2K86outey2uoQy917UcKDszdRaxg",{"id":1245,"title":1246,"body":1247,"description":1437,"extension":195,"meta":1438,"navigation":229,"path":629,"seo":1460,"stem":1463,"__hash__":1464},"content_en/5.learn/geo/data-and-statistics.md","Specific Data & Statistics",{"type":8,"value":1248,"toc":1431},[1249,1254,1258,1261,1267,1270,1272,1290,1392,1394,1414,1416,1428],[11,1250,1251,1253],{},[14,1252,16],{}," — LLMs prefer specificity. \"Pages with FAQ schema are cited 38% more often in AI-generated answers (Princeton, 2024)\" is quotable. \"Pages with FAQ schema get more citations\" is forgettable. Statistics anchor claims in reality.",[24,1255,1257],{"id":1256},"why-data-and-statistics-matter-for-ai-engines","Why Data and Statistics Matter for AI Engines",[11,1259,1260],{},"Language models are trained to prefer specificity because specific claims are more verifiable and more useful to end users. Vague qualitative claims (\"many companies see improvement\") cannot be cited — they offer no new information. Quantified claims with sources (\"companies see a 40% increase in AI citations after adding structured data — Princeton GEO Study, 2024\") are citable facts that models can reference with attribution.",[11,1262,512,1263,1266],{},[167,1264,517],{"href":515,"rel":1265},[171]," explicitly found that statistical mentions in content significantly increased citation frequency across ChatGPT, Perplexity, and other AI engines. The mechanism is straightforward: a number with a source is a discrete, verifiable unit of information. It reduces the model's uncertainty about whether the claim is reliable.",[11,1268,1269],{},"This applies to every type of content. Product pages benefit from customer counts, conversion rates, and uptime percentages. Educational articles benefit from research citations and measured outcomes. Landing pages benefit from specific case study results rather than generic \"great results\" claims.",[24,1271,89],{"id":88},[47,1273,1274,1277,1280,1287],{},[50,1275,1276],{},"Replace vague claims with numbers: \"many customers\" → \"over 2,400 customers\", \"significant improvement\" → \"38% increase\"",[50,1278,1279],{},"Include percentage changes, dates, and inline source citations",[50,1281,1282,1283,1286],{},"Use ",[19,1284,1285],{},"\u003Cdata value=\"38\">38%\u003C/data>"," for machine-readable values where precision matters",[50,1288,1289],{},"Cite the source immediately after the statistic in the same sentence",[102,1291,1295],{"className":1292,"code":1293,"language":1294,"meta":110,"style":110},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Pages with \u003Ccode>FAQPage\u003C/code> schema are cited\n\u003Cdata value=\"38\">38%\u003C/data> more often in AI-generated answers\n(\u003Ca href=\"https://arxiv.org/abs/2311.09735\">Princeton GEO Study, 2024\u003C/a>).\n","html",[19,1296,1297,1324,1358],{"__ignoreMap":110},[288,1298,1299,1302,1305,1308,1311,1314,1317,1319,1321],{"class":290,"line":291},[288,1300,1301],{"class":304},"Pages with ",[288,1303,1304],{"class":294},"\u003C",[288,1306,19],{"class":1307},"swJcz",[288,1309,1310],{"class":294},">",[288,1312,1313],{"class":304},"FAQPage",[288,1315,1316],{"class":294},"\u003C/",[288,1318,19],{"class":1307},[288,1320,1310],{"class":294},[288,1322,1323],{"class":304}," schema are cited\n",[288,1325,1326,1328,1331,1334,1337,1339,1342,1344,1346,1349,1351,1353,1355],{"class":290,"line":188},[288,1327,1304],{"class":294},[288,1329,1330],{"class":1307},"data",[288,1332,1333],{"class":316}," value",[288,1335,1336],{"class":294},"=",[288,1338,295],{"class":294},[288,1340,1341],{"class":298},"38",[288,1343,295],{"class":294},[288,1345,1310],{"class":294},[288,1347,1348],{"class":304},"38%",[288,1350,1316],{"class":294},[288,1352,1330],{"class":1307},[288,1354,1310],{"class":294},[288,1356,1357],{"class":304}," more often in AI-generated answers\n",[288,1359,1360,1363,1365,1367,1370,1372,1374,1376,1378,1380,1383,1385,1387,1389],{"class":290,"line":335},[288,1361,1362],{"class":304},"(",[288,1364,1304],{"class":294},[288,1366,167],{"class":1307},[288,1368,1369],{"class":316}," href",[288,1371,1336],{"class":294},[288,1373,295],{"class":294},[288,1375,515],{"class":298},[288,1377,295],{"class":294},[288,1379,1310],{"class":294},[288,1381,1382],{"class":304},"Princeton GEO Study, 2024",[288,1384,1316],{"class":294},[288,1386,167],{"class":1307},[288,1388,1310],{"class":294},[288,1390,1391],{"class":304},").\n",[24,1393,120],{"id":119},[47,1395,1396,1402,1408],{},[50,1397,1398,1401],{},[14,1399,1400],{},"Round numbers with no source"," — \"about 50%\" with no citation is a signal of fabrication, not precision",[50,1403,1404,1407],{},[14,1405,1406],{},"Statistics older than 3 years without noting the date"," — undated statistics are treated as potentially stale; always include the year",[50,1409,1410,1413],{},[14,1411,1412],{},"Vague qualifiers instead of measured values"," — \"significantly\", \"dramatically\", \"notably\" are not citable; replace them with the actual percentage",[24,1415,161],{"id":160},[47,1417,1418,1423],{},[50,1419,1420],{},[167,1421,738],{"href":515,"rel":1422},[171],[50,1424,1425],{},[167,1426,604],{"href":439,"rel":1427},[171],[450,1429,1430],{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":110,"searchDepth":188,"depth":188,"links":1432},[1433,1434,1435,1436],{"id":1256,"depth":188,"text":1257},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Concrete numbers, percentages, and measurable claims that give AI engines verifiable facts to cite.",{"publishedAt":197,"badge":1439,"type":200,"faq":1440,"related":1450,"cta":1457},{"label":877},[1441,1444,1447],{"question":1442,"answer":1443},"Do I need original research to include statistics?","No — citing third-party research is valid and common. What matters is that the statistic is specific, sourced, and current. Cite the original study, include the year, and link to the source. Your own internal data (customer counts, case study results) can also be cited as first-party evidence.",{"question":1445,"answer":1446},"How often should I update statistics on evergreen pages?","Review statistics at least annually. If a study you cite has been superseded by newer research, update to the latest data. If your own customer count or product metrics have changed, update them. Stale statistics signal that content hasn't been maintained.",{"question":1448,"answer":1449},"Can I use the data element for machine-readable values?","Yes. The HTML \u003Cdata> element with a value attribute provides machine-readable context for numeric values. It's particularly useful for pricing, measurements, and percentages that you want to be reliably extractable without ambiguity.",[1451,1453,1455],{"title":525,"url":524,"description":1452},"How to link to the sources behind your statistics to build citation credibility.",{"title":478,"url":479,"description":1454},"Linking to high-authority sources (.gov, .edu, major publishers) for your claims.",{"title":781,"url":904,"description":1456},"Surface your key data points in a summary block for maximum AI extraction.",{"title":1458,"description":1459,"label":227,"url":228},"Are your pages making citable claims?","TrustData identifies pages with vague qualitative language and no data citations — and tells you exactly what to add.",{"title":1461,"description":1462},"Data & Statistics for AI Engines — GEO Optimisation Guide","LLMs prefer specificity. \"Pages with FAQ schema are cited 38% more often\" is quotable. \"Pages get more citations\" is not. Statistics anchor claims that AI engines reproduce verbatim.","5.learn/geo/data-and-statistics","ZjxuRgEVDBA59OzgZ_IOAaqagfOFc4fk7EM8YMeExmI",{"id":1466,"title":525,"body":1467,"description":1568,"extension":195,"meta":1569,"navigation":229,"path":524,"seo":1590,"stem":1593,"__hash__":1594},"content_en/5.learn/geo/external-references.md",{"type":8,"value":1468,"toc":1562},[1469,1474,1478,1481,1484,1495,1497,1524,1526,1546,1548],[11,1470,1471,1473],{},[14,1472,16],{}," — AI models are trained on the web and understand citation networks. A page that links to schema.org, a university study, or Reuters is signalling that its claims are anchored in external reality. Pages with zero external links are treated as unverified opinion.",[24,1475,1477],{"id":1476},"why-external-references-matter-for-ai-engines","Why External References Matter for AI Engines",[11,1479,1480],{},"AI models are trained on the web and have learned to recognise citation networks — the same way academic papers signal quality through their reference lists. A page that makes claims without linking to external sources is, from the model's perspective, making unverified assertions. A page that cites schema.org, a university study, or a major news organisation is anchoring its claims in an external, verifiable reality.",[11,1482,1483],{},"This is the web equivalent of academic citation practice. Just as a peer-reviewed paper without citations is treated with skepticism, a web page without external links signals that its claims are based only on the author's assertion. AI engines apply the same logic: external links are evidence that the author has verified their claims against authoritative sources.",[11,1485,1486,1487,1489,1490,535,1492,1494],{},"The quality of the external link matters as much as its presence. A link to schema.org, MDN, or a published research paper carries more weight than a link to an unknown blog. This intersects directly with the ",[167,1488,478],{"href":479}," signal — links to ",[19,1491,534],{},[19,1493,538],{},", and major publishers carry the strongest citation quality signal.",[24,1496,89],{"id":88},[47,1498,1499,1502,1505,1514],{},[50,1500,1501],{},"Link at least 2–3 external sources per article",[50,1503,1504],{},"Link to the specific page that supports your claim, not just the homepage of a site",[50,1506,1507,1508,556,1511],{},"Use descriptive link text: ",[19,1509,1510],{},"\u003Ca href=\"...\">Princeton GEO study (2024)\u003C/a>",[19,1512,1513],{},"\u003Ca href=\"...\">click here\u003C/a>",[50,1515,1516,1519,1520,1523],{},[19,1517,1518],{},"rel=\"noopener\""," on external links for security; avoid ",[19,1521,1522],{},"rel=\"nofollow\""," on genuine citations",[24,1525,120],{"id":119},[47,1527,1528,1534,1540],{},[50,1529,1530,1533],{},[14,1531,1532],{},"Linking to competitors"," — use neutral authority sources instead (Wikipedia, official docs, research papers)",[50,1535,1536,1539],{},[14,1537,1538],{},"Broken links"," — a 404 external link actively damages the page's credibility signal; audit external links quarterly",[50,1541,1542,1545],{},[14,1543,1544],{},"Linking to low-authority or non-indexed pages"," — a link to an unknown blog or paywalled content that crawlers can't access provides minimal citation value",[24,1547,161],{"id":160},[47,1549,1550,1555],{},[50,1551,1552],{},[167,1553,604],{"href":439,"rel":1554},[171],[50,1556,1557],{},[167,1558,1561],{"href":1559,"rel":1560},"https://schema.org/citation",[171],"schema.org/citation",{"title":110,"searchDepth":188,"depth":188,"links":1563},[1564,1565,1566,1567],{"id":1476,"depth":188,"text":1477},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Outbound links to credible external sources that support your claims.",{"publishedAt":197,"badge":1570,"type":200,"faq":1571,"related":1581,"cta":1588},{"label":877},[1572,1575,1578],{"question":1573,"answer":1574},"Should external links open in a new tab?","It's a usability preference, but rel=\"noopener\" is required for security when using target=\"_blank\". For citation links at the bottom of articles, opening in a new tab is reasonable. For inline links within content, it can disrupt reading flow — use your judgement.",{"question":1576,"answer":1577},"How many external links is too many?","There's no upper limit for legitimate citations. 2–3 quality external links per article is a minimum floor, not a ceiling. A research-heavy article might have 10–15 sources. What matters is that each link is relevant and the linked content supports the specific claim it accompanies.",{"question":1579,"answer":1580},"Does rel=nofollow reduce the citation signal?","For genuine citations, avoid rel=nofollow. Nofollow was designed for paid links and user-generated content, not editorial citations. Using nofollow on real citations sends a contradictory signal: you're citing the source but telling crawlers not to trust the link.",[1582,1584,1586],{"title":478,"url":479,"description":1583},"The subset of external links to .gov, .edu, and major publishers that carry the strongest signal.",{"title":628,"url":629,"description":1585},"How to cite the sources behind your statistical claims inline.",{"title":238,"url":484,"description":1587},"How named authors combined with external citations create strong E-E-A-T signals.",{"title":634,"description":1589,"label":227,"url":228},"TrustData checks for external link presence, broken links, and link quality signals across your content.",{"title":1591,"description":1592},"External References for AI Engines — GEO Optimisation Guide","AI models understand citation networks. Pages linking to schema.org, research papers, or Reuters signal that claims are anchored in verifiable reality. Zero external links = unverified opinion.","5.learn/geo/external-references","cn7Vxy7vXLR7y2Czg0HeIBE9yubom7VTQsezUuVKEjc",{"id":1596,"title":1597,"body":1598,"description":1889,"extension":195,"meta":1890,"navigation":229,"path":1912,"seo":1913,"stem":1916,"__hash__":1917},"content_en/5.learn/geo/faq-block.md","FAQ Blocks for AI Citability",{"type":8,"value":1599,"toc":1883},[1600,1605,1609,1612,1617,1627,1629,1655,1828,1830,1857,1859,1880],[11,1601,1602,1604],{},[14,1603,16],{}," — AI engines are answer machines. Pages structured as Q&A pairs map directly to how LLMs produce output — they can lift a question-answer pair nearly verbatim. FAQ blocks are one of the highest-ROI GEO implementations.",[24,1606,1608],{"id":1607},"why-faq-blocks-matter-for-ai-engines","Why FAQ Blocks Matter for AI Engines",[11,1610,1611],{},"AI engines are fundamentally answer machines. Every user query is a question, and every model response is an answer drawn from source content. Pages structured as questions and answers map directly to this output format — models can extract a Q&A pair and reproduce it almost verbatim without transformation.",[11,1613,512,1614,1616],{},[19,1615,1313],{}," schema additionally signals to Google that a page directly answers questions, which feeds into AI Overview inclusion logic. Pages with FAQ schema appear significantly more often as cited sources in ChatGPT, Perplexity, and Claude responses when the question matches a user query.",[11,1618,1619,1620,1622,1623,1626],{},"The mechanism goes beyond schema. Even without structured markup, a visible FAQ section with clear ",[19,1621,950],{},"/",[19,1624,1625],{},"\u003Ch3>"," questions creates content structure that LLMs parse more reliably than dense prose paragraphs. The combination of visible structure + schema markup is the most reliable path to direct AI citation.",[24,1628,89],{"id":88},[47,1630,1631,1646,1652],{},[50,1632,1633,1634,1636,1637,819,1639,1641,1642,1645],{},"Add a visible ",[19,1635,854],{}," with questions as ",[19,1638,950],{},[19,1640,1625],{}," and answers as ",[19,1643,1644],{},"\u003Cp>"," directly below",[50,1647,1648,1649,1651],{},"Pair with ",[19,1650,1313],{}," JSON-LD schema listing the same Q&A pairs",[50,1653,1654],{},"Minimum 3 questions; keep answers under 150 words each for clean extraction",[102,1656,1658],{"className":282,"code":1657,"language":284,"meta":110,"style":110},"{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"What is GEO optimisation?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"GEO (Generative Engine Optimisation) is the practice of structuring content so AI engines can reliably extract and cite it in generated responses.\"\n    }\n  }]\n}\n",[19,1659,1660,1664,1684,1702,1716,1737,1756,1771,1793,1811,1817,1823],{"__ignoreMap":110},[288,1661,1662],{"class":290,"line":291},[288,1663,308],{"class":294},[288,1665,1666,1668,1671,1673,1675,1677,1680,1682],{"class":290,"line":188},[288,1667,313],{"class":294},[288,1669,1670],{"class":316},"@context",[288,1672,295],{"class":294},[288,1674,322],{"class":294},[288,1676,325],{"class":294},[288,1678,1679],{"class":298},"https://schema.org",[288,1681,295],{"class":294},[288,1683,332],{"class":294},[288,1685,1686,1688,1690,1692,1694,1696,1698,1700],{"class":290,"line":335},[288,1687,313],{"class":294},[288,1689,317],{"class":316},[288,1691,295],{"class":294},[288,1693,322],{"class":294},[288,1695,325],{"class":294},[288,1697,1313],{"class":298},[288,1699,295],{"class":294},[288,1701,332],{"class":294},[288,1703,1704,1706,1709,1711,1713],{"class":290,"line":356},[288,1705,313],{"class":294},[288,1707,1708],{"class":316},"mainEntity",[288,1710,295],{"class":294},[288,1712,322],{"class":294},[288,1714,1715],{"class":294}," [{\n",[288,1717,1718,1721,1724,1726,1728,1730,1733,1735],{"class":290,"line":377},[288,1719,1720],{"class":294},"    \"",[288,1722,317],{"class":1723},"sBMFI",[288,1725,295],{"class":294},[288,1727,322],{"class":294},[288,1729,325],{"class":294},[288,1731,1732],{"class":298},"Question",[288,1734,295],{"class":294},[288,1736,332],{"class":294},[288,1738,1739,1741,1743,1745,1747,1749,1752,1754],{"class":290,"line":397},[288,1740,1720],{"class":294},[288,1742,340],{"class":1723},[288,1744,295],{"class":294},[288,1746,322],{"class":294},[288,1748,325],{"class":294},[288,1750,1751],{"class":298},"What is GEO optimisation?",[288,1753,295],{"class":294},[288,1755,332],{"class":294},[288,1757,1759,1761,1764,1766,1768],{"class":290,"line":1758},7,[288,1760,1720],{"class":294},[288,1762,1763],{"class":1723},"acceptedAnswer",[288,1765,295],{"class":294},[288,1767,322],{"class":294},[288,1769,1770],{"class":294}," {\n",[288,1772,1774,1777,1780,1782,1784,1786,1789,1791],{"class":290,"line":1773},8,[288,1775,1776],{"class":294},"      \"",[288,1778,317],{"class":1779},"sbssI",[288,1781,295],{"class":294},[288,1783,322],{"class":294},[288,1785,325],{"class":294},[288,1787,1788],{"class":298},"Answer",[288,1790,295],{"class":294},[288,1792,332],{"class":294},[288,1794,1796,1798,1800,1802,1804,1806,1809],{"class":290,"line":1795},9,[288,1797,1776],{"class":294},[288,1799,107],{"class":1779},[288,1801,295],{"class":294},[288,1803,322],{"class":294},[288,1805,325],{"class":294},[288,1807,1808],{"class":298},"GEO (Generative Engine Optimisation) is the practice of structuring content so AI engines can reliably extract and cite it in generated responses.",[288,1810,394],{"class":294},[288,1812,1814],{"class":290,"line":1813},10,[288,1815,1816],{"class":294},"    }\n",[288,1818,1820],{"class":290,"line":1819},11,[288,1821,1822],{"class":294},"  }]\n",[288,1824,1826],{"class":290,"line":1825},12,[288,1827,400],{"class":294},[24,1829,120],{"id":119},[47,1831,1832,1845,1851],{},[50,1833,1834,1844],{},[14,1835,1836,1837,1622,1840,1843],{},"Using ",[19,1838,1839],{},"\u003Cdetails>",[19,1841,1842],{},"\u003Csummary>"," accordion elements"," — content hidden by default may be skipped by crawlers and AI parsers; use visible, expanded content",[50,1846,1847,1850],{},[14,1848,1849],{},"Generic questions that don't match real user queries"," — FAQ questions should mirror how users actually phrase queries to AI engines (conversational, specific)",[50,1852,1853,1856],{},[14,1854,1855],{},"Answers that are too long"," — LLMs prefer concise, self-contained answers under 150 words; longer answers get truncated or paraphrased, losing precision",[24,1858,161],{"id":160},[47,1860,1861,1868,1875],{},[50,1862,1863],{},[167,1864,1867],{"href":1865,"rel":1866},"https://developers.google.com/search/docs/appearance/structured-data/faqpage",[171],"Google Structured Data — FAQPage",[50,1869,1870],{},[167,1871,1874],{"href":1872,"rel":1873},"https://schema.org/FAQPage",[171],"schema.org/FAQPage",[50,1876,1877],{},[167,1878,738],{"href":515,"rel":1879},[171],[450,1881,1882],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":110,"searchDepth":188,"depth":188,"links":1884},[1885,1886,1887,1888],{"id":1607,"depth":188,"text":1608},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"A dedicated question-and-answer section that AI engines can extract and surface directly.",{"publishedAt":197,"badge":1891,"type":200,"faq":1892,"related":1902,"cta":1909},{"label":877},[1893,1896,1899],{"question":1894,"answer":1895},"How many FAQ questions should I include on a page?","3–7 questions is the optimal range. Fewer than 3 questions doesn't justify a FAQPage schema block. More than 10 questions dilutes the signal — break them into separate pages or sections instead.",{"question":1897,"answer":1898},"Should FAQ questions be visible on the page or just in schema?","Both. The FAQ content must be visible in the HTML — not hidden behind JavaScript or CSS display:none. Google and AI crawlers cross-check schema data against the visible page content. Schema-only FAQ blocks are flagged as spam.",{"question":1900,"answer":1901},"Can I use the same FAQ on multiple pages?","Avoid it. Duplicate FAQ content across multiple URLs dilutes citation value. Each FAQ block should answer questions specific to that page's topic.",[1903,1905,1907],{"title":221,"url":222,"description":1904},"JSON-LD structured data that powers FAQ schema and other AI citation signals.",{"title":890,"url":891,"description":1906},"How H2/H3 structure helps AI engines identify which section answers a query.",{"title":781,"url":904,"description":1908},"Summary blocks that guarantee your conclusion is captured by AI engines.",{"title":1910,"description":1911,"label":227,"url":228},"Check if your FAQ blocks are AI-readable","TrustData audits FAQ schema validity, question quality, and answer length across your pages.","/learn/geo/faq-block",{"title":1914,"description":1915},"FAQ Blocks for AI Citability — GEO Optimisation Guide","FAQ blocks map directly to how LLMs produce answers. Pages with FAQPage schema are cited significantly more often in ChatGPT, Perplexity, and Claude responses.","5.learn/geo/faq-block","g_p_JzDHjWQ5vngBaOVFgBgu7d6FjQfhnp_BNpHbFfk",{"id":1919,"title":890,"body":1920,"description":2043,"extension":195,"meta":2044,"navigation":229,"path":891,"seo":2066,"stem":2069,"__hash__":2070},"content_en/5.learn/geo/heading-hierarchy.md",{"type":8,"value":1921,"toc":2037},[1922,1927,1931,1934,1951,1954,1956,1990,1992,2020,2022],[11,1923,1924,1926],{},[14,1925,16],{}," — LLMs parse headings to build a topic map of a page before reading body text. A proper H1 → H2 → H3 hierarchy lets the model identify which section answers a specific query and cite it precisely.",[24,1928,1930],{"id":1929},"why-heading-hierarchy-matters-for-ai-engines","Why Heading Hierarchy Matters for AI Engines",[11,1932,1933],{},"When an LLM processes a web page, headings serve as a structural index before body text is read. The model builds a topic map: \"This page has a section on X, a sub-section on Y, and a sub-section on Z.\" This map determines which section the model reads most carefully when matching against a user query.",[11,1935,1936,1937,1939,1940,1942,1943,1946,1947,1950],{},"A flat heading structure — all ",[19,1938,950],{}," with no ",[19,1941,1625],{}," sub-sections — tells the model the page has no sub-topics. Every section is treated as equally relevant, which means no section gets precision citation treatment. A proper hierarchy (",[19,1944,1945],{},"H2"," for sections, ",[19,1948,1949],{},"H3"," for sub-points) lets the model resolve queries at the sub-topic level.",[11,1952,1953],{},"This is not a theoretical concern. AI engines generating answers to specific questions — \"how do I add FAQ schema to a Next.js page?\" — need to identify the exact paragraph that answers the question, not just the article title. Heading hierarchy is the navigation system that makes that possible.",[24,1955,89],{"id":88},[47,1957,1958,1965,1970,1975,1987],{},[50,1959,1960,1961,1964],{},"One ",[19,1962,1963],{},"\u003Ch1>"," per page — the page title",[50,1966,1967,1969],{},[19,1968,950],{}," for major sections: \"What is X\", \"Why it matters\", \"How to implement\", \"Common mistakes\"",[50,1971,1972,1974],{},[19,1973,1625],{}," for sub-points within a section",[50,1976,1977,1978,1980,1981,1983,1984,1986],{},"Never skip levels — no ",[19,1979,1963],{}," → ",[19,1982,1625],{}," without an ",[19,1985,950],{}," in between",[50,1988,1989],{},"Headings should contain the topic keywords, not generic labels like \"More information\"",[24,1991,120],{"id":119},[47,1993,1994,2002,2011],{},[50,1995,1996,572,1999,2001],{},[14,1997,1998],{},"Using heading tags for visual styling",[19,2000,1625],{}," to make text bold is not structural; use CSS classes instead",[50,2003,2004,2010],{},[14,2005,2006,2007,2009],{},"More than one ",[19,2008,1963],{}," per page"," — signals to AI engines that the page has no primary topic",[50,2012,2013,2019],{},[14,2014,2015,2016,2018],{},"All content under a single ",[19,2017,950],{}," section"," — gives the model no sub-topic structure to navigate",[24,2021,161],{"id":160},[47,2023,2024,2031],{},[50,2025,2026],{},[167,2027,2030],{"href":2028,"rel":2029},"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements",[171],"MDN — Heading Elements",[50,2032,2033],{},[167,2034,2036],{"href":439,"rel":2035},[171],"Google — How to create helpful, reliable, people-first content",{"title":110,"searchDepth":188,"depth":188,"links":2038},[2039,2040,2041,2042],{"id":1929,"depth":188,"text":1930},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Using H1 → H2 → H3 to structure content into scannable, topic-segmented sections.",{"publishedAt":197,"badge":2045,"type":200,"faq":2046,"related":2056,"cta":2063},{"label":877},[2047,2050,2053],{"question":2048,"answer":2049},"Does heading hierarchy affect SEO as well as AI citability?","Yes — heading hierarchy affects both traditional SEO and AI citability through the same mechanism. Google's crawler and LLMs both use headings as a structural index. A well-structured heading hierarchy improves ranking for long-tail queries and increases precision citation by AI engines.",{"question":2051,"answer":2052},"How specific should H2 headings be?","H2 headings should describe the exact content of the section, not act as generic labels. 'How to add FAQPage schema to WordPress' is better than 'Implementation'. Include the key terms a user would type when searching for that specific section.",{"question":2054,"answer":2055},"Should I include the page keyword in every heading?","No — keyword-stuffed headings are a red flag. Include the primary topic naturally in the H1 and in key H2 sections. Sub-headings (H3) can be more specific and conversational.",[2057,2059,2061],{"title":781,"url":904,"description":2058},"Summary blocks that work with heading structure to surface conclusions.",{"title":898,"url":899,"description":2060},"How bullet and numbered lists complement heading structure for AI extraction.",{"title":1597,"url":1912,"description":2062},"How H2/H3 question headings power FAQ schema extraction.",{"title":2064,"description":2065,"label":227,"url":228},"Is your heading structure AI-readable?","TrustData checks for missing H1s, skipped heading levels, and flat structures across every page you track.",{"title":2067,"description":2068},"Heading Hierarchy for AI Engines — GEO Optimisation Guide","LLMs parse headings to build a topic map before reading body text. Proper H1→H2→H3 hierarchy lets AI engines cite your content at the sub-topic level.","5.learn/geo/heading-hierarchy","j4C9QpsmBDTBe7pNFfw36OvxfctE9dKFCbsLO-gZZO4",{"id":2072,"title":2073,"body":2074,"description":2277,"extension":195,"meta":2278,"navigation":229,"path":2300,"seo":2301,"stem":2304,"__hash__":2305},"content_en/5.learn/geo/images.md","Images with Descriptive Alt Text",{"type":8,"value":2075,"toc":2271},[2076,2085,2089,2095,2098,2105,2107,2131,2218,2220,2250,2252,2268],[11,2077,2078,2080,2081,2084],{},[14,2079,16],{}," — Multimodal AI engines process images directly. Text-only models use ",[19,2082,2083],{},"alt"," attributes as additional text signals. Images with meaningful alt text add entity mentions and contextual cues that reinforce a page's topic relevance.",[24,2086,2088],{"id":2087},"why-images-and-alt-text-matter-for-ai-engines","Why Images and Alt Text Matter for AI Engines",[11,2090,2091,2092,2094],{},"Multimodal AI engines — GPT-4V, Gemini, Claude — process images as part of their content analysis. When a page includes a chart or diagram, the model can extract information from the visual itself. But even for text-only models that don't directly process images, the ",[19,2093,2083],{}," attribute functions as additional body text — another opportunity to mention key entities and reinforce the page's topic.",[11,2096,2097],{},"Pages with zero images are flagged by some quality assessment signals as \"thin content\" — a page that makes no visual effort to illustrate its claims. This heuristic, borrowed from traditional SEO, has carried over into AI engine quality signals.",[11,2099,2100,2101,2104],{},"The alt text itself matters as much as the presence of images. An alt attribute that describes both what is shown AND why it's relevant to the topic adds meaningful entity reinforcement: ",[19,2102,2103],{},"alt=\"Line chart showing 38% improvement in AI citation rate after adding FAQPage schema\""," contributes three entity signals (metric type, percentage, schema type) that would otherwise require a full sentence to convey.",[24,2106,89],{"id":88},[47,2108,2109,2112,2115,2121],{},[50,2110,2111],{},"At minimum 1 relevant image per major section",[50,2113,2114],{},"Alt text should describe what's in the image AND its relevance to the topic",[50,2116,1282,2117,2120],{},[19,2118,2119],{},"loading=\"lazy\""," for below-fold images to improve Core Web Vitals",[50,2122,2123,2124,1060,2127,2130],{},"Provide ",[19,2125,2126],{},"width",[19,2128,2129],{},"height"," attributes to prevent cumulative layout shift",[102,2132,2134],{"className":1292,"code":2133,"language":1294,"meta":110,"style":110},"\u003Cimg\n  src=\"/charts/geo-citation-improvement.png\"\n  alt=\"Bar chart showing 38% higher AI citation rate on pages with FAQPage schema vs pages without\"\n  width=\"800\"\n  height=\"450\"\n  loading=\"lazy\"\n/>\n",[19,2135,2136,2143,2157,2171,2185,2199,2213],{"__ignoreMap":110},[288,2137,2138,2140],{"class":290,"line":291},[288,2139,1304],{"class":294},[288,2141,2142],{"class":1307},"img\n",[288,2144,2145,2148,2150,2152,2155],{"class":290,"line":188},[288,2146,2147],{"class":316},"  src",[288,2149,1336],{"class":294},[288,2151,295],{"class":294},[288,2153,2154],{"class":298},"/charts/geo-citation-improvement.png",[288,2156,394],{"class":294},[288,2158,2159,2162,2164,2166,2169],{"class":290,"line":335},[288,2160,2161],{"class":316},"  alt",[288,2163,1336],{"class":294},[288,2165,295],{"class":294},[288,2167,2168],{"class":298},"Bar chart showing 38% higher AI citation rate on pages with FAQPage schema vs pages without",[288,2170,394],{"class":294},[288,2172,2173,2176,2178,2180,2183],{"class":290,"line":356},[288,2174,2175],{"class":316},"  width",[288,2177,1336],{"class":294},[288,2179,295],{"class":294},[288,2181,2182],{"class":298},"800",[288,2184,394],{"class":294},[288,2186,2187,2190,2192,2194,2197],{"class":290,"line":377},[288,2188,2189],{"class":316},"  height",[288,2191,1336],{"class":294},[288,2193,295],{"class":294},[288,2195,2196],{"class":298},"450",[288,2198,394],{"class":294},[288,2200,2201,2204,2206,2208,2211],{"class":290,"line":397},[288,2202,2203],{"class":316},"  loading",[288,2205,1336],{"class":294},[288,2207,295],{"class":294},[288,2209,2210],{"class":298},"lazy",[288,2212,394],{"class":294},[288,2214,2215],{"class":290,"line":1758},[288,2216,2217],{"class":294},"/>\n",[24,2219,120],{"id":119},[47,2221,2222,2232,2244],{},[50,2223,2224,2231],{},[14,2225,2226,2227,2230],{},"Empty ",[19,2228,2229],{},"alt=\"\""," on informational images"," — correct only for purely decorative images; informational images need descriptive alt text",[50,2233,2234,572,2237,819,2240,2243],{},[14,2235,2236],{},"Filename as alt text",[19,2238,2239],{},"alt=\"image123.jpg\"",[19,2241,2242],{},"alt=\"screenshot\""," adds no entity signal",[50,2245,2246,2249],{},[14,2247,2248],{},"Stock photos with generic alt text"," — \"businesspeople shaking hands\" adds no topical relevance; use alt text that connects the image to the page topic",[24,2251,161],{"id":160},[47,2253,2254,2261],{},[50,2255,2256],{},[167,2257,2260],{"href":2258,"rel":2259},"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#alt",[171],"MDN — The Image element alt attribute",[50,2262,2263],{},[167,2264,2267],{"href":2265,"rel":2266},"https://developers.google.com/search/docs/appearance/google-images",[171],"Google Image SEO best practices",[450,2269,2270],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":110,"searchDepth":188,"depth":188,"links":2272},[2273,2274,2275,2276],{"id":2087,"depth":188,"text":2088},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Relevant images with alt text that reinforces the page's topic and entities.",{"publishedAt":197,"badge":2279,"type":200,"faq":2280,"related":2290,"cta":2297},{"label":877},[2281,2284,2287],{"question":2282,"answer":2283},"Do AI engines actually read alt text?","Yes. For text-processing models, alt attributes are treated as body text and contribute to topic signals. For multimodal models, alt text supplements the visual content analysis. In both cases, descriptive alt text adds value that empty or generic alt text does not.",{"question":2285,"answer":2286},"How long should alt text be?","125 characters or fewer for screen reader compatibility. Prioritise describing what the image shows and its relevance to the topic. Avoid keyword stuffing — write for clarity, and the entity signals will follow naturally.",{"question":2288,"answer":2289},"Should decorative images have alt text?","No. Purely decorative images (dividers, background textures, icons used for visual styling) should have empty alt text: alt=\"\". This tells assistive technologies and crawlers to skip the image. Informational images always need descriptive alt text.",[2291,2293,2295],{"title":628,"url":629,"description":2292},"How charts and data visualisations with good alt text reinforce specific claims.",{"title":221,"url":222,"description":2294},"How ImageObject schema can further reinforce image context.",{"title":1031,"url":956,"description":2296},"Tables as an alternative to visual charts for machine-readable data.",{"title":2298,"description":2299,"label":227,"url":228},"Are your images helping or hurting your GEO score?","TrustData flags missing alt text, empty alt attributes on informational images, and pages with no visual content.","/learn/geo/images",{"title":2302,"description":2303},"Images & Alt Text for AI Engines — GEO Optimisation Guide","Multimodal AI engines process images directly. Text-only models use alt attributes as additional text signals. Descriptive alt text adds entity mentions that boost citability.","5.learn/geo/images","wzxFO5fDkj79BRUUe0NX7JAtXuFhFi6Q-IvJ0zK3aC8",{"id":2307,"title":894,"body":2308,"description":2409,"extension":195,"meta":2410,"navigation":229,"path":895,"seo":2432,"stem":2435,"__hash__":2436},"content_en/5.learn/geo/intro-summary.md",{"type":8,"value":2309,"toc":2403},[2310,2315,2319,2322,2328,2331,2333,2347,2352,2362,2367,2372,2374,2394,2396],[11,2311,2312,2314],{},[14,2313,16],{}," — AI engines read the first paragraph to decide page relevance before processing the rest of the content. A direct, 40–80 word summary at the top guarantees the conclusion is captured — even if the model never reads further.",[24,2316,2318],{"id":2317},"why-intro-summaries-matter-for-ai-engines","Why Intro Summaries Matter for AI Engines",[11,2320,2321],{},"The first paragraph of a page carries disproportionate weight in how AI engines assess relevance. Before processing the full content, a model reads the opening paragraph to determine whether the page matches the user's query. A long, throat-clearing introduction — \"In today's rapidly changing digital landscape, businesses face unprecedented challenges...\" — wastes the model's attention budget without conveying any useful information.",[11,2323,512,2324,2327],{},[167,2325,801],{"href":515,"rel":2326},[171]," analysed pages that appeared as cited sources across ChatGPT, Perplexity, and Google AI Overviews. Pages with clear, direct opening summaries — stating the topic, the key claim, and who benefits — were cited significantly more often than pages with indirect or vague introductions. The mechanism is direct: the model's relevance assessment runs on the first N tokens of a document. A direct summary front-loads the most valuable signal.",[11,2329,2330],{},"This also intersects with the \"lost in the middle\" problem in LLM research: information at the beginning and end of a document is weighted more heavily than information in the middle. Your first paragraph is the highest-attention-weight content on the page.",[24,2332,89],{"id":88},[47,2334,2335,2338,2341,2344],{},[50,2336,2337],{},"First paragraph: 40–80 words",[50,2339,2340],{},"State: what the page is about + the key claim + who benefits",[50,2342,2343],{},"Avoid passive voice and filler phrases",[50,2345,2346],{},"The opening paragraph should be self-contained — it should make sense as a standalone excerpt when extracted by an AI engine",[11,2348,2349],{},[14,2350,2351],{},"Good example:",[2353,2354,2355],"blockquote",{},[11,2356,2357,2358,2361],{},"\"Schema markup is JSON-LD structured data added to a page's ",[19,2359,2360],{},"\u003Chead>"," that tells AI engines exactly what type of content the page contains. Pages with valid Article or FAQPage schema are cited 30–40% more often in AI-generated answers (Princeton, 2024). This guide covers implementation for the five most important schema types.\"",[11,2363,2364],{},[14,2365,2366],{},"Weak example:",[2353,2368,2369],{},[11,2370,2371],{},"\"In this comprehensive guide, we'll be taking an in-depth look at schema markup and exploring how it can potentially benefit your website in various ways...\"",[24,2373,120],{"id":119},[47,2375,2376,2382,2388],{},[50,2377,2378,2381],{},[14,2379,2380],{},"Starting with a question"," — \"Have you ever wondered why your content isn't being cited by AI?\" delays the actual answer; start with the answer",[50,2383,2384,2387],{},[14,2385,2386],{},"Repeating the page title verbatim"," — the first sentence should add information beyond the title, not restate it",[50,2389,2390,2393],{},[14,2391,2392],{},"Generic openers"," — \"Welcome to our guide on...\" or \"In today's digital landscape...\" are irrelevant filler that erodes the model's attention budget",[24,2395,161],{"id":160},[47,2397,2398],{},[50,2399,2400],{},[167,2401,738],{"href":515,"rel":2402},[171],{"title":110,"searchDepth":188,"depth":188,"links":2404},[2405,2406,2407,2408],{"id":2317,"depth":188,"text":2318},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"A concise opening paragraph (under 80 words) that states what the page is about and who it's for.",{"publishedAt":197,"badge":2411,"type":200,"faq":2412,"related":2422,"cta":2429},{"label":877},[2413,2416,2419],{"question":2414,"answer":2415},"How long should an intro summary be?","40–80 words. Short enough to be read as a standalone excerpt, long enough to convey topic, claim, and audience. Under 40 words is often too thin to establish full context; over 80 words risks becoming a second paragraph rather than a summary.",{"question":2417,"answer":2418},"Should the intro summary contain the target keywords?","Yes, naturally. The intro summary should mention the primary topic keyword because it's describing what the page is about — not to satisfy a keyword density requirement. Write for the reader first: if the summary is clear and accurate, the keywords will appear naturally.",{"question":2420,"answer":2421},"Does this advice apply to landing pages as well as articles?","Yes. Product landing pages should open with a clear value proposition: what the product does, who it's for, and what outcome it delivers. The same principle applies: front-load the most valuable information. AI assistants answering 'what does X product do?' read the first paragraph of the product page.",[2423,2425,2427],{"title":781,"url":904,"description":2424},"TL;DR blocks that complement the intro summary with structured bullet points.",{"title":890,"url":891,"description":2426},"How H1/H2 structure follows the intro summary to guide AI navigation.",{"title":1597,"url":1912,"description":2428},"How intro + FAQ together create the highest-citation-density page structure.",{"title":2430,"description":2431,"label":227,"url":228},"Does your intro summary pass the AI engine test?","TrustData analyses your opening paragraphs for directness, length, and key claim presence.",{"title":2433,"description":2434},"Intro Summary for AI Engines — GEO Optimisation Guide","AI engines read the first paragraph to decide relevance before processing the rest. A direct 40–80 word intro guarantees your key claim is captured, even if the model reads no further.","5.learn/geo/intro-summary","gWQrtBVAQSfpOUi3Q1zGe5-p9Q1Cvex6IMb9zblrJyw",{"id":2438,"title":898,"body":2439,"description":2547,"extension":195,"meta":2548,"navigation":229,"path":899,"seo":2570,"stem":2573,"__hash__":2574},"content_en/5.learn/geo/list-formatting.md",{"type":8,"value":2440,"toc":2541},[2441,2452,2456,2464,2467,2473,2475,2504,2506,2530,2532],[11,2442,2443,2445,2446,1622,2448,2451],{},[14,2444,16],{}," — Lists are the most extractable content format. AI engines generating bullet-point answers almost always draw from ",[19,2447,818],{},[19,2449,2450],{},"\u003Col>"," elements. A page with no lists forces the model to do more extraction work — and it may choose a competitor page that already has lists.",[24,2453,2455],{"id":2454},"why-list-formatting-matters-for-ai-engines","Why List Formatting Matters for AI Engines",[11,2457,2458,2459,819,2461,2463],{},"Lists are pre-extracted content. When an AI engine generates a bullet-point answer, it is drawing from ",[19,2460,818],{},[19,2462,2450],{}," elements on source pages — not from prose that it has to decompose into bullets. The structural work of presenting information as a list has already been done by the author, and the model can reproduce it directly.",[11,2465,2466],{},"This is not a formatting preference — it's a fundamental property of how extractive content systems work. Dense prose paragraphs require the model to identify which sentences are the key claims, decompose them, and restructure them as list items. This transformation introduces errors and paraphrasing. Lists eliminate the transformation entirely.",[11,2468,2469,2470,2472],{},"A page with no lists is structurally penalised in AI citation contexts. The model must do significantly more work to extract citation-quality content from prose compared to a well-structured list. When equivalent content exists on a competitor page as a ",[19,2471,818],{},", the competitor page will almost always be preferred as the citation source.",[24,2474,89],{"id":88},[47,2476,2477,2482,2487,2490,2493],{},[50,2478,1282,2479,2481],{},[19,2480,818],{}," for unordered items (features, options, considerations)",[50,2483,1282,2484,2486],{},[19,2485,2450],{}," for steps, rankings, or ordered processes",[50,2488,2489],{},"Keep list items parallel in structure — all start with a verb, or all start with a noun phrase",[50,2491,2492],{},"3–8 items per list is optimal; longer lists lose coherence and are harder to extract cleanly",[50,2494,2495,2496,2499,2500,2503],{},"Don't use ",[19,2497,2498],{},"\u003Cbr>"," separated lines, dashes, or ",[19,2501,2502],{},"•"," characters as fake lists — they're not semantic",[24,2505,120],{"id":119},[47,2507,2508,2518,2524],{},[50,2509,2510,2517],{},[14,2511,2512,2513,2516],{},"Using CSS-styled ",[19,2514,2515],{},"\u003Cdiv>"," elements as visual lists"," — these look like lists to humans but are invisible to semantic parsers",[50,2519,2520,2523],{},[14,2521,2522],{},"Nesting lists more than 2 levels deep"," — deeply nested lists are hard for models to extract without losing structure",[50,2525,2526,2529],{},[14,2527,2528],{},"Lists of one item"," — a single-item \"list\" is just a paragraph with extra markup; combine it with adjacent content or remove the list wrapper",[24,2531,161],{"id":160},[47,2533,2534],{},[50,2535,2536],{},[167,2537,2540],{"href":2538,"rel":2539},"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul",[171],"MDN — The Unordered List element",{"title":110,"searchDepth":188,"depth":188,"links":2542},[2543,2544,2545,2546],{"id":2454,"depth":188,"text":2455},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Bullet or numbered lists that present information in a structure AI engines can extract cleanly.",{"publishedAt":197,"badge":2549,"type":200,"faq":2550,"related":2560,"cta":2567},{"label":877},[2551,2554,2557],{"question":2552,"answer":2553},"Should I convert all my prose paragraphs to lists?","No. Lists are best for discrete, parallel items — features, steps, options, examples. Explanatory prose (why something works, how a concept relates to another) reads better as paragraphs. A good page has both: prose for explanation, lists for enumeration.",{"question":2555,"answer":2556},"Does the number of list items affect citation quality?","Lists of 3–7 items are cited most cleanly. Lists under 3 items are often better expressed as inline text. Lists over 10 items lose coherence and are harder for models to reproduce accurately. If you have more than 8 items, consider splitting into two categorised lists.",{"question":2558,"answer":2559},"Are ordered lists (ol) treated differently than unordered lists (ul)?","Yes, semantically. Ordered lists signal sequence or priority — use them for step-by-step processes, rankings, or numbered instructions. AI engines generating 'step-by-step guide' responses preferentially draw from \u003Col> elements. Using \u003Cul> for ordered steps misses this signal.",[2561,2563,2565],{"title":890,"url":891,"description":2562},"How heading structure organises the sections that contain your lists.",{"title":781,"url":904,"description":2564},"Summary bullet points as the highest-priority list on your page.",{"title":1031,"url":956,"description":2566},"When to use a table instead of a list for comparative data.",{"title":2568,"description":2569,"label":227,"url":228},"Does your content use extractable list formatting?","TrustData checks for semantic list usage, fake CSS lists, and pages with no structured enumeration.",{"title":2571,"description":2572},"List Formatting for AI Engines — GEO Optimisation Guide","Lists are pre-extracted content. AI engines generating bullet-point answers draw directly from ul/ol elements. Pages with no lists force models to work harder — and cite competitors instead.","5.learn/geo/list-formatting","ubtLzZktg0D-wbSIl8xJqDSnCE7d3yplQoBxNBXaX0E",{"id":2576,"title":213,"body":2577,"description":2759,"extension":195,"meta":2760,"navigation":229,"path":214,"seo":2782,"stem":2785,"__hash__":2786},"content_en/5.learn/geo/llms-txt.md",{"type":8,"value":2578,"toc":2753},[2579,2589,2593,2607,2616,2623,2629,2631,2641,2696,2703,2705,2729,2731,2750],[11,2580,2581,572,2583,2585,2586,2588],{},[14,2582,16],{},[19,2584,213],{}," is an emerging standard (llmstxt.org, 2024) analogous to ",[19,2587,21],{}," but specifically for AI crawlers. It provides a curated, LLM-friendly summary of your site in Markdown. Perplexity already supports it. It's a 30-minute implementation with long-term AI discoverability upside.",[24,2590,2592],{"id":2591},"why-llmstxt-matters-for-ai-engines","Why llms.txt Matters for AI Engines",[11,2594,512,2595,2597,2598,2603,2604,2606],{},[19,2596,213],{}," specification (introduced at ",[167,2599,2602],{"href":2600,"rel":2601},"https://llmstxt.org",[171],"llmstxt.org"," in 2024) addresses a fundamental problem: AI engines that crawl the web to answer queries receive all content equally, without knowing which pages are most important or authoritative for a given site. The ",[19,2605,213],{}," file solves this by providing a curated, LLM-readable index of your site's most important content.",[11,2608,2609,2610,2612,2613,2615],{},"Unlike ",[19,2611,21],{},", which tells crawlers what not to access, ",[19,2614,213],{}," tells AI engines what is most important and how to understand your site. It's a structured summary in plain Markdown format — site name, description, and a list of key pages with brief descriptions.",[11,2617,2618,2619,2622],{},"The spec also defines ",[19,2620,2621],{},"llms-full.txt"," — a companion file containing the complete content of your key pages in a single, LLM-consumable document. This is particularly valuable for AI engines that build knowledge graphs of sites: rather than crawling 500 pages, they can read one file that contains everything important.",[11,2624,2625,2626,2628],{},"Perplexity announced support for ",[19,2627,213],{}," in early 2025. As the spec gains adoption, AI engines that support it will have a more accurate, curated understanding of your site compared to AI engines that have to infer structure from crawling.",[24,2630,89],{"id":88},[11,2632,2633,2634,2637,2638,322],{},"Create ",[19,2635,2636],{},"/llms.txt"," at your site root, accessible at ",[19,2639,2640],{},"https://yourdomain.com/llms.txt",[102,2642,2646],{"className":2643,"code":2644,"language":2645,"meta":110,"style":110},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Your Company Name\n\n> One paragraph description of your site: what it does, who it's for, and what makes it authoritative.\n\n## Key Pages\n\n- [Home](https://yourdomain.com/): Main landing page — overview of what we do\n- [Product](https://yourdomain.com/product): Full product description and features\n- [Blog](https://yourdomain.com/blog): Articles and guides on [your topic]\n- [About](https://yourdomain.com/about): Team, mission, and company background\n","markdown",[19,2647,2648,2653,2658,2663,2667,2672,2676,2681,2686,2691],{"__ignoreMap":110},[288,2649,2650],{"class":290,"line":291},[288,2651,2652],{},"# Your Company Name\n",[288,2654,2655],{"class":290,"line":188},[288,2656,2657],{"emptyLinePlaceholder":229},"\n",[288,2659,2660],{"class":290,"line":335},[288,2661,2662],{},"> One paragraph description of your site: what it does, who it's for, and what makes it authoritative.\n",[288,2664,2665],{"class":290,"line":356},[288,2666,2657],{"emptyLinePlaceholder":229},[288,2668,2669],{"class":290,"line":377},[288,2670,2671],{},"## Key Pages\n",[288,2673,2674],{"class":290,"line":397},[288,2675,2657],{"emptyLinePlaceholder":229},[288,2677,2678],{"class":290,"line":1758},[288,2679,2680],{},"- [Home](https://yourdomain.com/): Main landing page — overview of what we do\n",[288,2682,2683],{"class":290,"line":1773},[288,2684,2685],{},"- [Product](https://yourdomain.com/product): Full product description and features\n",[288,2687,2688],{"class":290,"line":1795},[288,2689,2690],{},"- [Blog](https://yourdomain.com/blog): Articles and guides on [your topic]\n",[288,2692,2693],{"class":290,"line":1813},[288,2694,2695],{},"- [About](https://yourdomain.com/about): Team, mission, and company background\n",[11,2697,2698,2699,2702],{},"Optionally, create ",[19,2700,2701],{},"/llms-full.txt"," with the complete text content of your most important pages.",[24,2704,120],{"id":119},[47,2706,2707,2713,2721],{},[50,2708,2709,2712],{},[14,2710,2711],{},"Using HTML instead of plain Markdown"," — the spec explicitly requires plain Markdown; HTML tags will confuse LLM parsers",[50,2714,2715,572,2718,2720],{},[14,2716,2717],{},"Not updating when major pages are added",[19,2719,213],{}," should reflect your current site structure; treat it like a sitemap",[50,2722,2723,572,2726,2728],{},[14,2724,2725],{},"Including pages you don't want AI engines to use",[19,2727,213],{}," is a positive curation tool; only include pages you actively want AI engines to read and cite",[24,2730,161],{"id":160},[47,2732,2733,2739,2745],{},[50,2734,2735],{},[167,2736,2738],{"href":2600,"rel":2737},[171],"llmstxt.org specification",[50,2740,2741],{},[167,2742,2744],{"href":177,"rel":2743},[171],"Anthropic crawl policy",[50,2746,2747],{},[167,2748,172],{"href":169,"rel":2749},[171],[450,2751,2752],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":110,"searchDepth":188,"depth":188,"links":2754},[2755,2756,2757,2758],{"id":2591,"depth":188,"text":2592},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"A plain-text file at /llms.txt that tells AI crawlers what your site is about and what they may use.",{"publishedAt":197,"badge":2761,"type":200,"faq":2762,"related":2772,"cta":2779},{"label":199},[2763,2766,2769],{"question":2764,"answer":2765},"Is llms.txt an official standard or still experimental?","As of 2025, llms.txt is a community-driven specification that major AI companies have not officially mandated, but several AI engines (notably Perplexity) have announced support. It's analogous to the early days of robots.txt — not yet universal, but implemented by enough tooling to be worth the 30-minute setup cost.",{"question":2767,"answer":2768},"Does llms.txt replace robots.txt for AI crawlers?","No. robots.txt controls access (what crawlers can and cannot fetch). llms.txt is a curation guide (what content is most important and how to understand the site). Both serve different purposes and should both be present. robots.txt for access control, llms.txt for content prioritisation.",{"question":2770,"answer":2771},"What should I put in the site description in llms.txt?","Write it as if you were explaining your site to someone who will summarise it in one paragraph. Include: what the site/company does, who it serves, what makes it authoritative or unique, and the primary topics covered. 2–4 sentences is ideal. This description may be directly used by AI engines when generating summaries of your site.",[2773,2775,2777],{"title":6,"url":230,"description":2774},"robots.txt access control — the prerequisite for llms.txt to have any effect.",{"title":221,"url":222,"description":2776},"Structured data that complements llms.txt for individual page context.",{"title":894,"url":895,"description":2778},"Page-level intro summaries that should mirror your llms.txt page descriptions.",{"title":2780,"description":2781,"label":227,"url":228},"Does your site have an llms.txt file?","TrustData checks for llms.txt presence, format validity, and whether your key pages are included.",{"title":2783,"description":2784},"llms.txt — AI Crawler Guidance File | GEO Optimisation Guide","The llms.txt spec (2024) gives AI engines a curated, Markdown-formatted summary of your site. Perplexity already supports it. A 30-minute implementation with long-term discoverability upside.","5.learn/geo/llms-txt","i33baq32I7tfceHwo9wwaONZCwXIH3fUWupW4Y_zzUg",{"id":2788,"title":2789,"body":2790,"description":3032,"extension":195,"meta":3033,"navigation":229,"path":3055,"seo":3056,"stem":3059,"__hash__":3060},"content_en/5.learn/geo/on-page-reviews.md","On-Page Reviews & Ratings",{"type":8,"value":2791,"toc":3026},[2792,2801,2805,2815,2830,2833,2835,2844,2953,2973,2975,2998,3000,3023],[11,2793,2794,2796,2797,2800],{},[14,2795,16],{}," — AI product recommendations weight social proof. ",[19,2798,2799],{},"AggregateRating"," schema with a score and review count signals credibility. Reviews also provide natural language about the product that LLMs reference when generating descriptions.",[24,2802,2804],{"id":2803},"why-on-page-reviews-matter-for-ai-engines","Why On-Page Reviews Matter for AI Engines",[11,2806,2807,2808,2811,2812,2814],{},"AI product recommendations incorporate social proof signals in their ranking logic. A product page with a visible ",[19,2809,2810],{},"4.8/5 from 124 reviews"," rating — backed by ",[19,2813,2799],{}," schema — provides two distinct signals:",[2816,2817,2818,2824],"ol",{},[50,2819,2820,2823],{},[14,2821,2822],{},"Credibility signal"," — a quantified, verifiable trust indicator that the model can cite (\"TrustData is rated 4.8/5 by 124 customers\")",[50,2825,2826,2829],{},[14,2827,2828],{},"Natural language signal"," — individual review text contains natural language descriptions of the product that LLMs reference when generating product descriptions and comparison answers",[11,2831,2832],{},"The second signal is underappreciated. Review text contains the vocabulary that real users use to describe the product. If customers consistently say \"easy setup\" and \"recovered our missing conversions\", those phrases become high-frequency descriptors the model associates with the product. Pages with embedded review text effectively get user-generated content that describes the product in natural, citation-friendly language.",[24,2834,89],{"id":88},[47,2836,2837,2840],{},[50,2838,2839],{},"Embed actual review text on the page (not just a star widget loaded from a third-party iframe)",[50,2841,271,2842,279],{},[19,2843,2799],{},[102,2845,2847],{"className":282,"code":2846,"language":284,"meta":110,"style":110},"{\n  \"@type\": \"AggregateRating\",\n  \"ratingValue\": \"4.8\",\n  \"reviewCount\": \"124\",\n  \"bestRating\": \"5\",\n  \"worstRating\": \"1\"\n}\n",[19,2848,2849,2853,2871,2891,2911,2931,2949],{"__ignoreMap":110},[288,2850,2851],{"class":290,"line":291},[288,2852,308],{"class":294},[288,2854,2855,2857,2859,2861,2863,2865,2867,2869],{"class":290,"line":188},[288,2856,313],{"class":294},[288,2858,317],{"class":316},[288,2860,295],{"class":294},[288,2862,322],{"class":294},[288,2864,325],{"class":294},[288,2866,2799],{"class":298},[288,2868,295],{"class":294},[288,2870,332],{"class":294},[288,2872,2873,2875,2878,2880,2882,2884,2887,2889],{"class":290,"line":335},[288,2874,313],{"class":294},[288,2876,2877],{"class":316},"ratingValue",[288,2879,295],{"class":294},[288,2881,322],{"class":294},[288,2883,325],{"class":294},[288,2885,2886],{"class":298},"4.8",[288,2888,295],{"class":294},[288,2890,332],{"class":294},[288,2892,2893,2895,2898,2900,2902,2904,2907,2909],{"class":290,"line":356},[288,2894,313],{"class":294},[288,2896,2897],{"class":316},"reviewCount",[288,2899,295],{"class":294},[288,2901,322],{"class":294},[288,2903,325],{"class":294},[288,2905,2906],{"class":298},"124",[288,2908,295],{"class":294},[288,2910,332],{"class":294},[288,2912,2913,2915,2918,2920,2922,2924,2927,2929],{"class":290,"line":377},[288,2914,313],{"class":294},[288,2916,2917],{"class":316},"bestRating",[288,2919,295],{"class":294},[288,2921,322],{"class":294},[288,2923,325],{"class":294},[288,2925,2926],{"class":298},"5",[288,2928,295],{"class":294},[288,2930,332],{"class":294},[288,2932,2933,2935,2938,2940,2942,2944,2947],{"class":290,"line":397},[288,2934,313],{"class":294},[288,2936,2937],{"class":316},"worstRating",[288,2939,295],{"class":294},[288,2941,322],{"class":294},[288,2943,325],{"class":294},[288,2945,2946],{"class":298},"1",[288,2948,394],{"class":294},[288,2950,2951],{"class":290,"line":1758},[288,2952,400],{"class":294},[47,2954,2955,2970],{},[50,2956,2957,2958,2961,2962,535,2964,964,2967],{},"Add at least 3 individual ",[19,2959,2960],{},"Review"," objects in schema with ",[19,2963,299],{},[19,2965,2966],{},"reviewBody",[19,2968,2969],{},"reviewRating",[50,2971,2972],{},"Ensure the schema data matches what's visible on the page",[24,2974,120],{"id":119},[47,2976,2977,2983,2992],{},[50,2978,2979,2982],{},[14,2980,2981],{},"Third-party review widgets in iframes"," — content in iframes is often not indexed; embed reviews in native HTML with schema markup",[50,2984,2985,2991],{},[14,2986,2987,2988,2990],{},"No ",[19,2989,2897],{}," in AggregateRating"," — a rating without a count (\"4.8/5\") is less credible than a rating with a count (\"4.8/5 from 124 reviews\"); always include reviewCount",[50,2993,2994,2997],{},[14,2995,2996],{},"Generic, anonymised review text"," — \"Great product! — Anonymous\" provides no entity signals; named reviews with specific feedback are more valuable",[24,2999,161],{"id":160},[47,3001,3002,3009,3016],{},[50,3003,3004],{},[167,3005,3008],{"href":3006,"rel":3007},"https://schema.org/AggregateRating",[171],"schema.org/AggregateRating",[50,3010,3011],{},[167,3012,3015],{"href":3013,"rel":3014},"https://schema.org/Review",[171],"schema.org/Review",[50,3017,3018],{},[167,3019,3022],{"href":3020,"rel":3021},"https://developers.google.com/search/docs/appearance/structured-data/review-snippet",[171],"Google — Review snippet structured data",[450,3024,3025],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":110,"searchDepth":188,"depth":188,"links":3027},[3028,3029,3030,3031],{"id":2803,"depth":188,"text":2804},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Customer reviews and aggregate ratings directly embedded on the product page.",{"publishedAt":197,"badge":3034,"type":200,"faq":3035,"related":3045,"cta":3052},{"label":1018},[3036,3039,3042],{"question":3037,"answer":3038},"Can I use reviews from third-party platforms like G2 or Capterra?","Yes, if you have permission to display them. Embed the review text directly in your page HTML (not via iframe) and use Review schema with the original review author's name. Attribution to the source platform (G2, Capterra) is good practice. Third-party validated reviews carry additional credibility signals.",{"question":3040,"answer":3041},"How many reviews do I need before adding AggregateRating schema?","Google requires at least 1 review but recommends enough reviews to make the rating statistically meaningful. Practically, 10+ reviews is a reasonable threshold before showing aggregate ratings publicly. With fewer than 10 reviews, a single outlier rating can make the average misleading.",{"question":3043,"answer":3044},"Do I need reviews on every product page or just the main product page?","Add reviews to every page where a specific product is the primary subject. For multi-product sites, each product page should have its own AggregateRating based on reviews specific to that product — not a site-wide average.",[3046,3048,3050],{"title":1034,"url":1035,"description":3047},"AggregateRating is a field within the parent Product schema block.",{"title":761,"url":762,"description":3049},"Named client quotes as a complement to structured review data.",{"title":767,"url":768,"description":3051},"Quantified adoption indicators that compound the review signal.",{"title":3053,"description":3054,"label":227,"url":228},"Are your reviews visible to AI engines?","TrustData checks for iframe-embedded reviews, missing AggregateRating schema, and anonymous review text that lacks entity signals.","/learn/geo/on-page-reviews",{"title":3057,"description":3058},"On-Page Reviews & Ratings for AI Engines — GEO Optimisation Guide","AI product recommendations weight social proof. AggregateRating schema signals credibility. Review text provides natural language descriptions that LLMs reference when generating product answers.","5.learn/geo/on-page-reviews","HB_6TnipoYc-kc7g1yBRZVC3L-v0YHh_HruGUYwVito",{"id":3062,"title":3063,"body":3064,"description":3303,"extension":195,"meta":3304,"navigation":229,"path":3326,"seo":3327,"stem":3330,"__hash__":3331},"content_en/5.learn/geo/pricing-visibility.md","Pricing Visibility",{"type":8,"value":3065,"toc":3297},[3066,3071,3075,3078,3093,3096,3099,3101,3112,3240,3255,3257,3278,3280,3295],[11,3067,3068,3070],{},[14,3069,16],{}," — AI assistants answering \"how much does X cost?\" need machine-readable price data. Pages without visible pricing, or pricing loaded via JavaScript after render, are invisible to AI shopping queries.",[24,3072,3074],{"id":3073},"why-pricing-visibility-matters-for-ai-engines","Why Pricing Visibility Matters for AI Engines",[11,3076,3077],{},"AI shopping assistants answering pricing queries — \"how much does TrustData cost?\", \"what is the cheapest analytics tool under €50/month?\" — need price data that is:",[2816,3079,3080,3083,3090],{},[50,3081,3082],{},"Present in the page HTML (not hidden or loaded post-render via JavaScript)",[50,3084,3085,3086,3089],{},"Machine-readable (ideally in ",[19,3087,3088],{},"schema.org/Offer"," markup)",[50,3091,3092],{},"Unambiguous (specific numbers, not \"contact us for pricing\")",[11,3094,3095],{},"Pages that hide pricing behind a \"contact us for a quote\" form are effectively invisible to AI shopping queries. The model cannot fabricate a price — it will skip the page and cite a competitor that publishes pricing openly.",[11,3097,3098],{},"JavaScript-rendered pricing is also a problem. Many modern e-commerce and SaaS pricing pages load prices dynamically after the initial page render. AI crawlers that don't execute JavaScript will see no pricing data in the HTML, even if users see it in their browser. The fix is to either server-side render pricing or ensure the price is in the initial HTML payload.",[24,3100,89],{"id":88},[47,3102,3103,3106],{},[50,3104,3105],{},"Ensure pricing is in the initial server-rendered HTML (not loaded via JavaScript)",[50,3107,271,3108,3111],{},[19,3109,3110],{},"Offer"," schema for each price point:",[102,3113,3115],{"className":282,"code":3114,"language":284,"meta":110,"style":110},"{\n  \"@type\": \"Offer\",\n  \"name\": \"Pro Plan\",\n  \"price\": \"99.00\",\n  \"priceCurrency\": \"EUR\",\n  \"availability\": \"https://schema.org/InStock\",\n  \"priceValidUntil\": \"2026-12-31\"\n}\n",[19,3116,3117,3121,3139,3158,3178,3198,3218,3236],{"__ignoreMap":110},[288,3118,3119],{"class":290,"line":291},[288,3120,308],{"class":294},[288,3122,3123,3125,3127,3129,3131,3133,3135,3137],{"class":290,"line":188},[288,3124,313],{"class":294},[288,3126,317],{"class":316},[288,3128,295],{"class":294},[288,3130,322],{"class":294},[288,3132,325],{"class":294},[288,3134,3110],{"class":298},[288,3136,295],{"class":294},[288,3138,332],{"class":294},[288,3140,3141,3143,3145,3147,3149,3151,3154,3156],{"class":290,"line":335},[288,3142,313],{"class":294},[288,3144,340],{"class":316},[288,3146,295],{"class":294},[288,3148,322],{"class":294},[288,3150,325],{"class":294},[288,3152,3153],{"class":298},"Pro Plan",[288,3155,295],{"class":294},[288,3157,332],{"class":294},[288,3159,3160,3162,3165,3167,3169,3171,3174,3176],{"class":290,"line":356},[288,3161,313],{"class":294},[288,3163,3164],{"class":316},"price",[288,3166,295],{"class":294},[288,3168,322],{"class":294},[288,3170,325],{"class":294},[288,3172,3173],{"class":298},"99.00",[288,3175,295],{"class":294},[288,3177,332],{"class":294},[288,3179,3180,3182,3185,3187,3189,3191,3194,3196],{"class":290,"line":377},[288,3181,313],{"class":294},[288,3183,3184],{"class":316},"priceCurrency",[288,3186,295],{"class":294},[288,3188,322],{"class":294},[288,3190,325],{"class":294},[288,3192,3193],{"class":298},"EUR",[288,3195,295],{"class":294},[288,3197,332],{"class":294},[288,3199,3200,3202,3205,3207,3209,3211,3214,3216],{"class":290,"line":397},[288,3201,313],{"class":294},[288,3203,3204],{"class":316},"availability",[288,3206,295],{"class":294},[288,3208,322],{"class":294},[288,3210,325],{"class":294},[288,3212,3213],{"class":298},"https://schema.org/InStock",[288,3215,295],{"class":294},[288,3217,332],{"class":294},[288,3219,3220,3222,3225,3227,3229,3231,3234],{"class":290,"line":1758},[288,3221,313],{"class":294},[288,3223,3224],{"class":316},"priceValidUntil",[288,3226,295],{"class":294},[288,3228,322],{"class":294},[288,3230,325],{"class":294},[288,3232,3233],{"class":298},"2026-12-31",[288,3235,394],{"class":294},[288,3237,3238],{"class":290,"line":1773},[288,3239,400],{"class":294},[47,3241,3242,3248],{},[50,3243,3244,3245,3247],{},"For tiered pricing, create one ",[19,3246,3110],{}," per tier",[50,3249,3250,3251,3254],{},"If you have regional pricing, use ",[19,3252,3253],{},"eligibleRegion"," in the Offer schema",[24,3256,120],{"id":119},[47,3258,3259,3265,3271],{},[50,3260,3261,3264],{},[14,3262,3263],{},"Pricing only in a JavaScript-rendered component"," — AI crawlers see an empty price slot; server-side render your pricing",[50,3266,3267,3270],{},[14,3268,3269],{},"\"Starting from\" pricing without a specific number"," — vague price floors are not machine-readable; provide the specific entry price",[50,3272,3273,3277],{},[14,3274,2987,3275],{},[19,3276,3224],{}," — without an expiry date, stale pricing in AI engines' knowledge cache can cause user confusion",[24,3279,161],{"id":160},[47,3281,3282,3288],{},[50,3283,3284],{},[167,3285,3088],{"href":3286,"rel":3287},"https://schema.org/Offer",[171],[50,3289,3290],{},[167,3291,3294],{"href":3292,"rel":3293},"https://developers.google.com/search/docs/appearance/structured-data/product#price",[171],"Google — Price structured data",[450,3296,3025],{},{"title":110,"searchDepth":188,"depth":188,"links":3298},[3299,3300,3301,3302],{"id":3073,"depth":188,"text":3074},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Clear, machine-readable pricing on the page that AI shopping assistants can extract.",{"publishedAt":197,"badge":3305,"type":200,"faq":3306,"related":3316,"cta":3323},{"label":1018},[3307,3310,3313],{"question":3308,"answer":3309},"What if we have custom or negotiated pricing?","For enterprise or custom pricing, include the base/list price in schema with a note that enterprise pricing varies. This gives AI engines something to cite for base pricing queries while making clear that custom pricing exists. Completely hiding pricing is worse than showing a starting price.",{"question":3311,"answer":3312},"How do I handle multi-currency pricing for international sites?","Create separate Offer blocks for each currency, using the eligibleRegion field to specify which geographic region each price applies to. For example, one Offer for EUR targeting FR/DE/IT and another for USD targeting US/CA. This allows AI engines to cite the correct price for each user's location.",{"question":3314,"answer":3315},"Does pricing visibility affect Google Shopping eligibility?","Yes. Google requires valid Product + Offer schema with a specific price and currency for Shopping feature eligibility. Pages without price data in schema are ineligible for Google Shopping and Google AI Overview shopping carousels.",[3317,3319,3321],{"title":1034,"url":1035,"description":3318},"The parent Product schema that contains your Offer pricing blocks.",{"title":2789,"url":3055,"description":3320},"AggregateRating alongside pricing creates a complete purchase decision context.",{"title":1031,"url":956,"description":3322},"Pricing tier comparison tables that AI engines extract for \"plan comparison\" queries.",{"title":3324,"description":3325,"label":227,"url":228},"Is your pricing visible to AI shopping assistants?","TrustData checks for JavaScript-rendered pricing, missing Offer schema, and vague price descriptions that AI engines cannot extract.","/learn/geo/pricing-visibility",{"title":3328,"description":3329},"Pricing Visibility for AI Shopping Assistants — GEO Optimisation Guide","AI assistants answering pricing queries need machine-readable price data. Pages with JS-rendered pricing or no prices are invisible to AI shopping queries.","5.learn/geo/pricing-visibility","89fUJv6GxJr04a-YRcolWLVsUSuZ4pX5jvlmHLHQ4bc",{"id":3333,"title":1034,"body":3334,"description":3789,"extension":195,"meta":3790,"navigation":229,"path":1035,"seo":3812,"stem":3815,"__hash__":3816},"content_en/5.learn/geo/product-schema.md",{"type":8,"value":3335,"toc":3783},[3336,3344,3348,3351,3357,3363,3365,3706,3726,3728,3763,3765,3780],[11,3337,3338,3340,3341,3343],{},[14,3339,16],{}," — AI shopping assistants (ChatGPT shopping, Perplexity Shopping, Google AI Overviews for products) read ",[19,3342,942],{}," schema to extract name, description, price, availability, and ratings. Without it, they cannot reliably extract these details from prose — and your product becomes invisible to AI-driven shopping queries.",[24,3345,3347],{"id":3346},"why-product-schema-matters-for-ai-engines","Why Product Schema Matters for AI Engines",[11,3349,3350],{},"AI shopping assistants are a fast-growing category of AI engine use case. When a user asks \"what are the best analytics tools under €100/month\" or \"compare TrustData vs GA4\", the AI engine searches for pages with machine-readable product data — not just product descriptions written in prose.",[11,3352,3353,3356],{},[19,3354,3355],{},"schema.org/Product"," markup gives the model a structured data object with defined fields: product name, description, price, currency, availability, aggregate rating, and review count. When this data is present in JSON-LD, the model can extract it with certainty. When it's only in prose (\"TrustData Pro costs €99/month and is rated 4.8/5 by our customers\"), the model has to parse natural language — introducing ambiguity and extraction errors.",[11,3358,3359,3360,3362],{},"Product schema also feeds directly into Google Merchant Center eligibility and Google Shopping, which is now deeply integrated with Google AI Overviews. A product page without valid ",[19,3361,942],{}," schema cannot appear in Google's AI-powered shopping features.",[24,3364,89],{"id":88},[102,3366,3368],{"className":282,"code":3367,"language":284,"meta":110,"style":110},"{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"Product\",\n  \"name\": \"TrustData Pro\",\n  \"description\": \"First-party analytics platform for e-commerce brands. Captures 100% of conversions invisible to GA4.\",\n  \"brand\": { \"@type\": \"Brand\", \"name\": \"TrustData\" },\n  \"offers\": {\n    \"@type\": \"Offer\",\n    \"price\": \"99.00\",\n    \"priceCurrency\": \"EUR\",\n    \"availability\": \"https://schema.org/InStock\",\n    \"url\": \"https://trustdata.tech/pricing\"\n  },\n  \"aggregateRating\": {\n    \"@type\": \"AggregateRating\",\n    \"ratingValue\": \"4.8\",\n    \"reviewCount\": \"124\",\n    \"bestRating\": \"5\"\n  }\n}\n",[19,3369,3370,3374,3392,3410,3429,3449,3499,3512,3530,3548,3566,3584,3601,3607,3621,3640,3659,3678,3695,3701],{"__ignoreMap":110},[288,3371,3372],{"class":290,"line":291},[288,3373,308],{"class":294},[288,3375,3376,3378,3380,3382,3384,3386,3388,3390],{"class":290,"line":188},[288,3377,313],{"class":294},[288,3379,1670],{"class":316},[288,3381,295],{"class":294},[288,3383,322],{"class":294},[288,3385,325],{"class":294},[288,3387,1679],{"class":298},[288,3389,295],{"class":294},[288,3391,332],{"class":294},[288,3393,3394,3396,3398,3400,3402,3404,3406,3408],{"class":290,"line":335},[288,3395,313],{"class":294},[288,3397,317],{"class":316},[288,3399,295],{"class":294},[288,3401,322],{"class":294},[288,3403,325],{"class":294},[288,3405,942],{"class":298},[288,3407,295],{"class":294},[288,3409,332],{"class":294},[288,3411,3412,3414,3416,3418,3420,3422,3425,3427],{"class":290,"line":356},[288,3413,313],{"class":294},[288,3415,340],{"class":316},[288,3417,295],{"class":294},[288,3419,322],{"class":294},[288,3421,325],{"class":294},[288,3423,3424],{"class":298},"TrustData Pro",[288,3426,295],{"class":294},[288,3428,332],{"class":294},[288,3430,3431,3433,3436,3438,3440,3442,3445,3447],{"class":290,"line":377},[288,3432,313],{"class":294},[288,3434,3435],{"class":316},"description",[288,3437,295],{"class":294},[288,3439,322],{"class":294},[288,3441,325],{"class":294},[288,3443,3444],{"class":298},"First-party analytics platform for e-commerce brands. Captures 100% of conversions invisible to GA4.",[288,3446,295],{"class":294},[288,3448,332],{"class":294},[288,3450,3451,3453,3456,3458,3460,3463,3465,3467,3469,3471,3473,3476,3478,3481,3483,3485,3487,3489,3491,3494,3496],{"class":290,"line":397},[288,3452,313],{"class":294},[288,3454,3455],{"class":316},"brand",[288,3457,295],{"class":294},[288,3459,322],{"class":294},[288,3461,3462],{"class":294}," {",[288,3464,325],{"class":294},[288,3466,317],{"class":1723},[288,3468,295],{"class":294},[288,3470,322],{"class":294},[288,3472,325],{"class":294},[288,3474,3475],{"class":298},"Brand",[288,3477,295],{"class":294},[288,3479,3480],{"class":294},",",[288,3482,325],{"class":294},[288,3484,340],{"class":1723},[288,3486,295],{"class":294},[288,3488,322],{"class":294},[288,3490,325],{"class":294},[288,3492,3493],{"class":298},"TrustData",[288,3495,295],{"class":294},[288,3497,3498],{"class":294}," },\n",[288,3500,3501,3503,3506,3508,3510],{"class":290,"line":1758},[288,3502,313],{"class":294},[288,3504,3505],{"class":316},"offers",[288,3507,295],{"class":294},[288,3509,322],{"class":294},[288,3511,1770],{"class":294},[288,3513,3514,3516,3518,3520,3522,3524,3526,3528],{"class":290,"line":1773},[288,3515,1720],{"class":294},[288,3517,317],{"class":1723},[288,3519,295],{"class":294},[288,3521,322],{"class":294},[288,3523,325],{"class":294},[288,3525,3110],{"class":298},[288,3527,295],{"class":294},[288,3529,332],{"class":294},[288,3531,3532,3534,3536,3538,3540,3542,3544,3546],{"class":290,"line":1795},[288,3533,1720],{"class":294},[288,3535,3164],{"class":1723},[288,3537,295],{"class":294},[288,3539,322],{"class":294},[288,3541,325],{"class":294},[288,3543,3173],{"class":298},[288,3545,295],{"class":294},[288,3547,332],{"class":294},[288,3549,3550,3552,3554,3556,3558,3560,3562,3564],{"class":290,"line":1813},[288,3551,1720],{"class":294},[288,3553,3184],{"class":1723},[288,3555,295],{"class":294},[288,3557,322],{"class":294},[288,3559,325],{"class":294},[288,3561,3193],{"class":298},[288,3563,295],{"class":294},[288,3565,332],{"class":294},[288,3567,3568,3570,3572,3574,3576,3578,3580,3582],{"class":290,"line":1819},[288,3569,1720],{"class":294},[288,3571,3204],{"class":1723},[288,3573,295],{"class":294},[288,3575,322],{"class":294},[288,3577,325],{"class":294},[288,3579,3213],{"class":298},[288,3581,295],{"class":294},[288,3583,332],{"class":294},[288,3585,3586,3588,3590,3592,3594,3596,3599],{"class":290,"line":1825},[288,3587,1720],{"class":294},[288,3589,361],{"class":1723},[288,3591,295],{"class":294},[288,3593,322],{"class":294},[288,3595,325],{"class":294},[288,3597,3598],{"class":298},"https://trustdata.tech/pricing",[288,3600,394],{"class":294},[288,3602,3604],{"class":290,"line":3603},13,[288,3605,3606],{"class":294},"  },\n",[288,3608,3610,3612,3615,3617,3619],{"class":290,"line":3609},14,[288,3611,313],{"class":294},[288,3613,3614],{"class":316},"aggregateRating",[288,3616,295],{"class":294},[288,3618,322],{"class":294},[288,3620,1770],{"class":294},[288,3622,3624,3626,3628,3630,3632,3634,3636,3638],{"class":290,"line":3623},15,[288,3625,1720],{"class":294},[288,3627,317],{"class":1723},[288,3629,295],{"class":294},[288,3631,322],{"class":294},[288,3633,325],{"class":294},[288,3635,2799],{"class":298},[288,3637,295],{"class":294},[288,3639,332],{"class":294},[288,3641,3643,3645,3647,3649,3651,3653,3655,3657],{"class":290,"line":3642},16,[288,3644,1720],{"class":294},[288,3646,2877],{"class":1723},[288,3648,295],{"class":294},[288,3650,322],{"class":294},[288,3652,325],{"class":294},[288,3654,2886],{"class":298},[288,3656,295],{"class":294},[288,3658,332],{"class":294},[288,3660,3662,3664,3666,3668,3670,3672,3674,3676],{"class":290,"line":3661},17,[288,3663,1720],{"class":294},[288,3665,2897],{"class":1723},[288,3667,295],{"class":294},[288,3669,322],{"class":294},[288,3671,325],{"class":294},[288,3673,2906],{"class":298},[288,3675,295],{"class":294},[288,3677,332],{"class":294},[288,3679,3681,3683,3685,3687,3689,3691,3693],{"class":290,"line":3680},18,[288,3682,1720],{"class":294},[288,3684,2917],{"class":1723},[288,3686,295],{"class":294},[288,3688,322],{"class":294},[288,3690,325],{"class":294},[288,3692,2926],{"class":298},[288,3694,394],{"class":294},[288,3696,3698],{"class":290,"line":3697},19,[288,3699,3700],{"class":294},"  }\n",[288,3702,3704],{"class":290,"line":3703},20,[288,3705,400],{"class":294},[47,3707,3708,3714,3720],{},[50,3709,3710,3711,3713],{},"Place the JSON-LD block in the ",[19,3712,2360],{}," of the product page",[50,3715,3716,3717,3719],{},"Use one ",[19,3718,3110],{}," per pricing tier if your product has multiple plans",[50,3721,3722,3723,3725],{},"Include ",[19,3724,3614],{}," if you have at least 5 reviews — this enables star ratings in search results",[24,3727,120],{"id":119},[47,3729,3730,3739,3754],{},[50,3731,3732,3738],{},[14,3733,3734,3735,3737],{},"Missing ",[19,3736,3505],{}," block"," — a Product without an Offer is incomplete; price and availability are required for shopping features",[50,3740,3741,996,3746,3749,3750,3753],{},[14,3742,3743,3745],{},[19,3744,3164],{}," as a string with currency symbol",[19,3747,3748],{},"\"price\": \"99.00\""," (numeric string, no currency symbol) and ",[19,3751,3752],{},"\"priceCurrency\": \"EUR\""," separately",[50,3755,3756,3762],{},[14,3757,3758,3759,3761],{},"Not updating ",[19,3760,3204],{}," when product is out of stock or discontinued"," — stale availability data damages user trust and may be penalised",[24,3764,161],{"id":160},[47,3766,3767,3773],{},[50,3768,3769],{},[167,3770,3355],{"href":3771,"rel":3772},"https://schema.org/Product",[171],[50,3774,3775],{},[167,3776,3779],{"href":3777,"rel":3778},"https://developers.google.com/search/docs/appearance/structured-data/product",[171],"Google Merchant Center — Product structured data",[450,3781,3782],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":110,"searchDepth":188,"depth":188,"links":3784},[3785,3786,3787,3788],{"id":3346,"depth":188,"text":3347},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"schema.org/Product markup that makes product details machine-readable for AI shopping assistants.",{"publishedAt":197,"badge":3791,"type":200,"faq":3792,"related":3802,"cta":3809},{"label":1018},[3793,3796,3799],{"question":3794,"answer":3795},"Does Product schema work for SaaS products, not just physical goods?","Yes. schema.org/Product applies to software, SaaS subscriptions, and digital products. Use SoftwareApplication as the @type instead of Product for pure software tools — it includes additional fields like applicationCategory and operatingSystem that are relevant for software products.",{"question":3797,"answer":3798},"What is the minimum Product schema to enable rich results?","For Google's product rich results, you need at minimum: name, image, and one of: review, aggregateRating, or offers. For shopping features, you need offers with price, priceCurrency, and availability. Validate with Google's Rich Results Test to check eligibility.",{"question":3800,"answer":3801},"Should I use Product schema on every page of my site?","Only on pages that are genuinely product pages. Adding Product schema to blog posts, documentation, or homepage is incorrect and may be treated as spam. Apply Product schema only where a specific product (with a price) is the primary subject of the page.",[3803,3805,3807],{"title":3063,"url":3326,"description":3804},"Making price information machine-readable in HTML and schema.",{"title":2789,"url":3055,"description":3806},"AggregateRating schema that compounds the Product schema signal.",{"title":221,"url":222,"description":3808},"The core structured data principles behind Product schema.",{"title":3810,"description":3811,"label":227,"url":228},"Is your product schema complete and valid?","TrustData checks Product schema for missing fields, invalid price formats, and stale availability data.",{"title":3813,"description":3814},"Product Schema for AI Shopping Assistants — GEO Optimisation Guide","AI shopping assistants read Product schema to extract name, price, availability, and ratings. Without it, your product is invisible to AI-driven shopping queries.","5.learn/geo/product-schema","tUN6IgACvjJFpNtKico_Xj_OA_S6F2a7krDpwTFtjgY",{"id":3818,"title":221,"body":3819,"description":4164,"extension":195,"meta":4165,"navigation":229,"path":222,"seo":4187,"stem":4190,"__hash__":4191},"content_en/5.learn/geo/schema-markup.md",{"type":8,"value":3820,"toc":4158},[3821,3826,3830,3844,3850,3858,3876,3878,3921,4098,4107,4109,4136,4138,4156],[11,3822,3823,3825],{},[14,3824,16],{}," — JSON-LD structured data gives AI engines a structured fact to cite directly, bypassing prose parsing. The Princeton GEO study (2024) found pages with structured data were cited 30–40% more frequently in AI-generated answers.",[24,3827,3829],{"id":3828},"why-schema-markup-matters-for-ai-engines","Why Schema Markup Matters for AI Engines",[11,3831,3832,3833,3835,3836,535,3839,964,3841,3843],{},"AI engines use structured data to bypass prose parsing entirely. When a page includes an ",[19,3834,278],{}," schema with ",[19,3837,3838],{},"headline",[19,3840,299],{},[19,3842,1059],{},", models have a structured fact to cite directly — no interpretation required. This is fundamentally different from how a human reader processes content.",[11,3845,512,3846,3849],{},[167,3847,517],{"href":515,"rel":3848},[171]," found pages with structured data were cited 30–40% more frequently in AI-generated answers compared to equivalent pages without markup. The mechanism is straightforward: structured data reduces the model's uncertainty about what a page claims to be.",[11,3851,3852,3853,819,3855,3857],{},"Schema also enables rich results in Google Search, which AI Overviews inherit. A page with valid ",[19,3854,278],{},[19,3856,1313],{}," schema has two compounding advantages: higher citation rates in direct AI responses AND preferential treatment in the Google AI Overview system that feeds LLM training data.",[11,3859,512,3860,3862,3863,3865,3866,3869,3870,3872,3873,3875],{},[19,3861,317],{}," you choose matters. ",[19,3864,278],{}," works for editorial content. ",[19,3867,3868],{},"HowTo"," signals step-by-step instructions. ",[19,3871,1313],{}," signals a question-answer format. ",[19,3874,942],{}," signals commercial intent. Choosing the wrong type is like mislabelling a file — the AI may find it, but it won't trust it.",[24,3877,89],{"id":88},[47,3879,3880,3891,3913],{},[50,3881,271,3882,3885,3886,3888,3889],{},[19,3883,3884],{},"\u003Cscript type=\"application/ld+json\">"," to ",[19,3887,2360],{}," with the appropriate ",[19,3890,317],{},[50,3892,3893,3894,305,3896,535,3898,535,3900,535,3902,3904,3905,3907,3908,535,3910],{},"Minimum fields for ",[19,3895,278],{},[19,3897,1670],{},[19,3899,317],{},[19,3901,3838],{},[19,3903,299],{}," (as ",[19,3906,274],{},"), ",[19,3909,1059],{},[19,3911,3912],{},"publisher",[50,3914,3915,3916],{},"Validate with ",[167,3917,3920],{"href":3918,"rel":3919},"https://search.google.com/test/rich-results",[171],"Google's Rich Results Test",[102,3922,3924],{"className":282,"code":3923,"language":284,"meta":110,"style":110},"{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"Article\",\n  \"headline\": \"How to optimise content for AI engines\",\n  \"author\": { \"@type\": \"Person\", \"name\": \"Jane Smith\" },\n  \"datePublished\": \"2025-01-15\",\n  \"publisher\": { \"@type\": \"Organization\", \"name\": \"TrustData\" }\n}\n",[19,3925,3926,3930,3948,3966,3985,4029,4048,4094],{"__ignoreMap":110},[288,3927,3928],{"class":290,"line":291},[288,3929,308],{"class":294},[288,3931,3932,3934,3936,3938,3940,3942,3944,3946],{"class":290,"line":188},[288,3933,313],{"class":294},[288,3935,1670],{"class":316},[288,3937,295],{"class":294},[288,3939,322],{"class":294},[288,3941,325],{"class":294},[288,3943,1679],{"class":298},[288,3945,295],{"class":294},[288,3947,332],{"class":294},[288,3949,3950,3952,3954,3956,3958,3960,3962,3964],{"class":290,"line":335},[288,3951,313],{"class":294},[288,3953,317],{"class":316},[288,3955,295],{"class":294},[288,3957,322],{"class":294},[288,3959,325],{"class":294},[288,3961,278],{"class":298},[288,3963,295],{"class":294},[288,3965,332],{"class":294},[288,3967,3968,3970,3972,3974,3976,3978,3981,3983],{"class":290,"line":356},[288,3969,313],{"class":294},[288,3971,3838],{"class":316},[288,3973,295],{"class":294},[288,3975,322],{"class":294},[288,3977,325],{"class":294},[288,3979,3980],{"class":298},"How to optimise content for AI engines",[288,3982,295],{"class":294},[288,3984,332],{"class":294},[288,3986,3987,3989,3991,3993,3995,3997,3999,4001,4003,4005,4007,4009,4011,4013,4015,4017,4019,4021,4023,4025,4027],{"class":290,"line":377},[288,3988,313],{"class":294},[288,3990,299],{"class":316},[288,3992,295],{"class":294},[288,3994,322],{"class":294},[288,3996,3462],{"class":294},[288,3998,325],{"class":294},[288,4000,317],{"class":1723},[288,4002,295],{"class":294},[288,4004,322],{"class":294},[288,4006,325],{"class":294},[288,4008,274],{"class":298},[288,4010,295],{"class":294},[288,4012,3480],{"class":294},[288,4014,325],{"class":294},[288,4016,340],{"class":1723},[288,4018,295],{"class":294},[288,4020,322],{"class":294},[288,4022,325],{"class":294},[288,4024,349],{"class":298},[288,4026,295],{"class":294},[288,4028,3498],{"class":294},[288,4030,4031,4033,4035,4037,4039,4041,4044,4046],{"class":290,"line":397},[288,4032,313],{"class":294},[288,4034,1059],{"class":316},[288,4036,295],{"class":294},[288,4038,322],{"class":294},[288,4040,325],{"class":294},[288,4042,4043],{"class":298},"2025-01-15",[288,4045,295],{"class":294},[288,4047,332],{"class":294},[288,4049,4050,4052,4054,4056,4058,4060,4062,4064,4066,4068,4070,4073,4075,4077,4079,4081,4083,4085,4087,4089,4091],{"class":290,"line":1758},[288,4051,313],{"class":294},[288,4053,3912],{"class":316},[288,4055,295],{"class":294},[288,4057,322],{"class":294},[288,4059,3462],{"class":294},[288,4061,325],{"class":294},[288,4063,317],{"class":1723},[288,4065,295],{"class":294},[288,4067,322],{"class":294},[288,4069,325],{"class":294},[288,4071,4072],{"class":298},"Organization",[288,4074,295],{"class":294},[288,4076,3480],{"class":294},[288,4078,325],{"class":294},[288,4080,340],{"class":1723},[288,4082,295],{"class":294},[288,4084,322],{"class":294},[288,4086,325],{"class":294},[288,4088,3493],{"class":298},[288,4090,295],{"class":294},[288,4092,4093],{"class":294}," }\n",[288,4095,4096],{"class":290,"line":1773},[288,4097,400],{"class":294},[11,4099,4100,4101,4103,4104,4106],{},"For FAQ content, add a ",[19,4102,1313],{}," block in addition to the ",[19,4105,278],{}," block — they can coexist on the same page.",[24,4108,120],{"id":119},[47,4110,4111,4117,4127],{},[50,4112,4113,4116],{},[14,4114,4115],{},"Using Microdata instead of JSON-LD"," — Microdata is harder for crawlers to extract and is no longer recommended by Google",[50,4118,4119,572,4124,4126],{},[14,4120,3734,4121,4123],{},[19,4122,299],{}," or using a generic org name",[19,4125,416],{}," is not equivalent to a named person; AI engines treat it as lower-trust content",[50,4128,4129,4135],{},[14,4130,3758,4131,1622,4133],{},[19,4132,1059],{},[19,4134,1063],{}," — stale dates signal stale content to both search engines and AI crawlers",[24,4137,161],{"id":160},[47,4139,4140,4145,4151],{},[50,4141,4142],{},[167,4143,690],{"href":731,"rel":4144},[171],[50,4146,4147],{},[167,4148,4150],{"href":1204,"rel":4149},[171],"Google Structured Data — Article",[50,4152,4153],{},[167,4154,738],{"href":515,"rel":4155},[171],[450,4157,3782],{},{"title":110,"searchDepth":188,"depth":188,"links":4159},[4160,4161,4162,4163],{"id":3828,"depth":188,"text":3829},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"JSON-LD structured data that tells AI crawlers what type of content a page contains.",{"publishedAt":197,"badge":4166,"type":200,"faq":4167,"related":4177,"cta":4184},{"label":877},[4168,4171,4174],{"question":4169,"answer":4170},"Which schema type should I use for my page?","Use Article for editorial content, HowTo for step-by-step guides, FAQPage for Q&A content, and Product for product pages. You can combine multiple types — for example, an Article with an embedded FAQPage block.",{"question":4172,"answer":4173},"Does schema markup directly affect my Google rankings?","Schema markup doesn't directly boost rankings, but it enables rich results (which increase CTR) and provides structured signals that AI Overviews and AI engines use when selecting citation sources. The indirect effect on visibility is significant.",{"question":4175,"answer":4176},"How do I validate my schema markup?","Use Google's Rich Results Test (search.google.com/test/rich-results) or Schema.org's validator. Both will highlight missing required fields and syntax errors. Run validation every time you modify the markup.",[4178,4180,4182],{"title":1597,"url":1912,"description":4179},"How FAQ schema makes your Q&A content directly extractable by AI engines.",{"title":238,"url":484,"description":4181},"Why named authors in schema increase content trust signals.",{"title":217,"url":218,"description":4183},"How datePublished and dateModified affect AI engine citation rates.",{"title":4185,"description":4186,"label":227,"url":228},"See which schema signals are missing from your pages","TrustData's Page Structure Audit checks for valid schema markup, missing fields, and type mismatches across every URL you track.",{"title":4188,"description":4189},"Schema Markup for AI Engines — GEO Optimisation Guide","JSON-LD structured data tells AI crawlers what your page is about. Pages with valid schema are cited 30–40% more often in AI-generated answers.","5.learn/geo/schema-markup","XYt8vbjkkEBUGruwF-hQdFSVE9Us5GtnVOY4hNho9uk",{"id":4193,"title":767,"body":4194,"description":4290,"extension":195,"meta":4291,"navigation":229,"path":768,"seo":4315,"stem":4318,"__hash__":4319},"content_en/5.learn/geo/social-proof.md",{"type":8,"value":4195,"toc":4284},[4196,4201,4205,4208,4211,4217,4220,4222,4245,4247,4270,4272],[11,4197,4198,4200],{},[14,4199,16],{}," — \"Trusted by 2,400+ brands\" is a specific, citable claim. \"Trusted by industry leaders\" is not. AI models generating product comparisons weight quantified adoption signals because they're specific and verifiable.",[24,4202,4204],{"id":4203},"why-social-proof-matters-for-ai-engines","Why Social Proof Matters for AI Engines",[11,4206,4207],{},"AI engines generating product recommendations apply credibility filters before citing a source. One of the most reliable credibility indicators is quantified adoption: how many customers, organisations, or users have chosen this product? The number is a citable fact; vague phrases like \"thousands of customers\" or \"leading brands worldwide\" are not.",[11,4209,4210],{},"\"Trusted by 2,400+ brands across 32 countries\" is a claim the model can reproduce verbatim in a comparison answer. \"Trusted by industry leaders\" contains no verifiable information — the model has no way to know if \"industry leaders\" means 5 customers or 500. Specificity is the difference between a citation signal and noise.",[11,4212,4213,4214,4216],{},"The same principle applies to customer logo strips. A logo strip showing recognisable company names — with ",[19,4215,2083],{}," text naming each company — is a series of named entity associations. Each logo is an implicit claim: \"This recognisable company uses this product.\" Named logos with specific company names are citable in a way that a generic \"Our Customers\" heading is not.",[11,4218,4219],{},"Awards and industry recognition follow the same pattern: \"G2 Leader, Winter 2025\" is specific and verifiable. \"Award-winning platform\" is not.",[24,4221,89],{"id":88},[47,4223,4224,4227,4239,4242],{},[50,4225,4226],{},"Customer count with a specific number: \"2,400+ brands\" not \"thousands of brands\"",[50,4228,4229,4230,4232,4233,556,4236],{},"Logo strip with ",[19,4231,2083],{}," text naming each company: ",[19,4234,4235],{},"alt=\"Maison Blanc logo\"",[19,4237,4238],{},"alt=\"customer logo\"",[50,4240,4241],{},"Awards with the awarding body and year: \"G2 Leader, Winter 2025\", \"Forrester Wave Leader, Q3 2024\"",[50,4243,4244],{},"Keep numbers current — stale customer counts are worse than no count (update at least quarterly)",[24,4246,120],{"id":119},[47,4248,4249,4255,4264],{},[50,4250,4251,4254],{},[14,4252,4253],{},"Vague superlatives"," — \"world's leading platform\" or \"industry's most trusted solution\" are marketing speak, not citable facts",[50,4256,4257,572,4260,4263],{},[14,4258,4259],{},"Logo strips with no alt text or generic alt text",[19,4261,4262],{},"alt=\"customer\""," provides no entity signal; name each company in the alt attribute",[50,4265,4266,4269],{},[14,4267,4268],{},"Outdated customer counts"," — a count that hasn't been updated in 2+ years signals stagnation; if you don't want to expose a count, remove it rather than leave a stale number",[24,4271,161],{"id":160},[47,4273,4274,4279],{},[50,4275,4276],{},[167,4277,738],{"href":515,"rel":4278},[171],[50,4280,4281],{},[167,4282,604],{"href":439,"rel":4283},[171],{"title":110,"searchDepth":188,"depth":188,"links":4285},[4286,4287,4288,4289],{"id":4203,"depth":188,"text":4204},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Quantified indicators of adoption — customer count, logos, industry recognition — that establish credibility.",{"publishedAt":197,"badge":4292,"type":200,"faq":4293,"related":4303,"cta":4312},{"label":748},[4294,4297,4300],{"question":4295,"answer":4296},"What if we don't have a large customer count to display?","Use the metrics you do have. Early-stage: 'Used by 50 e-commerce brands' is more honest and credible than inflating the number. You can also use alternative social proof: notable customers (1 recognisable logo is more valuable than 10 unknown ones), specific results ('€2M in recovered revenue'), or industry recognition.",{"question":4298,"answer":4299},"Should I use approximate numbers or exact numbers?","Use rounded figures with a '+' suffix: '2,400+ brands' rather than '2,427 brands'. Exact numbers suggest you haven't updated the page since the last count, while rounded figures with '+' read as current and growing. Update the round number when you pass the next significant milestone.",{"question":4301,"answer":4302},"How do I get recognised on G2, Forrester, or similar platforms?","G2 recognition is based on customer reviews (generate volume through email campaigns to customers) and market presence metrics. Forrester and Gartner require an analyst engagement process and typically a minimum ARR threshold. Start with G2 and Capterra as accessible pathways to third-party recognition.",[4304,4306,4308],{"title":761,"url":762,"description":4305},"Named customer quotes that give qualitative depth to quantitative social proof.",{"title":643,"url":773,"description":4307},"Detailed outcome stories that prove the customer count is meaningful.",{"title":4309,"url":4310,"description":4311},"Use Cases","/learn/geo/use-cases","Use case sections that contextualise which types of customers your social proof represents.",{"title":4313,"description":4314,"label":227,"url":228},"Is your social proof specific enough to be cited?","TrustData identifies vague credibility claims, missing logo alt text, and outdated customer counts that weaken your GEO signal.",{"title":4316,"description":4317},"Social Proof for AI Engines — GEO Optimisation Guide","Trusted by 2,400+ brands","5.learn/geo/social-proof","-Ozhjuf3P_MhMh9KLfNMfYeRJ0R3ycOFLoOPXxzBHrE",{"id":4321,"title":1031,"body":4322,"description":4769,"extension":195,"meta":4770,"navigation":229,"path":956,"seo":4792,"stem":4795,"__hash__":4796},"content_en/5.learn/geo/structured-comparison.md",{"type":8,"value":4323,"toc":4763},[4324,4332,4336,4339,4352,4355,4357,4388,4705,4707,4742,4744,4760],[11,4325,4326,4328,4329,4331],{},[14,4327,16],{}," — Tables are one of the highest-value content formats for AI citation. When a user asks \"what is the difference between X and Y\", AI engines look for comparison tables. A ",[19,4330,960],{}," with clear headers can be reproduced nearly verbatim in an AI response.",[24,4333,4335],{"id":4334},"why-structured-comparison-tables-matter-for-ai-engines","Why Structured Comparison Tables Matter for AI Engines",[11,4337,4338],{},"Tables are among the most citation-friendly content formats because they present structured data in a form that maps directly to the structured outputs AI engines produce. When a user asks \"what is the difference between X and Y\" or \"which tool is best for Z\", AI engines search for pages that directly answer the comparison — preferably in a table that can be extracted without transformation.",[11,4340,4341,4342,136,4344,535,4346,964,4349,4351],{},"A well-structured ",[19,4343,960],{},[19,4345,963],{},[19,4347,4348],{},"\u003Ctbody>",[19,4350,967],{}," column headers gives the model a complete factual matrix: rows are entities, columns are attributes, and cells are values. This is fundamentally more citable than a prose paragraph describing the same differences, because the table's structure makes the facts machine-readable without interpretation.",[11,4353,4354],{},"Pages that make comparison claims in prose (\"TrustData is better than GA4 because it captures more data\") are less likely to be cited for comparison queries than pages that make the same claim in a table. The table is the evidence; the prose is the explanation.",[24,4356,89],{"id":88},[47,4358,4359,4376,4382,4385],{},[50,4360,4361,4362,136,4364,535,4366,535,4368,4371,4372,4375],{},"Use proper ",[19,4363,960],{},[19,4365,963],{},[19,4367,4348],{},[19,4369,4370],{},"\u003Cth scope=\"col\">"," for column headers, and ",[19,4373,4374],{},"\u003Cth scope=\"row\">"," for row headers",[50,4377,687,4378,4381],{},[19,4379,4380],{},"\u003Ccaption>"," describing what the table compares",[50,4383,4384],{},"Keep tables to 2–5 columns; more than that becomes unreadable in AI-generated responses",[50,4386,4387],{},"Pair with a prose paragraph summarising the key takeaway from the table",[102,4389,4391],{"className":1292,"code":4390,"language":1294,"meta":110,"style":110},"\u003Ctable>\n  \u003Ccaption>GEO signal weights and impact on AI citation rate\u003C/caption>\n  \u003Cthead>\n    \u003Ctr>\n      \u003Cth scope=\"col\">Signal\u003C/th>\n      \u003Cth scope=\"col\">Weight\u003C/th>\n      \u003Cth scope=\"col\">Impact\u003C/th>\n    \u003C/tr>\n  \u003C/thead>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd>Schema Markup\u003C/td>\n      \u003Ctd>15\u003C/td>\n      \u003Ctd>High\u003C/td>\n    \u003C/tr>\n    \u003Ctr>\n      \u003Ctd>FAQ Block\u003C/td>\n      \u003Ctd>12\u003C/td>\n      \u003Ctd>High\u003C/td>\n    \u003C/tr>\n  \u003C/tbody>\n\u003C/table>\n",[19,4392,4393,4403,4422,4431,4441,4472,4499,4526,4535,4544,4553,4561,4579,4596,4613,4621,4629,4646,4663,4679,4687,4696],{"__ignoreMap":110},[288,4394,4395,4397,4400],{"class":290,"line":291},[288,4396,1304],{"class":294},[288,4398,4399],{"class":1307},"table",[288,4401,4402],{"class":294},">\n",[288,4404,4405,4408,4411,4413,4416,4418,4420],{"class":290,"line":188},[288,4406,4407],{"class":294},"  \u003C",[288,4409,4410],{"class":1307},"caption",[288,4412,1310],{"class":294},[288,4414,4415],{"class":304},"GEO signal weights and impact on AI citation rate",[288,4417,1316],{"class":294},[288,4419,4410],{"class":1307},[288,4421,4402],{"class":294},[288,4423,4424,4426,4429],{"class":290,"line":335},[288,4425,4407],{"class":294},[288,4427,4428],{"class":1307},"thead",[288,4430,4402],{"class":294},[288,4432,4433,4436,4439],{"class":290,"line":356},[288,4434,4435],{"class":294},"    \u003C",[288,4437,4438],{"class":1307},"tr",[288,4440,4402],{"class":294},[288,4442,4443,4446,4449,4452,4454,4456,4459,4461,4463,4466,4468,4470],{"class":290,"line":377},[288,4444,4445],{"class":294},"      \u003C",[288,4447,4448],{"class":1307},"th",[288,4450,4451],{"class":316}," scope",[288,4453,1336],{"class":294},[288,4455,295],{"class":294},[288,4457,4458],{"class":298},"col",[288,4460,295],{"class":294},[288,4462,1310],{"class":294},[288,4464,4465],{"class":304},"Signal",[288,4467,1316],{"class":294},[288,4469,4448],{"class":1307},[288,4471,4402],{"class":294},[288,4473,4474,4476,4478,4480,4482,4484,4486,4488,4490,4493,4495,4497],{"class":290,"line":397},[288,4475,4445],{"class":294},[288,4477,4448],{"class":1307},[288,4479,4451],{"class":316},[288,4481,1336],{"class":294},[288,4483,295],{"class":294},[288,4485,4458],{"class":298},[288,4487,295],{"class":294},[288,4489,1310],{"class":294},[288,4491,4492],{"class":304},"Weight",[288,4494,1316],{"class":294},[288,4496,4448],{"class":1307},[288,4498,4402],{"class":294},[288,4500,4501,4503,4505,4507,4509,4511,4513,4515,4517,4520,4522,4524],{"class":290,"line":1758},[288,4502,4445],{"class":294},[288,4504,4448],{"class":1307},[288,4506,4451],{"class":316},[288,4508,1336],{"class":294},[288,4510,295],{"class":294},[288,4512,4458],{"class":298},[288,4514,295],{"class":294},[288,4516,1310],{"class":294},[288,4518,4519],{"class":304},"Impact",[288,4521,1316],{"class":294},[288,4523,4448],{"class":1307},[288,4525,4402],{"class":294},[288,4527,4528,4531,4533],{"class":290,"line":1773},[288,4529,4530],{"class":294},"    \u003C/",[288,4532,4438],{"class":1307},[288,4534,4402],{"class":294},[288,4536,4537,4540,4542],{"class":290,"line":1795},[288,4538,4539],{"class":294},"  \u003C/",[288,4541,4428],{"class":1307},[288,4543,4402],{"class":294},[288,4545,4546,4548,4551],{"class":290,"line":1813},[288,4547,4407],{"class":294},[288,4549,4550],{"class":1307},"tbody",[288,4552,4402],{"class":294},[288,4554,4555,4557,4559],{"class":290,"line":1819},[288,4556,4435],{"class":294},[288,4558,4438],{"class":1307},[288,4560,4402],{"class":294},[288,4562,4563,4565,4568,4570,4573,4575,4577],{"class":290,"line":1825},[288,4564,4445],{"class":294},[288,4566,4567],{"class":1307},"td",[288,4569,1310],{"class":294},[288,4571,4572],{"class":304},"Schema Markup",[288,4574,1316],{"class":294},[288,4576,4567],{"class":1307},[288,4578,4402],{"class":294},[288,4580,4581,4583,4585,4587,4590,4592,4594],{"class":290,"line":3603},[288,4582,4445],{"class":294},[288,4584,4567],{"class":1307},[288,4586,1310],{"class":294},[288,4588,4589],{"class":304},"15",[288,4591,1316],{"class":294},[288,4593,4567],{"class":1307},[288,4595,4402],{"class":294},[288,4597,4598,4600,4602,4604,4607,4609,4611],{"class":290,"line":3609},[288,4599,4445],{"class":294},[288,4601,4567],{"class":1307},[288,4603,1310],{"class":294},[288,4605,4606],{"class":304},"High",[288,4608,1316],{"class":294},[288,4610,4567],{"class":1307},[288,4612,4402],{"class":294},[288,4614,4615,4617,4619],{"class":290,"line":3623},[288,4616,4530],{"class":294},[288,4618,4438],{"class":1307},[288,4620,4402],{"class":294},[288,4622,4623,4625,4627],{"class":290,"line":3642},[288,4624,4435],{"class":294},[288,4626,4438],{"class":1307},[288,4628,4402],{"class":294},[288,4630,4631,4633,4635,4637,4640,4642,4644],{"class":290,"line":3661},[288,4632,4445],{"class":294},[288,4634,4567],{"class":1307},[288,4636,1310],{"class":294},[288,4638,4639],{"class":304},"FAQ Block",[288,4641,1316],{"class":294},[288,4643,4567],{"class":1307},[288,4645,4402],{"class":294},[288,4647,4648,4650,4652,4654,4657,4659,4661],{"class":290,"line":3680},[288,4649,4445],{"class":294},[288,4651,4567],{"class":1307},[288,4653,1310],{"class":294},[288,4655,4656],{"class":304},"12",[288,4658,1316],{"class":294},[288,4660,4567],{"class":1307},[288,4662,4402],{"class":294},[288,4664,4665,4667,4669,4671,4673,4675,4677],{"class":290,"line":3697},[288,4666,4445],{"class":294},[288,4668,4567],{"class":1307},[288,4670,1310],{"class":294},[288,4672,4606],{"class":304},[288,4674,1316],{"class":294},[288,4676,4567],{"class":1307},[288,4678,4402],{"class":294},[288,4680,4681,4683,4685],{"class":290,"line":3703},[288,4682,4530],{"class":294},[288,4684,4438],{"class":1307},[288,4686,4402],{"class":294},[288,4688,4690,4692,4694],{"class":290,"line":4689},21,[288,4691,4539],{"class":294},[288,4693,4550],{"class":1307},[288,4695,4402],{"class":294},[288,4697,4699,4701,4703],{"class":290,"line":4698},22,[288,4700,1316],{"class":294},[288,4702,4399],{"class":1307},[288,4704,4402],{"class":294},[24,4706,120],{"id":119},[47,4708,4709,4721,4729],{},[50,4710,4711,4720],{},[14,4712,4713,4714,4717,4718,1188],{},"Using CSS ",[19,4715,4716],{},"display:table"," on ",[19,4719,2515],{}," — visually looks like a table but is not semantic; AI parsers cannot extract the data structure",[50,4722,4723,4728],{},[14,4724,2987,4725,4727],{},[19,4726,963],{}," or column headers"," — without headers, the model cannot infer what each column means; data cells without context are unextractable",[50,4730,4731,4741],{},[14,4732,4733,4734,1622,4737,4740],{},"Tables with merged cells (",[19,4735,4736],{},"colspan",[19,4738,4739],{},"rowspan",")"," — these break the column-row structure and are difficult for models to parse cleanly",[24,4743,161],{"id":160},[47,4745,4746,4753],{},[50,4747,4748],{},[167,4749,4752],{"href":4750,"rel":4751},"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table",[171],"MDN — The Table element",[50,4754,4755],{},[167,4756,4759],{"href":4757,"rel":4758},"https://www.w3.org/WAI/tutorials/tables/",[171],"W3C — Tables Tutorial",[450,4761,4762],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":110,"searchDepth":188,"depth":188,"links":4764},[4765,4766,4767,4768],{"id":4334,"depth":188,"text":4335},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"HTML tables that present comparative or structured data AI engines can extract as facts.",{"publishedAt":197,"badge":4771,"type":200,"faq":4772,"related":4782,"cta":4789},{"label":877},[4773,4776,4779],{"question":4774,"answer":4775},"Should I add a comparison table to every page?","No — only add tables where the content is genuinely comparative or tabular. Adding a table that just lists features without comparing alternatives doesn't add citation value. Tables work best for: X vs Y comparisons, feature matrices, pricing tier comparisons, and ranked attribute lists.",{"question":4777,"answer":4778},"How do I make tables responsive for mobile?","Wrap the table in a horizontally scrollable container: \u003Cdiv style=\"overflow-x: auto\">\u003Ctable>...\u003C/table>\u003C/div>. For complex tables, consider a mobile-specific list view. Responsiveness doesn't affect AI citability — the semantic table structure is what matters for extraction.",{"question":4780,"answer":4781},"Can I use a Markdown table instead of HTML?","If your CMS renders Markdown tables as proper \u003Ctable>\u003Cthead>\u003Ctbody> HTML, yes. The underlying HTML output is what matters. If Markdown tables render as CSS-styled divs without semantic table structure, use HTML tables directly.",[4783,4785,4787],{"title":898,"url":899,"description":4784},"When to use lists vs tables for structured information.",{"title":628,"url":629,"description":4786},"How to populate comparison tables with citable statistics.",{"title":912,"url":1042,"description":4788},"How comparison sections using tables win \"X vs Y\" queries.",{"title":4790,"description":4791,"label":227,"url":228},"Do your comparison tables have the right semantic structure?","TrustData checks for missing thead, th elements, and non-semantic table implementations across your pages.",{"title":4793,"description":4794},"Structured Comparison Tables for AI Engines — GEO Optimisation Guide","Tables are the highest-value content format for AI citation. Proper thead/tbody/th structure lets AI engines extract your comparison data verbatim for \"X vs Y\" queries.","5.learn/geo/structured-comparison","LdWzyGDjyVGgJcN8Cnu9y7Naw_lN_a3XymJy10Lxtl8",{"id":4798,"title":761,"body":4799,"description":5037,"extension":195,"meta":5038,"navigation":229,"path":762,"seo":5060,"stem":5063,"__hash__":5064},"content_en/5.learn/geo/testimonials.md",{"type":8,"value":4800,"toc":5031},[4801,4806,4810,4813,4816,4819,4821,4841,4981,4986,4988,5015,5017,5029],[11,4802,4803,4805],{},[14,4804,16],{}," — AI engines weight named, attributed testimonials over anonymous endorsements. A testimonial from \"Sarah Chen, CMO at Acme Corp\" is a named entity claim the model can cross-reference. Generic \"5 stars — Anonymous\" is worthless as a credibility signal.",[24,4807,4809],{"id":4808},"why-testimonials-matter-for-ai-engines","Why Testimonials Matter for AI Engines",[11,4811,4812],{},"AI engines evaluating content credibility apply E-E-A-T logic to social proof. A testimonial from a named person with a verifiable title and company is a named entity claim — the model can potentially cross-reference the person, the company, and whether the claim is plausible given the context. This is fundamentally different from anonymous or pseudonymous testimonials.",[11,4814,4815],{},"For lead generation pages where you're trying to convince AI engines (and the users they serve) that your product works, testimonials serve as evidence. Specific testimonials — \"We recovered €40,000 in invisible conversions in the first month (Maria Dubois, Head of Marketing, Maison Blanc)\" — are citable claims. Generic testimonials — \"Great product, highly recommend! — Anonymous\" — are noise.",[11,4817,4818],{},"The presence of real customer names also helps AI engines build trust graphs. If a testimonial mentions \"Sarah Chen, CMO at Acme Corp\", and Acme Corp is a recognisable company, the trust signal is compounded. The model doesn't just see a testimonial — it sees a named expert from a credible organisation endorsing the product.",[24,4820,89],{"id":88},[47,4822,4823,4826,4836],{},[50,4824,4825],{},"Full name + job title + company for each testimonial",[50,4827,4828,4829,136,4832,4835],{},"Quote in ",[19,4830,4831],{},"\u003Cblockquote>",[19,4833,4834],{},"\u003Ccite>"," attribution",[50,4837,271,4838,4840],{},[19,4839,2960],{}," schema if testimonials are product reviews:",[102,4842,4844],{"className":282,"code":4843,"language":284,"meta":110,"style":110},"{\n  \"@type\": \"Review\",\n  \"author\": { \"@type\": \"Person\", \"name\": \"Sarah Chen\" },\n  \"reviewBody\": \"TrustData recovered 35% of our invisible conversions in the first week.\",\n  \"reviewRating\": { \"@type\": \"Rating\", \"ratingValue\": \"5\" }\n}\n",[19,4845,4846,4850,4868,4913,4932,4977],{"__ignoreMap":110},[288,4847,4848],{"class":290,"line":291},[288,4849,308],{"class":294},[288,4851,4852,4854,4856,4858,4860,4862,4864,4866],{"class":290,"line":188},[288,4853,313],{"class":294},[288,4855,317],{"class":316},[288,4857,295],{"class":294},[288,4859,322],{"class":294},[288,4861,325],{"class":294},[288,4863,2960],{"class":298},[288,4865,295],{"class":294},[288,4867,332],{"class":294},[288,4869,4870,4872,4874,4876,4878,4880,4882,4884,4886,4888,4890,4892,4894,4896,4898,4900,4902,4904,4906,4909,4911],{"class":290,"line":335},[288,4871,313],{"class":294},[288,4873,299],{"class":316},[288,4875,295],{"class":294},[288,4877,322],{"class":294},[288,4879,3462],{"class":294},[288,4881,325],{"class":294},[288,4883,317],{"class":1723},[288,4885,295],{"class":294},[288,4887,322],{"class":294},[288,4889,325],{"class":294},[288,4891,274],{"class":298},[288,4893,295],{"class":294},[288,4895,3480],{"class":294},[288,4897,325],{"class":294},[288,4899,340],{"class":1723},[288,4901,295],{"class":294},[288,4903,322],{"class":294},[288,4905,325],{"class":294},[288,4907,4908],{"class":298},"Sarah Chen",[288,4910,295],{"class":294},[288,4912,3498],{"class":294},[288,4914,4915,4917,4919,4921,4923,4925,4928,4930],{"class":290,"line":356},[288,4916,313],{"class":294},[288,4918,2966],{"class":316},[288,4920,295],{"class":294},[288,4922,322],{"class":294},[288,4924,325],{"class":294},[288,4926,4927],{"class":298},"TrustData recovered 35% of our invisible conversions in the first week.",[288,4929,295],{"class":294},[288,4931,332],{"class":294},[288,4933,4934,4936,4938,4940,4942,4944,4946,4948,4950,4952,4954,4957,4959,4961,4963,4965,4967,4969,4971,4973,4975],{"class":290,"line":377},[288,4935,313],{"class":294},[288,4937,2969],{"class":316},[288,4939,295],{"class":294},[288,4941,322],{"class":294},[288,4943,3462],{"class":294},[288,4945,325],{"class":294},[288,4947,317],{"class":1723},[288,4949,295],{"class":294},[288,4951,322],{"class":294},[288,4953,325],{"class":294},[288,4955,4956],{"class":298},"Rating",[288,4958,295],{"class":294},[288,4960,3480],{"class":294},[288,4962,325],{"class":294},[288,4964,2877],{"class":1723},[288,4966,295],{"class":294},[288,4968,322],{"class":294},[288,4970,325],{"class":294},[288,4972,2926],{"class":298},[288,4974,295],{"class":294},[288,4976,4093],{"class":294},[288,4978,4979],{"class":290,"line":397},[288,4980,400],{"class":294},[47,4982,4983],{},[50,4984,4985],{},"Link to the customer's company website or LinkedIn if they've approved it",[24,4987,120],{"id":119},[47,4989,4990,4996,5002],{},[50,4991,4992,4995],{},[14,4993,4994],{},"Anonymous testimonials"," — \"A satisfied customer\" provides zero entity signal; require real names as a condition of featuring testimonials",[50,4997,4998,5001],{},[14,4999,5000],{},"Vague praise without specifics"," — \"TrustData is amazing!\" is not citable; \"TrustData reduced our CPA by 28% in 3 months\" is",[50,5003,5004,5007,5008,5011,5012],{},[14,5005,5006],{},"Photos without alt text naming the person"," — testimonial photos should have ",[19,5009,5010],{},"alt=\"Sarah Chen, CMO at Acme Corp\"",", not ",[19,5013,5014],{},"alt=\"customer photo\"",[24,5016,161],{"id":160},[47,5018,5019,5024],{},[50,5020,5021],{},[167,5022,3015],{"href":3013,"rel":5023},[171],[50,5025,5026],{},[167,5027,604],{"href":439,"rel":5028},[171],[450,5030,3782],{},{"title":110,"searchDepth":188,"depth":188,"links":5032},[5033,5034,5035,5036],{"id":4808,"depth":188,"text":4809},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Named client quotes with attribution that provide social proof and human credibility signals.",{"publishedAt":197,"badge":5039,"type":200,"faq":5040,"related":5050,"cta":5057},{"label":748},[5041,5044,5047],{"question":5042,"answer":5043},"Do I need permission to publish a customer testimonial on my site?","Yes. Always get explicit written consent before publishing a customer's name, photo, or company association on your marketing pages. Most companies have a standard testimonial release form. Be clear about what you're publishing and where — and update or remove testimonials if the customer requests it.",{"question":5045,"answer":5046},"Should testimonials mention specific metrics or results?","Always, if the customer is willing. 'Reduced CPA by 28%' is infinitely more citable than 'great results'. When collecting testimonials, prompt customers with specific questions: 'What specific metric improved? By how much? Over what time period?' This produces citable, specific claims that AI engines can reproduce.",{"question":5048,"answer":5049},"How many testimonials should a landing page have?","3–5 prominent testimonials on the main page is optimal. Too few (1-2) doesn't establish a pattern of success. Too many (10+) creates visual noise and dilutes attention. A separate 'Customer Stories' or 'Case Studies' page can house the full portfolio of customer testimonials in more depth.",[5051,5053,5055],{"title":643,"url":773,"description":5052},"Deeper customer success stories with measurable outcomes.",{"title":767,"url":768,"description":5054},"Quantified adoption indicators that complement testimonial content.",{"title":2789,"url":3055,"description":5056},"Structured review schema that formalises testimonial data for AI extraction.",{"title":5058,"description":5059,"label":227,"url":228},"Are your testimonials AI-readable?","TrustData checks for anonymous testimonials, missing attribution schema, and vague praise that lacks citable specifics.",{"title":5061,"description":5062},"Testimonials for AI Engines — GEO Optimisation Guide","AI engines weight named, attributed testimonials over anonymous endorsements. \"Sarah Chen, CMO at Acme Corp\" is a named entity AI can cross-reference. Anonymous praise is worthless.","5.learn/geo/testimonials","soGTG-hKK-go1_GycgpCFHcid1VYPe4HYL8u0o9e1hk",{"id":5066,"title":4309,"body":5067,"description":5250,"extension":195,"meta":5251,"navigation":229,"path":4310,"seo":5273,"stem":5276,"__hash__":5277},"content_en/5.learn/geo/use-cases.md",{"type":8,"value":5068,"toc":5244},[5069,5074,5078,5081,5084,5087,5089,5111,5210,5212,5232,5234,5241],[11,5070,5071,5073],{},[14,5072,16],{}," — AI assistants matching products to user intent need explicit use case signals. \"TrustData is for e-commerce brands that need first-party attribution\" is directly indexable. \"A powerful analytics platform\" tells the model nothing about fit.",[24,5075,5077],{"id":5076},"why-use-cases-matter-for-ai-engines","Why Use Cases Matter for AI Engines",[11,5079,5080],{},"AI engines answering product recommendation queries — \"what analytics tool should I use for my Shopify store?\", \"best attribution software for DTC brands\" — are performing intent-matching. They map the user's specific situation to the product descriptions they've indexed. The match is strongest when the product page explicitly states who it's for and what specific problem it solves.",[11,5082,5083],{},"Generic product descriptions (\"a powerful, flexible analytics platform for businesses\") do not contain the entity signals needed for intent-matching. \"TrustData is built for e-commerce brands running €50K+/month in paid media who need accurate first-party attribution to recover conversions invisible to GA4\" is directly intent-matchable to a specific user query.",[11,5085,5086],{},"Use cases also serve as the basis for long-tail query targeting. Each use case is implicitly a keyword cluster: \"first-party tracking for Shopify\", \"GA4 alternative for DTC brands\", \"conversion recovery for Facebook Ads\". By explicitly listing use cases, you're indexing your product against each of these queries.",[24,5088,89],{"id":88},[47,5090,5091,5096,5105,5108],{},[50,5092,5093,5094,951],{},"A dedicated \"Who is this for?\" or \"Use cases\" section with an explicit ",[19,5095,950],{},[50,5097,5098,5099,5101,5102,5104],{},"Structure as a list: each use case as an ",[19,5100,1625],{}," heading with a ",[19,5103,1644],{}," description",[50,5106,5107],{},"Include: the customer type + the specific problem + the outcome your product delivers",[50,5109,5110],{},"Be specific enough to exclude — \"it's for everyone\" is not a use case",[102,5112,5114],{"className":1292,"code":5113,"language":1294,"meta":110,"style":110},"\u003Ch2>Who TrustData is for\u003C/h2>\n\n\u003Ch3>DTC e-commerce brands\u003C/h3>\n\u003Cp>Brands running €20K+/month in Meta and Google Ads that are losing 30–40% of conversion signals to ad blockers and iOS privacy restrictions. TrustData recovers those conversions via server-side tracking, improving ROAS and reducing CPAs.\u003C/p>\n\n\u003Ch3>Marketing agencies\u003C/h3>\n\u003Cp>Agencies managing tracking and attribution for multiple clients who need a unified view of data completeness across their entire client portfolio.\u003C/p>\n",[19,5115,5116,5133,5137,5155,5172,5176,5193],{"__ignoreMap":110},[288,5117,5118,5120,5122,5124,5127,5129,5131],{"class":290,"line":291},[288,5119,1304],{"class":294},[288,5121,24],{"class":1307},[288,5123,1310],{"class":294},[288,5125,5126],{"class":304},"Who TrustData is for",[288,5128,1316],{"class":294},[288,5130,24],{"class":1307},[288,5132,4402],{"class":294},[288,5134,5135],{"class":290,"line":188},[288,5136,2657],{"emptyLinePlaceholder":229},[288,5138,5139,5141,5144,5146,5149,5151,5153],{"class":290,"line":335},[288,5140,1304],{"class":294},[288,5142,5143],{"class":1307},"h3",[288,5145,1310],{"class":294},[288,5147,5148],{"class":304},"DTC e-commerce brands",[288,5150,1316],{"class":294},[288,5152,5143],{"class":1307},[288,5154,4402],{"class":294},[288,5156,5157,5159,5161,5163,5166,5168,5170],{"class":290,"line":356},[288,5158,1304],{"class":294},[288,5160,11],{"class":1307},[288,5162,1310],{"class":294},[288,5164,5165],{"class":304},"Brands running €20K+/month in Meta and Google Ads that are losing 30–40% of conversion signals to ad blockers and iOS privacy restrictions. TrustData recovers those conversions via server-side tracking, improving ROAS and reducing CPAs.",[288,5167,1316],{"class":294},[288,5169,11],{"class":1307},[288,5171,4402],{"class":294},[288,5173,5174],{"class":290,"line":377},[288,5175,2657],{"emptyLinePlaceholder":229},[288,5177,5178,5180,5182,5184,5187,5189,5191],{"class":290,"line":397},[288,5179,1304],{"class":294},[288,5181,5143],{"class":1307},[288,5183,1310],{"class":294},[288,5185,5186],{"class":304},"Marketing agencies",[288,5188,1316],{"class":294},[288,5190,5143],{"class":1307},[288,5192,4402],{"class":294},[288,5194,5195,5197,5199,5201,5204,5206,5208],{"class":290,"line":1758},[288,5196,1304],{"class":294},[288,5198,11],{"class":1307},[288,5200,1310],{"class":294},[288,5202,5203],{"class":304},"Agencies managing tracking and attribution for multiple clients who need a unified view of data completeness across their entire client portfolio.",[288,5205,1316],{"class":294},[288,5207,11],{"class":1307},[288,5209,4402],{"class":294},[24,5211,120],{"id":119},[47,5213,5214,5220,5226],{},[50,5215,5216,5219],{},[14,5217,5218],{},"Use cases that describe features, not outcomes"," — \"supports 50+ integrations\" is a feature; \"connects your ad platforms directly to verified conversion data\" is an outcome-oriented use case",[50,5221,5222,5225],{},[14,5223,5224],{},"A single generic use case"," — \"for any business that wants better data\" describes everyone and helps AI engines match nothing; list 3–5 specific use cases",[50,5227,5228,5231],{},[14,5229,5230],{},"Hiding use cases behind a \"Learn more\" link"," — the use case text needs to be in the page HTML, not on a secondary page that may not be crawled",[24,5233,161],{"id":160},[47,5235,5236],{},[50,5237,5238],{},[167,5239,738],{"href":515,"rel":5240},[171],[450,5242,5243],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":110,"searchDepth":188,"depth":188,"links":5245},[5246,5247,5248,5249],{"id":5076,"depth":188,"text":5077},{"id":88,"depth":188,"text":89},{"id":119,"depth":188,"text":120},{"id":160,"depth":188,"text":161},"Explicit statements of who the product is for and what problems it solves.",{"publishedAt":197,"badge":5252,"type":200,"faq":5253,"related":5263,"cta":5270},{"label":748},[5254,5257,5260],{"question":5255,"answer":5256},"How specific should use cases be?","Specific enough to exclude someone. A use case that describes every possible customer provides no matching signal. 'For Shopify stores doing €100K+/month in paid media' is specific. 'For businesses that want better analytics' is not. The goal is precise intent-matching, not broad appeal.",{"question":5258,"answer":5259},"Should I have a dedicated Use Cases page or include them on the product page?","Both. A section on the main product page covers the primary use cases for broad queries. Dedicated landing pages per use case (e.g., /for/ecommerce-brands, /for/marketing-agencies) target specific intent queries with more depth and can include relevant social proof, case studies, and features relevant to that segment.",{"question":5261,"answer":5262},"How do use cases relate to personas or buyer segments?","Use cases map directly to buyer segments. Each use case should correspond to a real segment of your customer base. If you have 3 distinct buyer types, you should have at minimum 3 use cases. The use case language should mirror how that segment describes their own problem — use the vocabulary they use, not internal product team vocabulary.",[5264,5266,5268],{"title":643,"url":773,"description":5265},"Real examples that prove each use case with measured outcomes.",{"title":761,"url":762,"description":5267},"Customer quotes that validate specific use cases from real users.",{"title":767,"url":768,"description":5269},"Customer count and logo signals organised by use case type.",{"title":5271,"description":5272,"label":227,"url":228},"Are your use cases explicit enough for AI intent-matching?","TrustData analyses your product pages for specific use case signals and identifies where generic language is costing you AI citations.",{"title":5274,"description":5275},"Use Cases for AI Intent Matching — GEO Optimisation Guide","AI assistants matching products to user intent need explicit use case signals. \"TrustData is for e-commerce brands that need first-party attribution\" is indexable. \"Powerful analytics\" is not.","5.learn/geo/use-cases","HjStEOWzbfiw95lXmEBR-YDF8qt1Zm6_bcNo11UmJy8",1777026683315]