Local SEO

Local Schema
Markup

LocalBusiness schema is structured data that gives Google a precise, machine-readable description of your business — hours, location, service area, contact details, and more. It directly supports local search eligibility and reinforces the data in your Google Business Profile.

Get a Free Schema Audit

The Basics

What LocalBusiness Schema Looks Like

LocalBusiness JSON-LD — Essential Properties
1{
2 "@context": "https://schema.org",
3 "@type": "Plumber",
4 "name": "Griffin Mott Consulting",
5 "url": "https://griffinmottconsulting.com",
6 "telephone": "+19135551234",
7 "address": {
8 "@type": "PostalAddress",
9 "streetAddress": "5326 W. 119th Terr #133",
10 "addressLocality": "Overland Park",
11 "addressRegion": "KS",
12 "postalCode": "66209"
13 },
14 "geo": {
15 "@type": "GeoCoordinates",
16 "latitude": 38.9067,
17 "longitude": -94.6875
18 },
19 "openingHours": "Mo-Fr 09:00-17:00",
20 "priceRange": "$$",
21 "areaServed": "Kansas City Metro"
22}

LocalBusiness schema is implemented as a JSON-LD script block in the head of your website. Unlike microdata or RDFa (older schema formats), JSON-LD sits separately from your HTML content, making it easy to add, update, and validate without touching your page layout.

The most important principle: your schema must match your Google Business Profile exactly — same business name, same address format, same phone number, same hours. Discrepancies between your schema and GBP data create conflicting signals Google must reconcile. The goal is a consistent, authoritative data set across every channel Google uses to understand your business.

Schema Checklist

  • LocalBusiness schema on homepage and contact page
  • @type is the most specific applicable subtype
  • Name, address, phone match GBP exactly
  • Opening hours are accurate and current
  • Geo coordinates included for precise location
  • sameAs links to GBP, Yelp, Facebook
  • areaServed defined for service-area businesses
  • Validated with Google's Rich Results Test

Properties

Every Key Schema Property — What It Does

LocalBusiness schema has dozens of possible properties. These are the ones that matter most for local SEO — what each one tells Google and why it's worth including.

PropertyPriority
@typeCritical
nameCritical
addressCritical
telephoneCritical
geoHigh
openingHoursHigh
urlHigh
sameAsHigh
areaServedMedium
priceRangeMedium

Business Types

Choosing the Right @type for Your Business

The @type property is the most important schema decision you make. Schema.org has hundreds of LocalBusiness subtypes — using the most specific one that accurately describes your business sends a stronger relevance signal than the generic 'LocalBusiness.'

Home Services

PlumberElectricianHVACBusinessLocksmithRoofingContractorPainterGeneralContractor

Healthcare

DentistPhysicianMedicalClinicOpticianChiropractorVeterinaryCarePharmacy

Legal & Finance

LegalServiceAttorneyAccountantFinancialServiceInsuranceAgencyRealEstateAgent

Food & Hospitality

RestaurantFastFoodRestaurantCafeOrCoffeeShopBarOrPubBakeryHotelBedAndBreakfast

If your exact type isn't listed

Use the closest parent type rather than defaulting to 'LocalBusiness.' Schema.org's hierarchy means a more specific type inherits all the properties of its parent — so 'HomeAndConstructionBusiness' is better than 'LocalBusiness' for a flooring company, even if 'FlooringStore' isn't available. Browse the full type list at schema.org/LocalBusiness.

Implementation

How to Implement and Validate Your Schema

Implementation varies by platform. Here's the right approach for the most common setups — and how to confirm it's working correctly.

Next.js

  1. 1.Create your schema object as a const in your page component
  2. 2.Add a <script> tag with type='application/ld+json'
  3. 3.Use dangerouslySetInnerHTML={{ __html: JSON.stringify(schemaData) }}
  4. 4.Place in the page component before the main content
  5. 5.Validate with Google's Rich Results Test after deployment

WordPress

  1. 1.Install Yoast SEO or Rank Math — both generate LocalBusiness schema
  2. 2.Complete the Local SEO settings in the plugin dashboard
  3. 3.Verify the generated schema matches your GBP data exactly
  4. 4.For custom control, add JSON-LD directly in Appearance → Theme Editor → header.php
  5. 5.Validate after any plugin updates that might change output

Other Platforms

  1. 1.Squarespace: Use code injection in Settings → Advanced → Code Injection
  2. 2.Webflow: Add via custom code in page settings or site-wide head code
  3. 3.Shopify: Add to theme.liquid in the <head> section
  4. 4.Wix: Use Wix's structured data tool or add via Velo code
  5. 5.Always validate after implementation regardless of platform

Validating Your Schema

1

Google Rich Results Test

Go to search.google.com/test/rich-results. Enter your URL. Google parses your schema and shows what it can read — including errors and warnings. This is the definitive validation tool.

2

Schema.org Validator

Visit validator.schema.org. Paste your JSON-LD directly to check for structural errors before deployment. Useful for catching syntax issues before Google sees the page.

3

Google Search Console

After validation and indexing, check the Enhancements section in GSC for any schema-related errors or warnings Google surfaces from crawling your live site.

Get a Complete Schema Markup Audit

A free SEO audit checks your LocalBusiness schema for accuracy, completeness, and consistency with your GBP — with a fix list if anything's missing.

Request Your Free Audit

FAQ

Frequently Asked Questions

What is LocalBusiness schema markup?

LocalBusiness schema is a specific type of structured data using the schema.org vocabulary, implemented as JSON-LD in your website's HTML. It gives Google a machine-readable description of your business — name, address, phone number, hours, service area, price range, and more — in a format Google can parse without interpreting natural language. It's the structured data equivalent of your Google Business Profile, and ideally the two should match exactly.

Does schema markup help local SEO rankings?

LocalBusiness schema is not a confirmed direct ranking factor, but it contributes to local search eligibility by giving Google structured, verifiable data about your business. It reinforces the accuracy of your Google Business Profile data and reduces the uncertainty Google has about your business details. The consensus among local SEO practitioners is that it provides a modest but real ranking benefit, particularly for new sites and businesses in competitive markets where every signal matters.

How do I add LocalBusiness schema to my website?

Add a JSON-LD script block to the head of your homepage and contact page. The script tag uses type='application/ld+json' and contains a JSON object structured according to the schema.org LocalBusiness specification. In Next.js, inject it using a dangerouslySetInnerHTML script tag in your page component. In WordPress, use a plugin like Yoast SEO or Rank Math, or add it directly to your theme's header. Test the implementation using Google's Rich Results Test at search.google.com/test/rich-results.

What properties should I include in LocalBusiness schema?

The most important properties for local SEO: @type (use the most specific subtype — 'Plumber' rather than just 'LocalBusiness'), name, address (with PostalAddress sub-properties), telephone, url, openingHours or openingHoursSpecification, geo (latitude and longitude coordinates), priceRange, and sameAs (URLs of your social media profiles and directory listings). For service-area businesses, add areaServed with the geographic areas you cover. The more complete the schema, the more useful it is to Google.

Ready to Implement Local Schema Markup?

Griffin Mott Consulting implements and validates LocalBusiness schema for Kansas City businesses as part of a complete local SEO strategy. Start with a free audit.