Schema.org and Structured Markup: Why Mark Up Your Site and What It Gets You in Search
Open Google search results for any commercial query. Some sites show bare text under the link. Others show star ratings, prices, breadcrumbs, a question-and-answer block. Guess which ones get more clicks. It has nothing to do with luck or ad spend. One site explained to the crawler what’s on the page - the other didn’t.
Structured markup is exactly how that explanation happens. Below - what it is in plain terms, what it gets you in search and in AI systems, which types you actually need, and where people most often go wrong.
What Structured Markup Is in Plain Terms
A person opens a page and immediately understands everything: here’s the article title, here’s the author’s name, here’s the product price, here’s a four-star review. A crawler can’t do that. It sees text and HTML tags, with no labels saying “this is a price,” “this is the author,” “this is a date.”
Structured markup is those labels for the crawler. An invisible data layer that tells the search engine directly: this page contains an article, the title is such-and-such, it was published on this date, written by this person, and behind the site stands this company. The human sees the text - the crawler sees the labels attached to it.
The standard used to create these labels is called Schema.org - a shared vocabulary of types and properties understood by Google, Yandex, Bing, and AI systems. Technically, markup is most often written as JSON-LD: a code block inside a <script type="application/ld+json"> tag, sitting in the HTML but invisible on the page. There are also older formats - microdata and RDFa, where labels are embedded directly in text tags. But JSON-LD is more convenient: it’s a self-contained block that’s easy to add, check, and edit without touching the layout.
What It Gets You
There are three distinct effects here, and each one works through a different channel.
Rich snippets in Google. This is the difference described in the intro. When a page is marked up, Google can show something richer in search results than a plain blue link: stars and review counts, price and availability for products, breadcrumbs instead of a long URL, an FAQ accordion. Such a snippet takes up more space, looks more authoritative, and answers part of the user’s question right in the results. This leads to a higher CTR: at the same ranking position for the same query, a marked-up site collects more clicks simply because it’s more visible.
Citations in AI systems. ChatGPT, Perplexity, Google AI Overviews increasingly answer users directly, citing sources. To appear in such an answer, a site must be machine-readable without guesswork. Markup eliminates the guesswork: the model doesn’t parse the layout randomly but reads a ready-made structure - here’s the title, here’s the author, here’s the gist. A marked-up page is easier to understand and easier to cite.
Trust signal (E-E-A-T). Google looks not just at the text but at who stands behind it. The Organization markup shows which company owns the site, what its logo and contacts are. Author markup ties an article to a specific person. For the search engine, this is a signal: real people and a real organization stand behind the content, not an anonymous source. Especially important in topics about money and health, where Google scrutinizes sources closely.
Which Markup Types You Need
Schema.org has hundreds of types, but in practice a dozen covers most cases. Use the ones that match your page content.
- Article / BlogPosting / NewsArticle - for articles and blog posts. Title, author, publication date, cover image. The foundation for any content site.
- Product - for product pages. Name, price, currency, availability. This is what gets the price shown under the link in search results.
- Organization - for the company site as a whole. Name, logo, contacts, social media links. Set once for the entire site, it feeds the trust signal.
- LocalBusiness - for businesses with a physical address: cafes, clinics, service centers. Address, opening hours, phone. Helps with local search and maps.
- BreadcrumbList - breadcrumb navigation. Shows the path “Home - Catalog - Product” in search results instead of an unreadable URL.
- FAQPage - question-and-answer blocks on the page. Marks up each question-answer pair individually.
- Review / AggregateRating - reviews and average rating. The stars you see in snippets.
The minimum for most sites: Organization site-wide, Article or BlogPosting on articles, Product on product pages, BreadcrumbList for navigation. That’s already enough to change what the search results look like.
How to Add Markup
JSON-LD goes either in the <head> of the page or before the closing </body>. The search engine doesn’t care where, as long as the block is in the HTML. Here’s a working example for an article:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Schema.org and Structured Markup: Why Mark Up Your Site",
"author": {
"@type": "Person",
"name": "Andrii Pura"
},
"publisher": {
"@type": "Organization",
"name": "PuraMind.AI"
},
"datePublished": "2026-05-22",
"image": "https://puramind.ai/assets/covers/schema-org.png"
}
</script>
The fields here speak for themselves: @context points to the Schema.org vocabulary, @type is the page type, headline is the title, author is who wrote it, datePublished is when, image is the cover. Substitute your own values and insert the block into the HTML.
Manual code editing isn’t always necessary. On WordPress, plugins handle markup (Rank Math, Yoast); on Tilda and other site builders there are built-in fields or a block for inserting JSON-LD. The principle is the same everywhere - fill in the fields and the engine assembles the code.
After adding markup, you need to check it. Open Google Rich Results Test, paste the page URL or the code itself - the validator will show which types it recognized, which fields are filled in, and where there are errors and warnings. You’ll also see which rich snippets the page is eligible for.
Common Mistakes
These mistakes are caught by the SEO audit on seonerve in the structured data section - here’s what comes up most often.
No markup at all (no_structured_data). The most common case: a site has been running for years with not a single label for the crawler. The search engine guesses the content on its own - and often guesses worse than it could.
Deprecated types in use (schema_deprecated). Schema.org is a living standard, and Google periodically stops supporting certain types. For example, HowTo and ClaimReview markup no longer produces rich results. It doesn’t hurt anything on its own, but expecting a nice snippet from it is no longer realistic.
Missing required fields (schema_missing_fields). The type is specified but key data is missing - name, headline, or datePublished were forgotten. For Google, such markup is incomplete and it won’t show a snippet, even though the block technically exists.
Validation warnings (schema_warnings). The markup works, but the validator flags optional but recommended fields. Not critical, but the more complete the data, the better the page’s chances of getting a rich snippet.
A separate nuance for 2026 - the fate of FAQ. In May 2026 Google removed rich results for FAQPage: the question-and-answer accordion no longer appears in regular search results. It might seem like the markup can be dropped. But no: AI systems still read it and use it to understand page structure and extract ready-made answers. So FAQPage remains useful for AI visibility, even when Google no longer rewards it with stars and accordions.
Where to Start
First, see what you already have. Run your site through the free audit at seonerve.com - the structured data section will show whether markup exists, which types are in place, what’s missing, and what’s outdated. That’s half a minute and zero cost, but you immediately see the scope of work.
Then in order: add Organization site-wide, mark up articles and products, add breadcrumbs, check everything in Rich Results Test. If you don’t have time to figure out JSON-LD and plugins, reach out - we’ll implement the markup end-to-end and verify that the search results start changing.