ToolsNestTOOLSNEST
Schema Markup Guide

Schema Markup for Local Business: Structured Data That Earns Rich Results

The right schema markup can earn rich results — star ratings, opening hours, FAQ boxes, and product panels — that dramatically increase click-through rates. This guide shows exactly which schema types local businesses need and how to implement them.

Primary Schema Type: LocalBusiness (or appropriate subtype)

Rich Results Available to Local Businesses

Map pack listing
Business panel
Star ratings in organic search
Opening hours in search
Review snippet rich results
Q&A rich results

Schema Types for Local Businesses

LocalBusiness (subtype)

Use the most specific subtype available: Plumber, Electrician, Dentist, Restaurant, etc. More specific = stronger relevance signal.

Required Properties
  • name
  • address
  • telephone
Recommended Optional
  • openingHours
  • geo
  • priceRange
  • aggregateRating
  • hasMap

OpeningHoursSpecification

Displays your hours in search results and Google Business Profile consistency check.

Required Properties
  • dayOfWeek
  • opens
  • closes
Recommended Optional
  • validFrom
  • validThrough

GeoCoordinates

Latitude and longitude of your business. Required for map pack optimization.

Required Properties
  • latitude
  • longitude
Recommended Optional

    AggregateRating

    Shows star ratings in organic search results when you have customer reviews.

    Required Properties
    • ratingValue
    • reviewCount
    Recommended Optional
    • bestRating

    LocalBusiness Schema (Plumber example)

    JSON-LD — paste in <head> of your pageapplication/ld+json
    {
      "@context": "https://schema.org",
      "@type": "Plumber",
      "name": "Mile High Plumbing",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "789 Colfax Ave",
        "addressLocality": "Denver",
        "addressRegion": "CO",
        "postalCode": "80218"
      },
      "telephone": "+1-720-555-0600",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
          "opens": "00:00",
          "closes": "23:59"
        }
      ],
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 39.7392,
        "longitude": -104.9903
      },
      "priceRange": "$$",
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.9",
        "reviewCount": "840"
      }
    }

    Test your schema at: search.google.com/test/rich-results before publishing.

    Schema Markup Mistakes Local Businesses Make

    Using generic LocalBusiness instead of a specific subtype (Plumber, Electrician, etc.)

    Missing geo coordinates — required for map pack optimization

    Incorrect phone number format

    Hours in schema not matching Google Business Profile (causes trust signal conflict)

    Not updating schema after hours change for holidays or seasons

    More Local Business SEO Guides

    Schema Markup FAQs for Local Business

    Verify Your Schema Implementation

    Run a free audit to find schema errors before Google penalizes them.

    Free SEO Audit