The essentials
- HTML structure: one H1, H2s phrased as questions, short paragraphs, tables with headers, lists; all the text in the HTML, with no dependence on JavaScript.
- Structured data: Article or BlogPosting (author, dates), Organization or LocalBusiness (entity), FAQPage (questions), BreadcrumbList, Person for authors.
- Formats: HTML first; PDFs and images for supporting material only; transcripts for audio and video.
- Verification: the source code, the rich results test, URL inspection, and a reading test in Perplexity.
Content written well for AI (see structuring content for LLMs) has to be served in a page crawlers can read and interpret. That is the technical layer of GEO : HTML hierarchy, structured data, formats, rendering. It is shared with SEO and set up once, at template level. This article lists what to put in place, in what order, and how to check it.
The HTML hierarchy
| Element | Rule | Why it matters for AI |
|---|---|---|
| Page title (title) | The subject in under 60 characters | The name of the source in the citation |
| H1 | Just one, the subject or the main question | Identifies the page |
| H2 and H3 | One question or sub-subject per heading, in order | Divides the passages |
| Paragraphs | Short (3 to 5 sentences), one subject each, inside p tags | Units of extraction |
| Tables | table, thead, th, tbody; never as an image | Cell-by-cell extraction, comparisons |
| Lists | ul and ol for steps and criteria | Ordered extraction |
| Emphasis | strong for the term being defined, not for decoration | A marker for definitions |
| Links | Descriptive anchors to the related pages | Context and credibility |
| Semantic tags | article, header, main, nav, footer, time | Separates the content from the template |
The structured data to add
| Schema.org type | Where | Key properties | Effect |
|---|---|---|---|
| Organization or LocalBusiness | Every page (or the home page and "about us") | name, url, logo, description, foundingDate, founder, address, sameAs, contactPoint | A recognised, consistent entity; see optimising your "about us" page |
| Article or BlogPosting | Every article | headline, description, author (Person), datePublished, dateModified, publisher, image | Author and freshness attributed |
| Person | Authors, the founder | name, jobTitle, url, sameAs (LinkedIn), worksFor | Identifiable expertise |
| FAQPage | Pages with an FAQ | mainEntity: Question, acceptedAnswer | Readable questions and answers; Google rich results |
| BreadcrumbList | Every page | itemListElement | Position within the site |
| HowTo | Procedures | step | Extractable steps |
| Product, Service, Offer | Product and service pages | name, description, offers (price), aggregateRating | Prices and ratings get cited |
| VideoObject, PodcastEpisode | Video and audio pages | transcript, duration, uploadDate | Readable audiovisual content; see getting a podcast or a video ranked |
Use the JSON-LD format in a script in the head or the footer. Structured data obliges no AI to cite you, but Google and Bing read it, and their indexes feed the assistants; it settles unambiguously who wrote the page, when, and what it is about. The detail for local is in Schema.org markup for local.
The FAQ
- Three to six real questions , phrased the way users ask them, at the end of the page.
- Answers of 40 to 70 words, self-contained, naming the subject and carrying a fact.
- FAQPage markup whose text matches the visible text exactly.
- In the HTML, even if it displays as an accordion.
- No duplication with your sections: the FAQ handles the secondary questions, the sections handle the main one.
Formats
| Format | How well AI reads it | Recommended use |
|---|---|---|
| HTML | Excellent | All your main content |
| Moderate (indexed by Google, less well by AI crawlers; structure is lost) | Downloadable extras, always alongside an HTML page | |
| Images (text in an image, infographics) | Poor | Illustration; the text must also exist in HTML, with an alt attribute |
| Video, audio | None without a transcript | Publish a structured transcript |
| Content loaded in JavaScript | Poor (most AI crawlers don't execute JavaScript) | Server-side or static rendering for your key pages |
| Markdown (llms.txt) | Good | A site summary at the root, alongside the sitemap |
Rendering and access
Three technical conditions: the content is in the HTML served (server-side or static rendering), AI search crawlers are allowed in your robots.txt, and the page is fast and available. A client-rendered site (React or Vue without SSR) is the most common cause of content being invisible to AI. The list of crawlers and the settings are in indexing by AI.
Verifying
- The source code (Ctrl+U): the text, headings, tables and FAQ are all there.
- Google's rich results test and the Schema.org validator: structured data with no errors.
- URL inspection in Search Console: the rendered HTML and the screenshot match.
- A reading test: ask Perplexity to "summarise the page [URL] and list its sections"; a faithful answer proves it is readable.
- A crawler (Screaming Frog) to check heading hierarchy and structured data across the whole site.
How GreenRed helps
Rather than juggling several tools, GreenRed's Site health module brings these metrics together in a single dashboard, compares them over time and tells you which actions come first. You can try it free, with no card, from the Pricing.
Frequently asked questions
Does ChatGPT read structured data?
Not directly, for most assistants, but Google and Bing read it and their indexes feed ChatGPT, Perplexity, Gemini and Copilot. It settles the author, the date, the entity and the questions unambiguously, which counts when sources are selected. It is also necessary for Google's rich results.
Does every page need an FAQ?
On pages that answer questions (articles, guides, service pages), yes: three to six real questions with short answers and FAQPage markup. On navigation pages or simple product pages, an artificial FAQ adds nothing.
Does AI read PDFs?
Google indexes PDFs and can cite them in AI Overviews; the other assistants' crawlers read them less well and the structure (headings, tables) is lost. Publish the content in HTML and offer the PDF as a downloadable extra, never the other way round.
My site is built in React: is it visible to AI?
Only if the content is rendered server-side or pre-generated (SSR, SSG). With pure client-side rendering, most AI crawlers see an empty page. Check with the source code (Ctrl+U): if the text isn't there, you need to enable server-side rendering for your key pages.