AIO: how AI assistants and answer engines read a 3dCMS site
AI assistants cannot see a WebGL scene, so every 3dCMS page also ships semantic HTML, a /text/ twin, llms.txt and JSON-LD. Plus how to write quotable copy.
Open in the interactive manual →The interactive version has full-text search, a table of contents, and light/dark themes.
An AI assistant answering a question does not run your 3D scene. It fetches your page the way a search crawler does, reads the text, and decides whether to quote it. A WebGL canvas on its own gives it nothing. So every page 3dCMS publishes carries the same content in forms a machine can read, at the same address, for every visitor. This is AIO (AI optimization, also called answer-engine or generative-engine optimization): making a site that assistants can read, understand and cite.
What an assistant finds on a 3dCMS page
| Layer | Where | What it gives an assistant |
|---|---|---|
| Semantic HTML mirror | The page URL itself | The full page as ordinary HTML: one H1, headings, paragraphs, links, captions, FAQ. See How the semantic mirror works. |
| Plain-text twin | /text/<page> under the site | The same words with the layout stripped away: the cheapest, cleanest copy for a model to read. |
| llms.txt | /<handle>/sites/<slug>/llms.txt, one per site | An llmstxt.org-style summary of the site: what it is, a link to every page with its description, and where the plain-text versions live. |
| JSON-LD | In the page head | Schema.org structured data: the page type, breadcrumbs, FAQ, organization, language and image, so a machine knows what the page is, not just what it says. |
| Sitemaps | sitemap.xml per site, /sitemap-index.xml for the domain | Every page URL, dated by its last publish, so crawlers find new pages and know which changed. |
3dCMS practises this on its own site, too. 3dcms.info/ai opens with a one-sentence definition of the product, carries SoftwareApplication, FAQPage and BreadcrumbList structured data that matches the visible text, and is mirrored for assistants as /llms.txt (the short index) and /llms-full.txt (the long form, read in one fetch). It is a worked example of the pattern below: one document, written to be quoted.
No cloaking, one document
None of this is a special build for bots. There is no user-agent sniffing and no second version of the site: people and crawlers fetch the same document, and the 3D view is a presentation layer on top of that HTML. The crawlable text is generated from the very fields the scene displays, so the two cannot drift apart. That matters for trust, too: an engine that catches a site showing machines different content from people stops believing it.
Writing copy an assistant will quote
Assistants quote sentences that answer a question on their own. A few habits make yours the sentence that gets picked:
- Open with a definition. The first sentence of the page should say what the thing is, in plain words, with its name in it: "Hillside Pottery is a ceramics studio that teaches wheel-throwing classes for beginners." Put it in the page's Hero body or Summary on the page surface.
- Phrase headings as the question people ask. "How much does a class cost?" beats "Pricing". Under it, answer in the first sentence, then add the detail. On a page with no FAQ entries of its own, question headings and the text under them become its FAQ structured data.
- Be specific. Numbers, places, names, dates and prices are what an answer needs. "Classes are $45 for two hours, Tuesdays and Saturdays" can be quoted; "affordable classes all week" cannot.
- One page, one topic. A page about classes and a page about commissions are two answers. A page that mixes them is a weaker answer to both.
- Use the same name everywhere. Call the product, studio or person the same thing on every page, so an engine knows they are one entity.
- Put the words in text, not pictures. Words baked into an image are invisible to a crawler. Use web text blocks, 3D text, captions and FAQ entries, all of which reach the mirror.
- Write enough. A page with a title and nothing else is one sentence to every machine that reads it. Publishing warns you when a page has under about 60 words.
Getting found
For Google (and the AI answers built on its index), submit /sitemap-index.xml once in Search Console; it lists every site you publish. For Bing and the other engines that take IndexNow, there is nothing to do: every publish sends the ping for you. Several assistants' web search draws on these same indexes, so a page that is indexed and well written is a page an assistant can find and cite. The details are in Sitemaps, llms.txt & Search Console.
/text/ twin. That is, near enough, what an assistant reads. If the answer to your visitor's first question is not in it, add it to the page.