LocalBusiness Schema: a Copy-Paste Guide

What it is and why Google needs it

LocalBusiness schema is a small block of structured data (JSON-LD) you add to your site's HTML. It tells search engines, in a machine-readable way, exactly who you are: your name, address, phone, hours, and location. Google uses it to populate your knowledge panel and to decide whether to show you in the local pack. Without it, Google is inferring these facts from scattered page text — and often getting them wrong.

Required vs. recommended fields

  • Required: name, address (a PostalAddress), telephone.
  • Strongly recommended: openingHoursSpecification, geo (GeoCoordinates), priceRange, and sameAs links to your social and Google Business Profile.

Copy-paste template

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "name": "Your Business Name",
  "telephone": "+1-555-555-1234",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Austin",
    "addressRegion": "TX",
    "postalCode": "78701",
    "addressCountry": "US"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "opens": "09:00", "closes": "17:00"
  }],
  "url": "https://yourbusiness.com"
}

</script>

Pick the most specific subtype

Schema.org defines dozens of LocalBusiness subtypes. Use the most specific one that fits — Dentist, Plumber, Attorney, DaySpa, HVACBusiness — rather than the generic LocalBusiness. Specificity helps Google match you to the right searches.

Validate, then avoid these mistakes

  • Run it through Google's Rich Results Test before and after.
  • Make the schema NAP identical to what's visible on the page and on your Google Business Profile.
  • Never add aggregateRating for reviews you don't actually display — fake or self-serving review markup violates Google's policy and can earn a penalty.

Not sure what your site is missing? Run a free local SEO scan — the paid report generates this schema pre-filled for your business.

Common questions

Where on the page should the schema go?

In a script block of type application/ld+json, in either the head or the body — both work. What matters more is that one business is described by one block. Splitting a single business across several blocks is a common way to end up with markup that validates but describes nothing coherent.

Does it need to be on every page or just the homepage?

Your homepage and your contact or location pages are the ones that matter. Repeating an identical block on every blog post adds nothing, and it makes a mistake harder to spot because you then have to fix it in fifty places.

Will schema on its own get me into the Map Pack?

No, and any tool promising that is overselling. Schema makes your details unambiguous, which removes a reason for Google to be uncertain about who and where you are. Position still comes down to relevance, distance and prominence — reviews and proximity do a lot of the work that markup cannot.

My markup validates but Google still shows the wrong hours.

Google cross-references your site against your Business Profile and other citations, and when they disagree it often trusts the profile. The fix is to make them match rather than expecting correct markup to win the argument.

What if the business has several locations?

One page per location, each with its own block, its own address and its own phone number. A single page listing five addresses gives Google nothing it can attribute cleanly to any one of them.


← Free Local SEO Audit

More guides: How to Rank in the Google Map Pack

Free local SEO checkers: Dentists · HVAC & Plumbing · Lawyers · Med Spas & Cosmetic Clinics