structured data
Structured data is a hidden layer of code on a page that states plainly, in a format machines can parse, what the page is actually about.
Structured data is a block of code, invisible on the page itself, that spells out plainly what a page is: this is a person, here is their job title. This is a service, here is the price range and the area it covers. This is a podcast episode, here is the guest and the date it aired. The format is standardised, called schema, so any search engine or AI tool reading it gets the same clear statement rather than having to infer meaning from paragraphs of prose.
Think of it as a label on a box, sitting next to the box itself. A person can look at the box and figure out what’s inside. A machine sorting a warehouse full of boxes moves faster and makes fewer mistakes when it can just read the label. Structured data is that label, written for the machines that decide what shows up in a search result, a knowledge panel, or an AI-generated answer.
Search engines have used a version of this for years, mostly to build the recipe cards and star ratings you see in results. What has changed is how much weight AI tools now put on it. A generative engine trying to answer a question quickly favours a page that states its facts explicitly over one that only implies them.
Why it matters to you
A booking page that says, in plain code, “this business offers virtual keynotes, fireside chats, and workshops, fees on request” gives a search engine and an AI tool a fact to hand to someone asking. A page that says the same thing only in flowing prose, buried in a paragraph, forces the machine to guess, and machines that guess sometimes guess wrong, which is how AI search ends up inventing a fee that was never published.
It also feeds directly into things like organic result formatting, star ratings, event dates, and business hours showing up directly in a search listing instead of a plain blue link. That is a small edge, but it is an edge that costs nothing once it is built correctly.
How I set it up
On the sites I build with Astro, structured data is generated automatically from the same content that fills the visible page. A case study page produces both the paragraph a human reads and the schema block a machine reads, from one source, so the two can never drift apart or contradict each other.
I do not bolt this on with a plugin that has to be manually maintained per page. It is part of the page template, which means every new page gets it without anyone remembering to add it.
What it looks like in practice
You will never see it directly unless you view the page’s source code. What you will see, over time, is your booking details, your service area, or your episode information showing up correctly formatted in search results and quoted accurately by AI tools, instead of a search engine or an AI system inventing its own version because your page never stated the fact plainly enough to be lifted whole.
Questions I get about this
- Will visitors see the structured data on my page?
- No. It lives in the page's code, not on the screen. Nobody reading your site notices it. It exists purely for search engines and AI tools reading the code behind the words.
- Do I have to write this myself?
- No, and you shouldn't try to hand-write it for every page. On the sites I build, it is generated automatically from the same content that fills the visible page, so a booking page and its structured data always agree with each other.
- What happens if a page has no structured data at all?
- Nothing breaks visibly, but a search engine or AI tool has to guess what the page means from the prose alone, which it does less reliably than reading an explicit statement. A page with clear structured data has a real edge over one without it, especially for AEO.
Where this fits in our work
Want this set up properly for your business?
This is the kind of thing I build every week. Grab a time and we will talk through what fits.