top of page

Local Business Schema Markup: Implementation Guide for Local SEO

Local business schema is structured data markup that provides search engines with explicit information about your physical business: its name, address, phone, hours, and more. While Google Business Profile is the primary local SEO tool, local business schema on your website adds a complementary layer of structured signals that reinforce your business information and can improve how your business appears in local search results.

This guide covers all local business schema types, required and recommended properties, and complete implementation instructions.

Why Local Business Schema Matters

Google collects local business information from multiple sources: your Google Business Profile, your website, third-party directories, and the web at large. When these sources provide consistent, structured information, Google's confidence in that information increases — leading to more accurate local listings and potentially better local ranking positions.

Local business schema on your website specifically:

  • Confirms your NAP (Name, Address, Phone) information directly from your own domain

  • Provides details (hours, services, price range, payment methods) that GBP alone may not fully capture

  • Can enable rich results for local businesses in some contexts

  • Helps Google connect your GBP listing to your website as the same entity

  • Supports Knowledge Panel inclusion with verified, structured data

Schema markup is not a substitute for a complete GBP profile — both are necessary for comprehensive local SEO.

LocalBusiness Schema: The Foundation ve Local Business Schema

The LocalBusiness schema type is the base type for all local businesses. It has dozens of specific subtypes (Restaurant, LegalService, MedicalClinic, etc.) that you should use when applicable.

Basic LocalBusiness JSON-LD structure:

{ "@context": "https://schema.org", "@type": "LocalBusiness", "name": "Business Name", "image": "https://example.com/images/business-photo.jpg", "url": "https://example.com", "telephone": "+1-555-000-0000", "email": "contact@example.com", "address": { "@type": "PostalAddress", "streetAddress": "123 Main Street", "addressLocality": "City Name", "addressRegion": "State Code", "postalCode": "12345", "addressCountry": "US" }, "geo": { "@type": "GeoCoordinates", "latitude": 40.7128, "longitude": -74.0060 }, "openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "09:00", "closes": "18:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Saturday"], "opens": "10:00", "closes": "16:00" } ], "priceRange": "$$", "servesCuisine": "Italian", "sameAs": [ "https://www.google.com/maps?cid=YOUR_CID", "https://www.facebook.com/yourbusiness", "https://www.yelp.com/biz/yourbusiness" ] }

Business-Type Specific Schema Subtypes

Using the most specific applicable schema type rather than the generic LocalBusiness provides more detailed semantic context:

Restaurant:

{ "@type": "Restaurant", "servesCuisine": "Thai", "hasMenu": "https://example.com/menu", "acceptsReservations": "True", "priceRange": "$$" }

LegalService / Attorney:

{ "@type": "Attorney", "areaServed": ["Miami", "Fort Lauderdale", "Boca Raton"], "knowsAbout": "Personal Injury Law" }

MedicalClinic / Physician:

{ "@type": "MedicalClinic", "medicalSpecialty": "Dentistry", "availableService": { "@type": "MedicalProcedure", "name": "Teeth Whitening" } }

Hotel / LodgingBusiness:

{ "@type": "Hotel", "starRating": { "@type": "Rating", "ratingValue": "4" }, "amenityFeature": [ { "@type": "LocationFeatureSpecification", "name": "Free WiFi", "value": true }, { "@type": "LocationFeatureSpecification", "name": "Swimming Pool", "value": true } ] }

AutoDealer / AutoRepair:

{ "@type": "AutoDealer", "areaServed": "Chicago Metropolitan Area", "brand": "Toyota" }

OpeningHoursSpecification: Getting Hours Right

Hours are one of the most important local business schema properties because Google uses them to determine "open now" status — a significant local ranking and display factor.

Standard hours format:

Days must use their full English names: "Monday," "Tuesday," etc. Times use 24-hour format with a leading zero: "09:00," "18:00."

Handling break periods (e.g., lunch closure):

"openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "09:00", "closes": "12:00" }, { "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "14:00", "closes": "18:00" } ]

Special holiday hours:

Use SpecialOpeningHoursSpecification with validFrom and validThrough date properties for holiday hours or temporary changes.

24-hour operations:

Use "opens": "00:00" and "closes": "23:59" for businesses open 24 hours.

Multiple Location Schema

Businesses with multiple locations need separate schema for each location. Do not combine multiple locations in a single schema block.

For each location, create a separate JSON-LD block with that specific location's unique address, phone, hours, and GeoCoordinates. These blocks can coexist on the same page (if it's a locations overview page) or be placed on individual location-specific pages.

Organization + multiple LocalBusiness:

Use a two-entity structure: an Organization schema for the parent company and individual LocalBusiness schemas for each location, with the individual locations including "parentOrganization" referencing the parent entity.

{ "@type": "Restaurant", "name": "Example Restaurant — Downtown", "address": { "streetAddress": "123 Main St" }, "parentOrganization": { "@type": "Organization", "name": "Example Restaurant Group" } }

Connecting GBP and Website Schema

The sameAs property is critical for connecting your GBP listing to your website schema — establishing that they represent the same entity.

Include in your sameAs array:

  • Your Google Maps/Google Business Profile URL (get this from your GBP listing's "Share" URL)

  • Yelp business page URL

  • Facebook Business Page URL

  • TripAdvisor profile (for hotels, restaurants)

  • Any other authoritative profile for your business

Consistent NAP across schema and GBP:

The name, address, and phone in your website schema must match your GBP listing exactly. "Street" vs "St." is technically inconsistent — pick one format and use it everywhere.

Blakfy implements local business schema as part of complete local SEO engagements, ensuring schema accuracy, GBP consistency, and coordination with citation building campaigns.

Frequently Asked Questions

Does local business schema directly improve my local rankings?

Local business schema is not a direct, powerful local ranking signal the way GBP optimization or review generation is. It's a supplementary signal that confirms and strengthens your business information. Its most reliable impact is: improving Google's confidence in your entity identity, supporting Knowledge Panel accuracy, and ensuring "open now" information is correctly understood from your website. Think of it as one part of a complete local SEO foundation rather than a standalone ranking tactic.

Where should I place the local business schema — on the homepage or a contact page?

Best practice is to place it on your homepage (as it represents your primary business entity) and also on your Contact Us / Locations page. If the schema is only on a deep subpage, Google may not associate it strongly with your site. For multi-location businesses, place the parent organization schema on the homepage and location-specific schemas on individual location pages.

Do I need to update schema markup when my hours change?

Yes. Outdated hours in schema markup cause "open now" discrepancies between your schema, GBP, and actual hours — a poor user experience that can also affect local ranking signals. Whenever you update hours in GBP, update your website schema markup simultaneously. For platforms like WordPress with schema plugins, this is straightforward. For custom implementations, add hours updates to your regular business information maintenance checklist.

Related Posts

See All
bottom of page