A homeowner searching for a plumber on a phone gets a result with stars, hours and a map pin; a competitor with the same services gets a plain blue link. The difference is often structured data, not a better website. Most small sites do not need twenty schema types. They need five: Organization, LocalBusiness, WebSite, BreadcrumbList and Article (or Product or FAQPage, depending on the page).

Schema markup is a shared vocabulary, published at schema.org, that adds machine-readable labels to a page: this is the business name, this is the price, this is the question. Search engines and AI answer engines can then read those labels instead of guessing from layout and prose.

Put simply, the five types cover identity, location, site structure, page type and one page-specific content type. Everything else is optional until a real page needs it.

Why do most small sites only need five schema types?

Search engines already read your visible text. Schema adds clarity where the visible page is ambiguous: a phone number that could be a fax, a heading that could be a product name, a Q and A block that could be marketing copy. The five types below cover the ambiguity that actually appears on a typical small business site.

More types are not free. Each block is code you must maintain, validate and keep in sync with the page. A broken price in Product markup is worse than no Product markup, because the visible page and the machine-readable page disagree.

The other reason is that Google's own documentation on structured data lists which features each type can enable, and most small sites can only win a handful of those features anyway. Google's Search Central structured data documentation (developers.google.com/search/docs/appearance/structured-data) is the authority to check before adding any type.

The five types work as a stack. Organization and LocalBusiness describe who you are. WebSite describes the site. BreadcrumbList describes where a page sits. The fifth type describes what the page is about, and it changes from page to page.

Which five types should you add first?

The table below is the short list. Start at the top and work down. If you only get through the first three, you have already covered the most common identity and structure gaps.

Schema typeOne-line purposeWhere it goesEffort
OrganizationNames the company, logo and sameAs profiles so engines can link the entity.Home page, or every page via a site-wide block.Low
LocalBusinessGives address, phone, opening hours and geo coordinates for a physical location.Home page and contact page.Low to medium
WebSiteIdentifies the site itself and its search action, if you have internal search.Home page.Low
BreadcrumbListShows the page's position in the site hierarchy.Every page below the home page.Low
Article, Product or FAQPageDescribes the page's main content: a post, a sellable item, or a question set.The specific page type.Medium

The fifth row is really a choice, not one type. Pick the one that matches the page in front of you. Do not put all three on the same page unless the page genuinely contains all three things.

What does each type do, and what does the JSON-LD look like?

JSON-LD is a way to write schema as a block of JSON inside a <script type="application/ld+json"> tag. Google's documentation recommends JSON-LD because it is easy to add without changing the visible HTML. The snippets below are starting points; replace the placeholder values with your real data.

1. Organization. Purpose: tells engines the company name, URL, logo and official profiles. Put it on the home page.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Your Company Name",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/your-company",
    "https://www.facebook.com/your-company"
  ]
}

2. LocalBusiness. Purpose: gives a physical location's address, phone and hours. If you serve customers at a fixed address, this is the type that matters most for map and local results.

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Your Company Name",
  "image": "https://example.com/shop.jpg",
  "telephone": "+1-555-0100",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "Springfield",
    "addressRegion": "IL",
    "postalCode": "62701",
    "addressCountry": "US"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "opens": "09:00",
    "closes": "17:00"
  }],
  "url": "https://example.com"
}

3. WebSite. Purpose: names the site and, if you have internal search, points to the search URL pattern. It helps engines understand the site as one entity rather than a set of unrelated pages.

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your Site Name",
  "url": "https://example.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://example.com/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}

4. BreadcrumbList. Purpose: shows the page's path, for example Home > Services > Boiler Repair. It can appear in the result as a breadcrumb trail instead of a raw URL.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type":"ListItem","position":1,"name":"Home","item":"https://example.com"},
    {"@type":"ListItem","position":2,"name":"Services","item":"https://example.com/services"},
    {"@type":"ListItem","position":3,"name":"Boiler Repair","item":"https://example.com/services/boiler-repair"}
  ]
}

5a. Article. Purpose: marks a blog post or news page, with headline, author and dates. Put it on posts, not on the home page.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to Bleed a Radiator",
  "datePublished": "2026-09-01",
  "dateModified": "2026-09-15",
  "author": {"@type":"Person","name":"Author Name"},
  "publisher": {"@type":"Organization","name":"Your Company Name"}
}

5b. Product. Purpose: marks a sellable item with price, currency and availability. Use it only when the page really sells one product and the price is visible.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Cast Iron Radiator Valve",
  "sku": "RAD-VALVE-15",
  "offers": {
    "@type": "Offer",
    "price": "24.99",
    "priceCurrency": "GBP",
    "availability": "https://schema.org/InStock"
  }
}

5c. FAQPage. Purpose: marks a set of real questions and answers on the page. Google's FAQ rich result eligibility has narrowed over time, so check the current Google documentation before relying on it for visibility.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Do you offer emergency callouts?",
    "acceptedAnswer": {"@type":"Answer","text":"Yes, within 20 miles, seven days a week."}
  }]
}

How does schema actually get used once it is live?

The path is crawl, then index, then retrieve, then cite. A crawler fetches the page and reads the JSON-LD along with the HTML. The index stores the extracted facts as part of the page record. A retrieval system then pulls candidate pages for a query, and the answer engine or search result picks what to show.

Schema helps at the extraction step. When the page says "Call 555-0100" and the markup says "telephone": "+1-555-0100", the engine does not have to infer which number is the phone. That reduces the chance of a wrong extraction, not the chance of a ranking boost.

This is the part most guides get wrong. Adding schema does not push a page up the rankings. Google's own documentation states that structured data is not a ranking factor, though it can enable rich result features. What it does is make facts easier to read and, in some cases, make the page eligible for a richer display.

Which mistakes should you avoid?

The most common mistake is marking up content that is not visible on the page. If the JSON-LD says the price is 19.99 and the page shows 24.99, the markup is wrong. Google's structured data policies require the markup to match the visible content.

The second mistake is stacking every type on one page. A home page with Organization, LocalBusiness, WebSite, Article, Product and FAQPage is usually a sign that someone copied a template without checking. Each type should describe something the page actually contains.

The third mistake is stale data. Opening hours change, staff leave, prices move. A LocalBusiness block with last year's hours is a factual error that engines may repeat. Put a review date on the markup and check it when the page changes.

The fourth mistake is using a type the page cannot support. Review and AggregateRating markup, for example, has specific eligibility rules in Google's documentation. Adding stars to a page that does not collect reviews is a policy violation, not a shortcut.

How do you test and validate the markup?

Use two tools. Google's Rich Results Test checks whether a page is eligible for a specific Google feature. The Schema Markup Validator checks whether the markup itself is valid against schema.org. They answer different questions, so run both.

After validation, watch the page in Search Console. The Enhancements reports show which types Google has detected and whether any items have errors. A type that validates but never appears in the report is usually a type Google does not use for that page.

What should you do next, by page type?

If the page is a home page, add Organization, LocalBusiness (if you have a physical location) and WebSite. If the page is a service or category page, add BreadcrumbList. If the page is a blog post, add Article and BreadcrumbList. If the page sells one product, add Product and BreadcrumbList. If the page answers common questions, add FAQPage only if the questions and answers are visible on the page.

If you have no developer, start with Organization and BreadcrumbList. Both can be added with a plugin or a small snippet in the site's header template, and both are low-risk. LocalBusiness needs accurate address data, so gather that first.

If you have a developer, add the five types as a small set of templates, one per page type, and reuse them. The goal is consistency, not coverage. A site with five correct types beats a site with twenty half-correct ones.

Key Takeaways

  • Most small sites need five schema types: Organization, LocalBusiness, WebSite, BreadcrumbList and one page-specific type (Article, Product or FAQPage).
  • Schema markup makes facts easier to extract; it is not a ranking factor, per Google's structured data documentation.
  • Markup must match the visible page content, including price, hours and contact details.
  • Validate with both the Rich Results Test and the Schema Markup Validator, then check Search Console Enhancements.
  • Review the markup when the page changes; stale hours and prices are factual errors.
  • Add types in order of page need, not in order of how many types you can list.

Frequently asked questions

What schema markup should a small business use first?

Start with Organization on the home page, then BreadcrumbList on every page below it. These two cover identity and site structure with low effort and low risk. Add LocalBusiness next if you have a physical address.

Does schema markup improve Google rankings?

No. Google's structured data documentation states that structured data is not a ranking factor. It can make a page eligible for rich result features, which may change how the result looks, but it does not move the page up the rankings by itself.

How many schema types should one page have?

Usually one to three. A home page might have Organization, LocalBusiness and WebSite. A blog post might have Article and BreadcrumbList. If a page has five or more types, check that each one describes something actually visible on the page.

Can I add schema without a developer?

Yes, for simple types. Organization, WebSite and BreadcrumbList can often be added with a plugin or a small header snippet. Product and FAQPage need careful matching to visible content, so review them before publishing.

Does schema markup help with AI search results?

Data sources: the standards and technical parameters referenced in this article are based on the corresponding national/industry standards and the manufacturer's factory QC records; the current in-force version prevails.