Schema markup is how you speak Google's language. For local businesses, structured data tells search engines exactly what your business does, where it's located, when it's open, and what services you offer — in a format machines can parse instantly.

Most local businesses either have no schema or have broken implementations that do more harm than good. Here's how to get it right.

What Is Local Business Schema and Why It Matters

Schema markup (also called structured data) is code you add to your website that helps search engines understand your content. For local businesses, it's one of the clearest ranking signals you can send.

When implemented correctly, local business schema can:

  • Improve your visibility in the Local Pack and Google Maps
  • Enable rich results (star ratings, opening hours, price ranges in SERPs)
  • Help Google match your business to specific local queries
  • Strengthen your entity identity across Google's Knowledge Graph
  • Feed AI search systems with structured information about your business

LocalBusiness Schema Types

Schema.org provides a hierarchy of business types. Always use the most specific type that applies to your business.

Core LocalBusiness Types

  • LocalBusiness — the parent type. Use only if no specific subtype exists.
  • Restaurant — restaurants, cafes, bars, fast food
  • MedicalBusiness — medical clinics, dentists, pharmacies
  • LegalService — law firms, attorneys, legal aid
  • FinancialService — banks, accountants, financial advisors
  • AutomotiveBusiness — mechanics, car dealers, auto parts
  • HomeAndConstructionBusiness — plumbers, electricians, builders
  • Store — retail shops (with subtypes: ClothingStore, HardwareStore, etc.)
  • SportsActivityLocation — gyms, pools, sporting venues
  • EntertainmentBusiness — cinemas, bowling alleys, escape rooms
  • HealthAndBeautyBusiness — hair salons, spas, beauty clinics

Choosing the Right Type

Go as specific as possible. A dentist should use Dentist (a subtype of MedicalBusiness), not just LocalBusiness. A plumber should use Plumber (a subtype of HomeAndConstructionBusiness). The more specific the type, the better Google understands your business.

Essential Properties for Every Local Business

Regardless of your business type, include these properties in your schema:

Core Business Information

{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "name": "Melbourne Emergency Plumbing",
  "image": "https://example.com/logo.jpg",
  "url": "https://example.com",
  "telephone": "+61-3-1234-5678",
  "email": "[email protected]",
  "priceRange": "$$",
  "description": "24/7 emergency plumbing services across Melbourne."
}

Address (PostalAddress)

"address": {
  "@type": "PostalAddress",
  "streetAddress": "123 Collins Street",
  "addressLocality": "Melbourne",
  "addressRegion": "VIC",
  "postalCode": "3000",
  "addressCountry": "AU"
}

Geographic Coordinates

"geo": {
  "@type": "GeoCoordinates",
  "latitude": "-37.8136",
  "longitude": "144.9631"
}

Include latitude and longitude. This helps Google pinpoint your location accurately, especially important if you're in a building with multiple businesses.

Opening Hours

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "08:00",
    "closes": "17:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "09:00",
    "closes": "13:00"
  }
]

Be exact. If you close at 5:30pm, put 17:30, not 17:00. Include special hours for holidays using specialOpeningHoursSpecification.

Service Area Schema for Mobile Businesses

If your business serves customers at their location (tradies, mobile services, delivery), use areaServed instead of or in addition to your address:

"areaServed": [
  {
    "@type": "City",
    "name": "Melbourne"
  },
  {
    "@type": "AdministrativeArea",
    "name": "Eastern Suburbs Melbourne"
  }
]

You can specify areas as City, State, AdministrativeArea, or even GeoCircle for a radius-based service area.

FAQ Schema for Local Businesses

FAQ schema is one of the most underused opportunities in local SEO. It can earn you expanded SERP real estate and directly answers the questions your potential customers are asking.

Implementation

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does an emergency plumber cost in Melbourne?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Emergency plumbing callouts in Melbourne typically range from $150-$350 for the callout fee, with additional charges for parts and labour."
      }
    }
  ]
}

Best Practices for Local FAQ Schema

  • Include location in your questions: "How much does X cost in Melbourne?" not just "How much does X cost?"
  • Answer genuinely — Google penalises FAQ schema used for self-promotion
  • Limit to 5-10 FAQs per page
  • The FAQ content must be visible on the page, not hidden

Review and Aggregate Rating Schema

While Google primarily pulls review data from your Google Business Profile, AggregateRating schema can reinforce your ratings:

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "4.8",
  "reviewCount": "127",
  "bestRating": "5"
}

Important: Only use this if you have a genuine, first-party review system on your website. Do not mark up third-party reviews (Google, Yelp) as your own. Google has explicitly warned against this and will issue manual actions.

Multi-Location Schema

For businesses with multiple locations, use Organization as the parent with individual LocalBusiness entries for each location:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Melbourne Dental Group",
  "url": "https://example.com",
  "department": [
    {
      "@type": "Dentist",
      "name": "Melbourne Dental Group - Richmond",
      "address": { ... },
      "telephone": "+61-3-1111-2222"
    },
    {
      "@type": "Dentist",
      "name": "Melbourne Dental Group - St Kilda",
      "address": { ... },
      "telephone": "+61-3-3333-4444"
    }
  ]
}

Testing and Validating Your Schema

Always test your schema before and after implementation:

  • Google Rich Results Test (search.google.com/test/rich-results) — shows what rich results your page is eligible for
  • Schema.org Validator (validator.schema.org) — validates your markup against the schema.org specification
  • Google Search Console — check the Enhancements report for schema errors and warnings on your live site

Common Schema Mistakes to Avoid

  • Mismatched data — your schema NAP must match your GBP and citations exactly
  • Wrong business type — using LocalBusiness when a specific subtype exists
  • Missing required properties — name, address, and telephone are essential minimums
  • Self-reviewed ratings — marking up fake or self-authored reviews
  • Hidden schema — schema that describes content not visible on the page
  • Outdated hours — schema showing old opening hours

Schema and AI Search

As an AI SEO consultant, I'm watching structured data become even more critical as AI search grows. Google's AI Overviews and conversational AI tools like ChatGPT rely on structured, machine-readable data to generate local recommendations. Businesses with comprehensive, accurate schema markup are better positioned to appear in AI-generated answers.

Think of schema as the language you use to communicate with both traditional search algorithms and the AI systems that are increasingly mediating how people discover local businesses.

Implementation Checklist

  • Choose the most specific LocalBusiness schema subtype
  • Include all core properties (name, address, phone, geo, hours)
  • Add service area schema if you're a mobile/service-area business
  • Implement FAQ schema on service and location pages
  • Add schema for each location if you're multi-location
  • Test with Google Rich Results Test and Schema.org Validator
  • Monitor for errors in Google Search Console
  • Keep schema data synchronised with your Google Business Profile

Schema markup isn't glamorous, but it's one of the highest-leverage technical SEO tasks for local businesses. Get it right, and you're giving Google exactly what it needs to rank you confidently. Get it wrong — or skip it entirely — and you're making Google guess. Don't make Google guess.

Soaring Above Search

Weekly AI search insights from the front line. One newsletter. Six sections. Everything that actually moved this week — with a practitioner's take.

Lawrence Hitches
Lawrence Hitches AI SEO Consultant, Melbourne

General Manager of StudioHawk, Australia's largest dedicated SEO agency. Specialising in AI search visibility, technical SEO, and organic growth strategy — leading a team of 115+ across Melbourne, Sydney, London, and the US. Book a free consultation →