How-to guide · structured-data
How to add structured data (JSON-LD) that helps AI search understand your business
Structured data will not magically get you cited, and anyone who says otherwise is selling something. What it does is remove ambiguity about who you are, what you offer and what a page is. Here is the schema that matters, in priority order, with a working example.
Structured data is JSON-LD in your page that says, in a format machines agree on, "this page is an article, written by this person, published by this organisation, which is located here and offers these services". Google uses it for rich results and to understand entities. Other AI engines read the raw HTML and can use it as a clean statement of facts alongside your visible text.
Be clear about what it does not do. Google's May 2026 guidance says no special markup is needed to appear in AI Overviews. An Ahrefs experiment that added schema to already-cited pages found no measurable change. The value is in disambiguation: making sure engines connect your name, your site, your people and your pages correctly, and do not confuse you with someone else or misread a service page as a blog post. That matters more than it sounds, because misidentification is one of the failure modes we see most.
Do it in this order.
Step 1: Organization (or LocalBusiness) on the homepage
One block, one @id, referenced from every other page. Include name, alternateName if you use a short form, url, logo, description (the same 25-word description you use everywhere), address, telephone, email, foundingDate, founder (Person) and sameAs links to LinkedIn, Google Business Profile, Companies House, Crunchbase and social profiles. Use the most specific type that fits: LocalBusiness or a subtype such as ProfessionalService, Dentist, Plumber for a local business; Organization for everything else.
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"@id": "https://example.co.uk/#organization",
"name": "Example Digital Ltd",
"url": "https://example.co.uk",
"logo": "https://example.co.uk/logo.png",
"description": "Example Digital is a web design and SEO agency in Eastbourne, East Sussex, working with small and mid-sized UK businesses since 2019.",
"telephone": "+441323000000",
"email": "hello@example.co.uk",
"foundingDate": "2019",
"address": {
"@type": "PostalAddress",
"streetAddress": "1 Example Street",
"addressLocality": "Eastbourne",
"addressRegion": "East Sussex",
"postalCode": "BN21 1AA",
"addressCountry": "GB"
},
"areaServed": ["Eastbourne", "Bexhill", "East Sussex"],
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:30"
},
"sameAs": [
"https://www.linkedin.com/company/example-digital",
"https://find-and-update.company-information.service.gov.uk/company/00000000"
]
}
Step 2: WebSite and WebPage
A WebSite node with publisher pointing at the Organization @id, and a WebPage (or a subtype: AboutPage, ContactPage, CollectionPage) on each page with isPartOf pointing at the WebSite. This is cheap and it tells engines what each URL is.
Step 3: Article on every piece of content
Article or BlogPosting with headline, description, datePublished, dateModified, author (a Person with name, jobTitle, url to their author page and sameAs to LinkedIn), publisher (@id of the Organization), mainEntityOfPage and inLanguage. Dates and authorship are the parts engines use most. Keep dateModified honest.
Step 4: HowTo on step-based guides
For genuine instructions, HowTo with name, description, totalTime and step as a list of HowToStep items, each with name, text and a url anchor to the heading. Google removed most HowTo rich results in 2023, so do not expect a visual change in Google; the value is a clean machine-readable version of your steps for other consumers.
Step 5: FAQPage where questions are visible
FAQPage with mainEntity as a list of Question items with acceptedAnswer. The text must match what is on the page word for word. If the FAQ is inside an accordion, that is fine as long as the text is in the HTML and not injected by JavaScript.
Step 6: Service, Product and Offer
Service pages get a Service node with name, description, provider (Organization @id), areaServed and, if you publish prices, offers with price or priceRange. Product pages get Product with brand, sku, image, description, aggregateRating (only from real reviews) and offers with price, priceCurrency, availability. Accurate price and availability here matches what you send in a Merchant Center feed and is what AI shopping features check.
Step 7: BreadcrumbList
On every page below the homepage. It is small, it clarifies site structure, and it is one of the few types Google still shows visually.
Step 8: Connect it into one graph
Use a single @graph array per page and reference nodes by @id rather than repeating them. The Organization defined once on the homepage is referenced by publisher, provider and worksFor everywhere else. Duplicate, conflicting Organization blocks (a common plugin side effect) are worse than none.
Step 9: Validate and read it
Paste each template page into the Schema.org validator and Google's Rich Results Test. Fix errors, but also read the output. Placeholder names, "Company Name Here", a logo URL that 404s, an address in the wrong country: we see all of these on live sites. The validator will not catch a wrong fact.
Step 10: Keep it consistent with the visible page
The rule for every type: the schema describes what is on the page. Same name, same prices, same dates, same questions. Schema that disagrees with the page is a trust signal in the wrong direction.
Common mistakes
- Two SEO plugins both emitting Organization, with different names.
- FAQ schema for questions that are not on the page.
dateModifiedupdated by a plugin every time the page loads.LocalBusinesswith no address because someone thought it was private. If the address is on your contact page, put it in the schema.- Believing schema alone will get you cited. It will not; it stops you being misunderstood.
Frequently asked questions
Does structured data increase AI citations?
+
The evidence is mixed. SE Ranking found around 71 percent of pages cited by ChatGPT carried structured data, which is a correlation. An Ahrefs experiment in May 2026 added JSON-LD to pages that were already being cited and measured no lift. Our reading: schema helps engines resolve entities and page types correctly, which prevents you being misdescribed, but it does not substitute for content that answers the question.
Should I add FAQPage schema to every page?
+
Only where the questions and answers are visible on the page and identical to the markup. Google restricted FAQ rich results to a small set of site types in 2023, but the schema still describes your content accurately for other engines. Never mark up questions that are not on the page.
Do I need a plugin or can I write JSON-LD by hand?
+
Either. Yoast, Rank Math and Shopify apps generate reasonable defaults. The problems we see come from plugins with placeholder values, two plugins emitting conflicting Organization blocks, and schema that disagrees with the page. Whatever generates it, validate it and read it.
Sources
- Schema.org validator · validator.schema.org
- Google: Rich Results Test · search.google.com
- ReachRoller: What ChatGPT actually cites (SE Ranking and Ahrefs schema findings) · reachroller.com
Richard Daniel
Automation and Delivery Lead, Emerging Group
Richard leads automation and delivery across the Emerging group, working with EDP on client websites and with ETT on enterprise AI and process automation. He is the person who turns an audit finding into a working fix: crawler access, rendering, tracking, structured data and the plumbing that most marketing teams never see. He writes the technical guides on this site.
Read next
How to get indexed by Bing (because ChatGPT search leans on it)
OpenAI names Bing among the search providers behind ChatGPT search, and independent analyses in 2026 found most of ChatGPT's cited pages also rank in Bing's top results. Copilot is Bing. If your Bing coverage is thin, so is your ChatGPT visibility. Here is the fix.
How to get your products into AI shopping answers (ChatGPT, Google AI Mode, Perplexity)
AI assistants now answer 'what should I buy' with specific products, prices and links. They get that data from feeds, structured product pages and reviews, not from your homepage. Here is what an online shop needs in place to be one of the products named.
How to write an llms.txt file (and what it does and does not do)
Google says you can ignore llms.txt. Ahrefs found 97 percent of the files it studied were never requested. No major AI lab has committed to reading it. It is still a 30-minute job with no downside, as long as you know exactly what you are and are not getting. Here is how to do it properly.
Get in touch