A homeowner searching for a plumber in Leeds gets a map pack, star ratings and an FAQ box. A small plumbing firm with a plain page gets a blue link. The difference is often schema markup. Schema markup is code you add to a page that tells search engines what your content means, not just what it says. This article covers the five types that do the real work for a small site, with a myth-buster first.

Why do people think more schema types mean better rankings?

The common myth is that stacking every schema type onto every page boosts rankings. It does not. Schema.org is a vocabulary, not a ranking factor. Google's own documentation says structured data helps Google understand your page and can make it eligible for rich results — it does not ensure a ranking lift.

Put simply: schema is a labelling system. A label that does not match the page content is worse than no label at all. Google's structured data guidelines say markup must be a true representation of the page. If you mark up a recipe on a page that has no recipe, you risk a manual action.

So the goal is not more types. It is the right types, correctly placed, on the pages where they earn something: a rich result, a better entity match, or a cleaner answer for an AI system to quote.

How does schema actually reach a search result or an AI answer?

Four steps. Crawl, index, retrieve, cite. Each one treats schema differently.

Crawl. A crawler fetches the HTML. Schema in JSON-LD sits inside a <script type="application/ld+json"> block. The crawler reads it as part of the page. If the block is broken JSON, the crawler may ignore it or flag an error in Search Console.

Index. The search engine parses the markup into entity facts: this is a LocalBusiness, it has an address, a phone number, opening hours. Those facts attach to the page and to the site as a whole. This is where consistency matters. If your LocalBusiness name differs from your Google Business Profile name, you create two weak entities instead of one strong one.

Retrieve. When someone searches, the engine pulls candidate pages. Structured data can make a page eligible for a rich result — a star rating, a FAQ dropdown, a product price. It can also help an AI answer engine pick the page as a source, because the facts are already machine-readable. There is no public figure for how much schema alone increases citation by AI systems.

Cite. The final step is the answer. Schema does not write the answer. It makes your page easier to parse so the engine can lift a fact, a price or an FAQ pair with confidence.

Which five schema types earn their place on a small site?

These five cover most small business sites. Add others only when the page genuinely contains that content type.

Schema typeUse it onWhat it can earn
LocalBusinessHomepage and contact pageEntity match with Google Business Profile, local pack signals
OrganizationHomepage, about pageLogo, social profiles, brand entity
ArticleBlog posts, news, guidesArticle rich result, author and date signals
FAQPagePages with real Q&A contentFAQ dropdown in search, clean Q&A pairs for AI answers
ProductProduct or service pages with pricePrice, availability, review stars in results

That is it for most sites. BreadcrumbList is a useful sixth if your site has clear hierarchy, but it is not essential. VideoObject only matters if you host video. Event only if you run events.

What does each one look like in JSON-LD?

JSON-LD is JavaScript Object Notation for Linked Data — a way to write schema in a script block, separate from your visible HTML. Google recommends it because it is easier to maintain than microdata. Each snippet below is a starting point. Replace the values with your own. Validate before publishing.

LocalBusiness. Use this on your homepage and contact page. The @type should match your business — for example Plumber, Dentist or Restaurant — because those are subtypes of LocalBusiness and carry more meaning.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "name": "Example Plumbing Ltd",
  "telephone": "+44 20 0000 0000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1 Example Street",
    "addressLocality": "London",
    "postalCode": "SW1A 1AA",
    "addressCountry": "GB"
  },
  "url": "https://www.example.co.uk",
  "openingHours": "Mo-Fr 08:00-18:00"
}
</script>

Organization. This builds your brand entity. The sameAs property links to your social profiles and Wikipedia page if you have one. Keep the name identical to your LocalBusiness name.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Plumbing Ltd",
  "url": "https://www.example.co.uk",
  "logo": "https://www.example.co.uk/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/example",
    "https://twitter.com/example"
  ]
}
</script>

Article. Use this on blog posts and guides. The author should be a Person with a real name and a link to an about page. Google's Article documentation lists headline, image and datePublished as required properties.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to Fix a Leaking Tap",
  "image": ["https://www.example.co.uk/tap.jpg"],
  "datePublished": "2026-01-15",
  "author": {
    "@type": "Person",
    "name": "Jane Smith",
    "url": "https://www.example.co.uk/about"
  }
}
</script>

FAQPage. Only use this if the page visibly shows the questions and answers. Google's FAQ structured data documentation says the content must be visible to users. Hiding it in the markup alone is against the guidelines.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Do you offer emergency call-outs?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Yes, we cover London seven days a week."
    }
  }]
}
</script>

Product. Use this on a page selling one product or service with a price. The offers block carries price and currency. If you show reviews, add aggregateRating, but only from real reviews.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Boiler Service",
  "offers": {
    "@type": "Offer",
    "price": "89.00",
    "priceCurrency": "GBP",
    "availability": "https://schema.org/InStock"
  }
}
</script>

How do you add JSON-LD without a developer?

Three routes, depending on your setup.

CMS plugin. WordPress plugins like Yoast SEO or Rank Math generate schema from fields you already fill in. You set the business type, address and social links once. The plugin outputs the JSON-LD. This is the fastest route for non-technical owners.

Theme or template. Many modern themes include schema for articles and organization. Check the page source for application/ld+json before adding a second block. Duplicate markup can confuse parsers.

Manual paste. For a static site, paste the script block into the <head> or before </body>. One block per page. Keep a plain-text copy so you can edit it later.

Whichever route you take, the values must match what users see. If your phone number changes, update the markup the same day.

What are the common schema mistakes that kill the benefit?

Marking up invisible content. If the FAQ answers are not on the page, the markup is invalid. Google's guidelines call this spammy structured data.

Using the wrong @type. A LocalBusiness on an article page tells the engine the page is a business, not a guide. Use the most specific type that fits.

Inconsistent names. If your Organization name is "Example Plumbing Ltd" and your LocalBusiness name is "Example Plumbing", you split your entity. Pick one name and use it everywhere, including your Google Business Profile.

Broken JSON. A missing comma or bracket makes the whole block unreadable. Validate every change with the Schema Markup Validator and Google's Rich Results Test before publishing.

Ignoring required properties. Article needs headline, image and datePublished. Product needs offers or review. Missing these means no rich result.

How do you test and measure whether it works?

Test in two places. The Schema Markup Validator checks the markup itself. Google's Rich Results Test shows which rich result types the page is eligible for. Run both after every change.

For measurement, open Search Console and check the Enhancements reports. They show valid items, warnings and errors by type. A rise in valid FAQ items with no change in impressions tells you the markup is correct but not yet earning clicks.

To track whether rich results change click-through rate, compare the same query set before and after. There is no public benchmark for the size of the lift, because it depends on the query, the result type and the competition.

For AI answer engines, check whether your pages appear in AI Overviews or assistant answers for your brand and service queries. Schema makes facts easier to parse, but citation depends on the whole page, not the markup alone.

Which pages get which type? A quick decision guide

If your homepage is your main business page, use LocalBusiness and Organization. If you run a blog, use Article on every post, with a real author. If you have a services page with prices, use Product. If you have a page of genuine questions and answers, use FAQPage. If you have none of those, you may only need LocalBusiness and Organization to start.

If you sell online, add Product to every product page and BreadcrumbList to your category pages. If you run a restaurant, use Restaurant (a LocalBusiness subtype) plus Menu and FAQPage. If you run a salon, use BeautySalon plus FAQPage for booking questions.

Start with the types that match pages you already have. Add more only when you add the content they describe.

Key Facts at a Glance

  • Five types cover most small sites: LocalBusiness, Organization, Article, FAQPage, Product.
  • Schema does not boost rankings by itself; it makes pages eligible for rich results and easier to parse.
  • Every value must match visible page content; hidden or fake markup risks a manual action.
  • Use JSON-LD, validate with the Schema Markup Validator and Rich Results Test, and track Enhancements in Search Console.
  • Keep entity names identical across your site, Google Business Profile and social profiles.
What is schema markup and why does it matter?

Schema markup is code that describes what your page content means, using the Schema.org vocabulary. It matters because it helps search engines and AI systems understand your page and can make it eligible for rich results like star ratings or FAQ dropdowns.

Which schema types are essential for small businesses?

For most small sites, the essential five are LocalBusiness, Organization, Article, FAQPage and Product. Add BreadcrumbList or VideoObject only if your site has that content.

How do I add schema markup to my website?

Use a CMS plugin like Yoast SEO or Rank Math, or paste a JSON-LD script block into your page's HTML. Validate it with the Schema Markup Validator and Google's Rich Results Test before publishing.

Can schema markup improve my SEO rankings?

Schema markup is not a direct ranking factor. It can improve how your listing appears in search results, which may affect click-through rate. Google's documentation says structured data helps Google understand your page but does not ensure a ranking boost.

How do I test if my schema markup is working?

Run the Schema Markup Validator and Google's Rich Results Test on each page. Then check the Enhancements reports in Google Search Console for valid items, warnings and errors.