Structured Data (Schema Markup): What to Add and Why
In short
Schema markup helps search engines and AI assistants understand your pages. Which types matter for business websites, how to add them correctly, and the rules that keep you out of trouble.
Structured data is a small block of code that describes a page in a format machines understand: this is an article, published on this date, by this person; this is a product at this price; this is a business open these hours. Google uses it to understand pages and to show rich results, and it helps any system that reads your site — including AI assistants — interpret it correctly. Here's how to use it well.
What structured data is
Structured data uses the Schema.org vocabulary, a shared set of types and properties supported by the major search engines. Google recommends adding it as JSON-LD — a script block in the page's code that doesn't affect what visitors see.
It doesn't replace good content. It labels content that's already on the page so it can't be misread.
Types worth adding to a business website
- Organization — your business name, logo, website and social profiles
- LocalBusiness — address, hours, phone and area served for businesses customers visit
- Article or BlogPosting — headline, author and dates for blog posts
- Product and Offer — price, availability and reviews for e-commerce
- BreadcrumbList — the page's position in your site structure
- FAQPage — questions and answers shown on the page
A note on FAQ rich results
In August 2023 Google limited FAQ rich results to well-known, authoritative government and health websites. Most business sites will no longer see FAQ drop-downs in search results. FAQPage markup is still valid Schema.org and still describes your content accurately, so it can help machines understand the page — just don't expect the visual rich result.
The rules that matter
Google's structured data guidelines come down to honesty and accuracy. Markup must describe content that visitors can actually see on the page, must be current, and must not be misleading. Marking up reviews you wrote yourself, or prices that don't match the page, can lead to a manual action.
- Only mark up content visible on the page
- Keep markup in sync with the page (prices, dates, availability)
- Use the most specific type that fits
- Don't mark up fake or self-written reviews
How to add and test it
On a custom or modern framework site, generate JSON-LD from the same data that renders the page — that keeps the two in sync automatically. On WordPress, a reputable SEO plugin can add common types.
Test with Google's Rich Results Test to see which rich results a page is eligible for, and the Schema Markup Validator for general Schema.org correctness. After launch, Search Console's enhancement reports flag errors across the site.
An example: Organization markup
Organization markup on the home page tells search engines your official name, logo, website and social profiles in one place. In JSON-LD it's a short script with '@type': 'Organization', a name, a URL, a logo URL, and a sameAs list linking to your LinkedIn, Instagram or other official profiles. It's one of the simplest and most useful blocks to add, because it helps connect your website with your presence elsewhere.
Which type fits which page
- Home page — Organization (or Person for a personal brand), WebSite
- Contact / branch pages — LocalBusiness with address, hours and phone
- Service pages — Service, with provider and area served
- Blog posts — Article or BlogPosting, with author and dates
- Product pages — Product with Offer and genuine reviews
- Nested pages — BreadcrumbList
- Events — Event with date, location and offers
Common structured data mistakes
- Marking up content that isn't visible on the page
- Copying the same LocalBusiness block to every page of the site
- Prices, ratings or dates in markup that don't match the page
- Self-written or incentivised reviews marked up as customer reviews
- Leaving plugin-generated markup that conflicts with custom markup
- Never re-testing after template changes
Maintaining markup over time
Structured data breaks quietly when templates change. Generate it from the same data as the page so it stays in sync, re-test key templates after every release, and check Search Console's enhancement reports monthly for new errors or warnings.
Connecting entities with @id
On larger sites, separate blocks of markup can describe the same thing — your organisation appears as the publisher of articles, the provider of services and the subject of the About page. Giving that organisation a stable identifier (an @id such as your home page URL with '#organization') and referencing it from other blocks tells machines these are one entity, not several. It's a small detail that makes your site's structured data read as a connected graph.
Structured data for e-commerce
For online stores, Product markup with Offer details — price, currency, availability — and genuine review data can make product listings eligible for richer results. Google's e-commerce guidance also recommends consistent product identifiers and keeping markup in sync with the visible price and stock. Out-of-date prices in markup are a common source of problems after sales or price changes.
Structured data on WordPress vs custom sites
On WordPress, SEO plugins generate common types automatically; the risk is overlapping or conflicting markup from several plugins and themes. On custom sites, markup is generated in code from the same data as the page, which keeps it accurate but means a developer must add new types. Either way, test after changes.
Start small
If you're adding structured data for the first time, begin with Organization on the home page and Article or LocalBusiness where relevant. Validate, then expand.
Structured data and AI search
AI assistants and AI search features rely on understanding pages quickly and accurately. Clear structure — descriptive headings, direct answers, and accurate structured data about who you are and what you offer — makes your content easier to interpret. Google states that the same SEO fundamentals apply to its AI features; there's no special markup required for them.
Frequently Asked Questions
Does structured data improve rankings?
Not directly. It helps search engines understand your pages and can make them eligible for rich results, which can improve how your listing appears and how many people click it.
What format should I use for schema markup?
JSON-LD is Google's recommended format, added as a script block in the page.
Why don't my FAQs show as rich results?
Since August 2023, Google shows FAQ rich results mainly for authoritative government and health websites.
Can wrong structured data hurt my site?
Misleading or spammy markup — for example fake reviews or prices that don't match the page — can lead to a manual action and loss of rich results.
How do I check if my structured data is correct?
Use Google's Rich Results Test and the Schema Markup Validator, then monitor Search Console's enhancement reports.
Should I add LocalBusiness markup to every page?
No. Put it on the page that represents the business location, such as the contact or branch page, not on every page.
What is @id in JSON-LD?
A stable identifier for an entity, such as your organisation, that lets other markup blocks reference it so machines know they describe the same thing.
Key Takeaways
- Structured data labels existing content using Schema.org, ideally as JSON-LD.
- Organization, LocalBusiness, Article, Product and Breadcrumb cover most business sites.
- FAQ rich results are now limited mostly to government and health sites.
- Mark up only visible, accurate content.
- Test with the Rich Results Test and monitor Search Console.
Sources & further reading
- Intro to how structured data markup works — Google Search Central
- General structured data guidelines — Google Search Central
- Changes to HowTo and FAQ rich results — Google Search Central Blog
- Local business (LocalBusiness) structured data — Google Search Central
- Article schema markup — Google Search Central
- Rich Results Test — Google
- Schema Markup Validator — Schema.org
- BreadcrumbList markup — Google Search Central
- Intro to Product structured data — Google Search Central
Related work
Keep reading
Have a project that touches seo? See SEO, AEO & GEO services.
Get in touch