Web Development

Schema Markup Audit: 8 Types Every Local Business Needs

9 min read By WebSEO Auditor SEO Audit Checklist

If you have ever opened a competitor's website source and noticed a block of JSON near the bottom of the head section, that was schema markup — and there is a good chance it is one of the reasons their search snippets look richer than yours.

Schema markup (also called structured data) is the metadata layer that tells Google, Bing, and AI search engines exactly what a page represents: a business location, a service, an event, a product, a review, a person. Without it, search engines have to guess. With it, your snippets gain star ratings, opening hours, prices, FAQs, and breadcrumbs — features that earn more clicks than the entries above you.

Ready to find SEO issues on any website?

Try WebSEO Auditor free — run your first audit in seconds.

Try it free

For local businesses in particular, schema is no longer optional. Google AI Overviews, Bing Copilot, and Perplexity all rely heavily on structured data when deciding which businesses to cite when a user asks "best [service] near me." A site with thin schema is invisible to those answers.

This article walks through the eight schema types that matter most for a local business website, how to audit each one in under 30 minutes, and the most common mistakes that quietly break rich results without any visible warning.


What Schema Markup Actually Does

Schema markup is structured information written in a vocabulary defined by Schema.org and embedded in your HTML using one of three formats: JSON-LD (recommended), Microdata, or RDFa. Google strongly prefers JSON-LD because it can live in a single block in the head section and does not depend on visible HTML elements.

A simple example for a local plumbing business looks like this:

{
        "@context": "https://schema.org",
        "@type": "Plumber",
        "name": "Northside Plumbing",
        "telephone": "+44 20 7946 0123",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "12 King Street",
          "addressLocality": "Manchester",
          "postalCode": "M2 4WU",
          "addressCountry": "GB"
        },
        "openingHours": "Mo-Fr 08:00-18:00",
        "priceRange": "££"
      }
      

That block does several things at once: it tells search engines this is a plumber (not a "plumbing supplies retailer"), provides the address in machine-readable form, declares opening hours, and indicates pricing tier. All of that information can be used to populate a rich snippet in search results or to confirm the business listing in Google Business Profile.


How to Audit Existing Schema in Three Tools

Before adding new schema, audit what is already on the site. You may find existing markup that is broken, outdated, or duplicated — fixing those issues often produces better results than adding more.

Tool 1: Google Rich Results Test (search.google.com/test/rich-results)

Paste the URL of any page on the site. The test will show which schema types Google recognises, which ones are eligible for rich results, and any errors or warnings. This is the authoritative tool — if a schema type does not appear here, Google does not see it, regardless of what your CMS dashboard claims.

Tool 2: Schema.org Validator (validator.schema.org)

This is a stricter syntactic validator. It catches structural problems that the Google tool may tolerate, such as missing required properties or invalid value types. Use it after the Google test to catch issues that may affect Bing, AI search engines, or future Google updates.

Tool 3: Google Search Console Enhancements Report

Inside Search Console, under "Enhancements," Google lists every schema type it has indexed across the site and how many pages have issues. This is the only tool that gives you a sitewide view rather than a single-page snapshot. Check it monthly to catch new errors as content gets added.

The audit pattern is straightforward: run the site's homepage and three to five representative pages through Tools 1 and 2, then check Tool 3 for sitewide trends. Note every schema type present, every error, and every type that is missing from pages where it should exist.


The 8 Schema Types Every Local Business Needs

1. LocalBusiness (or a More Specific Subtype)

LocalBusiness is the foundation. Place it on your homepage and your contact page. If a more specific subtype applies — Restaurant, Dentist, Plumber, AutoRepair, AccountingService, RealEstateAgent — use that instead. The more specific the type, the more relevant your business looks to search engines.

Required properties: name, address (full PostalAddress), telephone, openingHoursSpecification, priceRange.

Highly recommended: geo (latitude/longitude), url, image, sameAs (links to social profiles), areaServed (the geographic area you cover).

Common mistake: Using LocalBusiness as the generic type when a specific subtype exists. Audit fix: replace with the most specific applicable type from schema.org/LocalBusiness.

2. Organization

If your business has any national or online presence beyond the local one — e-commerce, online services, multiple locations — add Organization as well. The two are not mutually exclusive. Organization captures the brand-level entity, LocalBusiness captures each physical location.

Required properties: name, url, logo.

Highly recommended: contactPoint (an array of contact channels), sameAs (social profiles), description.

Common mistake: Duplicating Organization on every page. Place it once, on the homepage. Use @id to reference it from other schema blocks elsewhere on the site.

3. Service (One per Service Page)

If your business offers distinct services — say, "Boiler Installation," "Bathroom Plumbing," and "Emergency Repair" — each service page should have its own Service schema block. This lets search engines understand the catalogue of services without having to parse your menu structure.

Required properties: name, provider (linked to your LocalBusiness/Organization via @id), areaServed.

Highly recommended: serviceType, offers (with price and priceCurrency), description, image.

Common mistake: Adding a single generic Service block to the homepage. Each service should live on its own page with its own schema — that is how Google understands the difference between your services and how AI search engines decide which one to cite when a user asks about a specific need.

4. BreadcrumbList

BreadcrumbList tells search engines the hierarchical path from the homepage to the current page. This affects how breadcrumbs render in search snippets — replacing a long URL with a clean, clickable path — and helps AI search engines understand your site structure.

Required properties: itemListElement (an ordered array of ListItem entries with position, name, and item URL).

Common mistake: Inconsistent breadcrumb structure between pages. Audit fix: make sure every interior page has a BreadcrumbList that matches its actual position in the site hierarchy.

5. FAQPage

If a page has a Q&A section — and most local business websites should — wrap it in FAQPage schema. This is one of the few schema types that consistently earns visible rich results across both Google and AI search.

Required properties: mainEntity (an array of Question entries, each with acceptedAnswer).

Common mistake: Adding FAQPage schema for content that does not exist visibly on the page. Google has tightened enforcement on this — schema content must match what users see, or it gets dropped.

6. Review and AggregateRating

Reviews and ratings are the most powerful schema type for click-through rates. A search result with a five-star rating earns dramatically more clicks than the same result without one. For local businesses, this often outweighs being ranked one or two positions higher.

Required properties: For Review — author, datePublished, reviewBody, reviewRating. For AggregateRating — ratingValue, reviewCount.

Common mistake: Self-serving ratings — reviews displayed only on your own site, not collected from a verifiable source. Google has restricted self-serving review schema since 2019; reviews must be associated with a verifiable third-party source (Google Business Profile, Trustpilot, Yelp) or risk being ignored.

7. Product or Offer

If your local business sells products — even alongside services — each product should have Product schema. For service businesses, the equivalent is wrapping Service in Offer to declare pricing.

Required properties: name, image, description, offers (with price, priceCurrency, availability).

Common mistake: Showing one price in schema and a different price on the page. Inconsistency triggers manual penalties.

8. Event (if applicable)

If your business runs events — open days, workshops, classes — Event schema earns prominent placement in Google's event-specific search results and in AI Overview event listings.

Required properties: name, startDate, location, organizer.

Common mistake: Forgetting to remove past events. Event schema for dates in the past clutters your structured data and may suggest the business is no longer active.


Five Common Schema Mistakes That Quietly Break Rich Results

Once schema is in place, the most common failure mode is not missing markup but broken markup. These five mistakes account for the majority of "schema is there but no rich result is appearing" cases.

1. Schema not visible to crawlers. If your site relies on client-side JavaScript to inject schema (some plugins do this), Googlebot may render the schema but other crawlers — Bingbot, AI engines — may not. Server-rendered JSON-LD is the only universally reliable option.

2. Mismatched @id references. Using @id to link schema blocks is a powerful pattern, but a typo in the @id breaks the link silently. Audit by checking that every @id reference points to an @id that actually exists somewhere on the site.

3. Required properties missing. Schema.org marks some properties as required for eligibility. Missing them does not throw an error in your CMS but disqualifies the schema from rich results. Always run Rich Results Test after any schema change.

4. Schema contradicts page content. If your schema says "open 24/7" and the page says "open Mon-Fri 9-5," Google trusts the page and drops the schema. Keep both in sync.

5. Duplicate or conflicting schema blocks. Some sites end up with two LocalBusiness blocks because of overlapping plugins. Conflicting names, addresses, or types cause Google to ignore both.


How Schema Fits Into a Wider SEO Audit

A schema audit is one chapter of a complete technical SEO audit — but it has a disproportionate effect on visible search behaviour. When agencies present audits to clients, the schema findings are often the most concrete and visual: "Here is the rich result your competitor gets that you do not, and here is why."

If you are running audits as a service, structure the schema portion of your reports around three deliverables: (1) a list of every schema type currently present, with errors and warnings noted; (2) a list of schema types missing where they should exist; (3) a prioritised remediation plan with estimated impact per change.

Schema markup is the rare SEO improvement that produces visible, measurable results — rich snippets — within days of going live. That makes it an ideal "quick win" to demonstrate audit value to a sceptical client.

Tools and Resources Worth Bookmarking

  • Google Rich Results Test: search.google.com/test/rich-results — authoritative for Google rich result eligibility
  • Schema.org Validator: validator.schema.org — strict structural validation
  • Google Search Console Enhancements: sitewide schema status
  • Schema App Editor: visual schema builder for non-developers
  • Yoast / RankMath: WordPress plugins that handle most common schema types automatically
  • JSON-LD Playground: json-ld.org/playground — for hand-writing schema

Summary

Schema markup is a high-leverage SEO improvement for local businesses. The eight schema types above — LocalBusiness, Organization, Service, BreadcrumbList, FAQPage, Review/AggregateRating, Product/Offer, and Event — cover the cases that matter most for visibility in Google and AI search. Auditing existing markup with the Rich Results Test, fixing the common breakage patterns, and adding the missing types is often a faster path to better search results than chasing new backlinks or rewriting content.

If you are running a website that depends on local search and have not audited your schema recently, start with the Rich Results Test on your homepage. The first 15 minutes will tell you whether you are competing on a level playing field or fighting with one hand tied behind your back.

Want to check your website's schema markup along with the rest of your SEO? Run a free WebSEO Auditor report to see your full SEO, performance, accessibility, and structured data status in under a minute.

Frequently Asked Questions