Structured data and schema in the AI era

Machines read your website differently than people do. A person sees a heading, a price, and opening hours, and understands them at once. A search engine or a language model sees only text and HTML tags, and has to guess what is what. Structured data is how you spare it that guessing: you say explicitly that this is an organization, this is an article, this is a product price.
In an era where content is answered not only by search engines but also by AI assistants, that explicitness pays off twice over. Below is a practical and technical, yet readable, look at what to mark up, how to avoid common mistakes, and why this helps machines understand and cite you.
What structured data and JSON-LD are
Structured data is an agreed vocabulary you use to describe the meaning of content on a page. The most widely used vocabulary is Schema.org, a shared project of Google, Microsoft, Yahoo, and Yandex. It defines types like Organization, Article, Product, FAQPage, and BreadcrumbList, along with the properties that belong to them.
- JSON-LD is the preferred format. It is a block of JSON inside a
scripttag, kept separate from the visible HTML. You do not have to weave attributes into every element; the whole description of the page lives in one place. - Google recommends it. Compared with the older microdata and RDFa formats, JSON-LD is easier to write, test, and maintain. It does not break during a template redesign, because it does not sit inside the markup itself.
- It is not visible content. Structured data should describe what is genuinely on the page. Marking up hidden or invented values is against the rules and will damage your credibility.
A small example for an organization looks like this:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Vyxos",
"url": "https://vyxos.eu",
"description": "A Slovak software studio building simple custom software.",
"sameAs": ["https://github.com/vyxos"]
}
What to mark up, and in what order
Do not start by marking up everything. Start with the types that match what your pages actually are, and add more over time.
- Organization or LocalBusiness. The basis of identity. Name, logo, website, and optionally address and contact. It helps machines link your brand as one entity across the web.
- Article or BlogPosting. For your blog and news. Title, author, publish date, image. This is the type that directly supports inclusion in news and richer results.
- Product and Offer. For a shop or catalogue. Name, price, availability, ratings. The basis for product rich results.
- FAQPage. For pages with genuine questions and answers. It gives machines ready-made question and answer pairs that cite well.
- BreadcrumbList. Describes where a page sits in the site structure. It helps both the search engine and the reader understand the hierarchy.
The golden rule is coverage from most important to detail. Your company identity and main content types deliver the most value for the least work.
Common mistakes that break your structure
Structured data fails silently. The page renders normally; the machines simply ignore it, or your trust drops because of it. Watch out for:
- Mismatch with visible content. If your JSON-LD claims a price or a rating that is not on the page, you are breaking the rules. Mark up only what a visitor actually sees.
- Missing required properties. Every type has properties Google expects. Without them the markup is not recognized. Test, do not assume.
- Invalid JSON. A single missing comma or quote breaks the whole block. JSON-LD cannot be checked by eye; it needs validation.
- Copying someone else’s schema blindly. A block lifted from another site often describes entities that are not on your page. The result is nonsense that machines detect.
- Marking up things that are not there. An
FAQPagewith no real questions, or aProducton a page that sells nothing, is spam. Use the types faithfully.
Verify with the Google Rich Results Test and the Schema.org validator. It takes minutes and saves you from silent failures.
Why it helps AI answers
Classic rich results are the familiar reason to mark up data. The newer reason is that the same structure helps language models and AI search engines understand and cite your content.
- Clear entities. When you state explicitly that Vyxos is an
Organizationwith a given website and description, you help machines link scattered mentions into a single entity. This linking is exactly what shapes what a model thinks about you. - Ready-made facts to cite. A model assembling an answer will reach for clearly marked facts over ambiguous prose. Structure lowers the risk that it infers something wrong.
- Trust through consistency. When your structured data matches the visible content and stays consistent across the site, you read as more trustworthy to both classic and AI systems.
- Compatibility with other layers. Structured data complements approaches like GEO optimization for AI answer engines and the llms.txt file for making your site AI-readable. Each layer solves a different part of the same job: being understood by a machine.
Let us be honest: the exact mechanisms by which AI search engines select and cite sources are evolving and are not fully documented in public. No one can guarantee you a citation for a given piece of markup. What we do know for certain is that clear, truthful, consistent structure never hurts and almost always aids understanding.
How we think about it at Vyxos
Structured data fits how we build software: tell the machine the truth clearly and once, instead of making it guess. The Vyxos site itself already exposes Organization and Article JSON-LD, because that is what we recommend to everyone else.
It is not a magic trick or a growth hack. It is an honest extra layer that makes your existing content more legible to search engines and to the AI that answers over it. If you are curious about how AI assistants cite you, clean schema is a good place to start.