Technical

Local Schema Markup

Local schema markup is structured data (JSON-LD) that tells search engines about a business's name, address, phone number, hours, services, and location to improve visibility in local search results and Google Maps.

Quick Answer

  • What it is: Local schema markup is structured data (JSON-LD) that tells search engines about a business's name, address, phone number, hours, services, and location to improve visibility in local search results and Google Maps.
  • Why it matters: Local schema helps Google match your business to nearby searchers and display rich results with hours, ratings, and directions.
  • How to check or improve: Add JSON-LD LocalBusiness structured data to location pages, validate with Google's Rich Results Test, and keep NAP data consistent.

When you'd use this

Local schema helps Google match your business to nearby searchers and display rich results with hours, ratings, and directions.

Example scenario

Hypothetical scenario (not a real company)

A team might use Local Schema Markup when Add JSON-LD LocalBusiness structured data to location pages, validate with Google's Rich Results Test, and keep NAP data consistent.

Common mistakes

  • Confusing Local Schema Markup with Local Business Schema: Local Business Schema is a core SEO concept that influences how search engines evaluate, surface, or interpret pages.
  • Confusing Local Schema Markup with NAP Consistency: NAP consistency is keeping name, address, and phone details identical across listings.
  • Confusing Local Schema Markup with Schema Markup: Structured data code added to web pages that helps search engines understand content and enables rich results like star ratings, FAQs, and recipe cards. Learn how to implement schema markup for better search visibility.

How to measure or implement

  • Add JSON-LD LocalBusiness structured data to location pages, validate with Google's Rich Results Test, and keep NAP data consistent

Check your site's indexability with Rankwise

Start here
Updated Mar 11, 2026·4 min read

What Is Local Schema Markup?

Local schema markup is structured data you add to your website's HTML that explicitly tells search engines about your business's physical presence. Instead of Google guessing your address from page text, schema provides it in a standardized format that's unambiguous.

The most common type is LocalBusiness schema (or a more specific subtype like Restaurant, Dentist, or Store), implemented as JSON-LD in your page's <head> section.

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Example Coffee Roasters",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97201"
  },
  "telephone": "+1-503-555-0100",
  "openingHours": "Mo-Fr 07:00-18:00, Sa 08:00-16:00",
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 45.5152,
    "longitude": -122.6784
  }
}

Why Local Schema Matters for SEO

Businesses with proper local schema can appear in Google's local pack (the map + 3 listings), knowledge panels, and rich snippets showing hours, ratings, and price ranges. These enhanced displays significantly increase click-through rates.

Disambiguation for Multi-Location Businesses

If you have 50 locations, Google needs to know which page represents which store. Without schema, it relies on messy text parsing. With schema, each location page explicitly declares its address and service area—eliminating confusion.

Google Maps and Google Business Profile Alignment

Local schema reinforces the data in your Google Business Profile. When your website schema, GBP listing, and directory citations all agree, Google trusts your NAP consistency more and ranks you higher in local results.

PropertyRequired?Description
@typeYesLocalBusiness or a specific subtype
nameYesOfficial business name (must match GBP)
addressYesFull postal address with street, city, state, zip
telephoneRecommendedLocal phone number with country code
openingHoursRecommendedDays and hours in ISO format
geoRecommendedLatitude/longitude coordinates
urlRecommendedURL of the location-specific page
imageRecommendedPhoto of the storefront or business
priceRangeOptionalPrice indicator ($, $$, $$$, $$$$)
aggregateRatingOptionalAverage review score with count
areaServedOptionalService area if different from address

Implementation for Common Scenarios

Single-Location Business

Add the JSON-LD to your homepage and any dedicated "About" or "Contact" page. One location = one schema block.

Multi-Location Business

Create a dedicated page per location (/locations/portland, /locations/seattle). Each page gets its own schema block with unique address, phone, hours, and coordinates. Do not put all locations in a single schema block on one page.

Service-Area Business (No Storefront)

If you serve customers at their location (plumber, locksmith), use ServiceAreaBusiness instead and define areaServed:

{
  "@type": "Plumber",
  "areaServed": {
    "@type": "City",
    "name": "Portland"
  }
}

Validation and Testing

Google Rich Results Test

Paste your URL into Google's Rich Results Test to see if your schema is valid and eligible for rich results.

Common Validation Errors

  • Missing @context: Must include "@context": "https://schema.org"
  • Wrong @type: Use the most specific type available (Dentist instead of LocalBusiness)
  • Inconsistent NAP: Address on page doesn't match address in schema markup
  • Invalid hours format: Use Mo-Fr 09:00-17:00, not "Monday to Friday, 9am-5pm"

Common Mistakes

  • Copying the same schema across all location pages instead of customizing per location
  • Using the generic LocalBusiness type when a more specific subtype exists (there are 100+ subtypes)
  • Adding schema for a location page but not keeping it updated when hours or phone numbers change
  • Including schema that contradicts what's visible on the page (Google penalizes this)
  • Forgetting the geo property—coordinates help Google place you accurately on Maps

FAQs

Does local schema markup directly improve rankings?

Schema isn't a direct ranking factor, but it enables rich results that dramatically improve CTR. Google has confirmed that structured data helps them understand your content, which indirectly supports better rankings. For local SEO, schema that aligns with your Google Business Profile strengthens your local pack presence.

Which schema type should I use for my business?

Use the most specific subtype from schema.org/LocalBusiness. A dentist should use Dentist, not MedicalBusiness or LocalBusiness. The more specific your type, the more context Google has.

Do I need local schema if I already have a Google Business Profile?

Yes. GBP and website schema serve different purposes. GBP manages your Maps listing. Website schema helps Google connect your web pages to your business entity. Together, they create stronger local signals than either alone.

How often should I update local schema?

Update whenever business details change: new hours, phone number, seasonal schedules, temporary closures. At minimum, audit quarterly to ensure accuracy.

  • Local Business Schema — The broader category of structured data for local businesses
  • NAP Consistency — Keeping name, address, phone identical across all listings
  • Schema Markup — The general practice of adding structured data to web pages

Put GEO into practice

Generate AI-optimized content that gets cited.

Try Rankwise Free
Newsletter

Stay ahead of AI search

Weekly insights on GEO and content optimization.