Structured data
Structured data is schema markup that tells search engines what a page is: an article, a product, a FAQ. It does not replace your content. It labels it so results can show richer details.
By Théophile Louvart, founder of Porteur · Updated 13 September 2026 · Markdown
What structured data does in search
It helps search engines understand the kind of thing on a page. That unlocks rich results, like stars, price, availability, breadcrumbs or FAQ toggles.
Why it matters for a small site: richer listings can win more attention without a higher rank. If your /pricing shows price and stock, it stands out. If /guides/getting-started shows FAQ questions, it takes more space on the page.
Structured data does not guarantee a rich result. It makes your page eligible. Search engines still check relevance, content quality and policies, as of 2026.
Which schema to use on a small site
- Product on product pages with name, description, image, brand, price, availability, SKU.
- Article or BlogPosting on blog posts with headline, datePublished, author, image.
- FAQPage on a true FAQ block where questions and answers match visible text.
- BreadcrumbList to mirror your on page breadcrumb trail.
- SoftwareApplication for downloadable or SaaS apps with operatingSystem and applicationCategory.
- LocalBusiness if you have a physical presence with address and opening hours.
How to add it with JSON LD
Use JSON LD. It sits in a single <script type="application/ld+json"> block in the <head> or <body>. It does not affect your HTML layout and is easy to update.
Pick the Schema.org type
Start from the content. If the page sells a thing, choose Product. If it answers Q and A, choose FAQPage.
Map fields to on page content
List the fields you can fill from the page: name, description, image URLs, price, author. Keep values identical to the rendered page.
Generate JSON LD
Use your CMS, a plugin or hand write a small JSON object. Place it once per page. Avoid mixing formats like Microdata and RDFa on the same page.
Keep it fresh
Update markup when content changes. If price on /pricing updates, update the price in Product too.
A fixed page looks like this in results: your product shows rating stars and price below the blue link, or your guide shows two FAQ questions as dropdowns.
How to validate and measure impact
- Validate the code with a structured data checker. Fix errors and warnings before you publish.
- Crawl key templates after launch. Spot pages where markup failed to render.
- Track eligibility and appearance in your search tools. Look for pages that gained rich results.
- Measure clicks and click through rate on pages with markup versus similar pages without. Compare like for like queries and date ranges of 28 days.
Common traps and how to avoid them
- Marking up content that users cannot see. This breaks policies.
- Using the wrong type. For example, FAQPage on a page without a real FAQ block.
- Out of date values. Price, stock, dates and ratings must stay in sync with the page.
- Duplicate or conflicting markup. Do not add both Microdata and JSON LD for the same thing.
- Site wide templates on the wrong pages. Do not put Product on your blog index.
- Over nesting. Keep to what the page is primarily about, with a few linked entities like brand.
Questions
It is schema markup that labels page content with types and properties. Examples: Product with price and availability on /pricing, Article with author and date on a blog post, FAQPage with the exact questions and answers visible on the page.
Structured data here is markup you add to a web page in a standard format. Unstructured content is the free text, images and layout a user reads. The markup describes the content so machines can parse it.
Most PDFs are unstructured for search markup. You cannot add JSON LD inside a typical PDF. If you rely on PDFs, mirror key content as HTML pages and mark those up.
Emails can use separate schema for inbox actions, but that is not web page SEO. For search results, add schema markup to the HTML pages on your site, not to emails.
No. Start with templates that benefit from rich results, like product, article and FAQ pages. Add BreadcrumbList site wide if you show breadcrumbs. Expand to other types when you can maintain them.
Use JSON LD. It is cleaner to maintain and does not tangle with your HTML. Keep to one format per page to avoid conflicts.
Sources
Check my site, free
Paste your URL to get a free structured data check in about thirty seconds, with three findings you can ship today.
- Free check, no card
- Read-only, your own accounts
- Readable by your agent
Read next
- GlossaryRich snippet
- GuideTechnical SEO checklist for a small site
- Free toolStructured data checker
- GuideOn-page SEO checklist: the twelve things on the page
- GlossaryFeatured snippet
- GuideHow to use Google Search Console in ten minutes a week
- Free toolSchema markup generator
- GuideJSON-LD: how to write it, where to put it, how to test it