Schema closes the gap between what you say and what machines understand.
Every piece of text on your website is an inference task for a crawler. Schema markup converts key facts into structured statements that require no inference.
Consider your address. A human reading your footer immediately understands it. A crawler can usually parse it too — but 'Suite 204' vs 'Ste. 204' vs a line break between street and city creates variation that reduces confidence. LocalBusiness schema states your address in a standardized property structure with country, region, city, street and postal code as distinct fields. No ambiguity, no parsing error. The same logic applies to your phone number, business hours, geo coordinates, and service list.
For AI visibility, schema matters even more. When ChatGPT, Gemini or Perplexity assembles an answer about local businesses in a category, it draws on structured signals that are easy to extract with confidence. A business with clean, complete LocalBusiness schema is a reliable data point the model can quote. A business whose information is only in paragraph text is harder to extract and therefore less likely to appear in a confident recommendation.
The properties that carry the most ranking weight.
LocalBusiness schema has dozens of available properties. These are the ones that affect local SEO and AI visibility most directly.
Name, address, phone and coordinates.
The @type (specific business subtype, not just 'LocalBusiness'), name, streetAddress, addressLocality, addressRegion, postalCode, addressCountry, telephone and geo (latitude/longitude) are foundational. Your @type should be the most specific Schema.org type that applies — 'Dentist', 'AutoRepair', 'LegalService' — not the generic parent. Matching these exactly to your GBP NAP eliminates inconsistency signals.
OpeningHoursSpecification done correctly.
Google uses structured hours data to verify your GBP hours and to power 'open now' filtering in local search. Use the openingHoursSpecification array with dayOfWeek, opens and closes as separate properties for each day. If you have holiday hours, specialOpeningHoursSpecification handles that. Stale hours — schema that does not match your GBP — create a conflicting signal that lowers ranking confidence.
Declare what you do and where you do it.
The hasOfferCatalog or makesOffer properties let you list specific services with names and descriptions. The areaServed property declares your geographic coverage — critical for service area businesses. priceRange gives searchers a quick signal and appears in some rich result displays. These properties are the ones AI assistants rely on most when generating a recommendation that goes beyond just your name and location. See how this connects to full local visibility.
How to add and validate LocalBusiness schema.
Schema is written in JSON-LD format and placed in a script tag in the head of your HTML. Here is the correct sequence.
Choose your most specific @type.
Visit schema.org and find the LocalBusiness subtype that best describes your business. 'Dentist', 'HairSalon', 'HomeAndConstructionBusiness', 'LegalService', 'Physician' — these specific types trigger richer signals than the generic parent. If your exact business type has a dedicated Schema.org type, use it.
Write the JSON-LD block.
Structure your markup in a script tag with type 'application/ld+json'. Include at minimum: @context, @type, name, address (as PostalAddress), telephone, openingHoursSpecification, geo, url and image. Use the exact same name and address as your Google Business Profile. For service businesses, add areaServed and hasOfferCatalog.
Place it on the right pages.
Your homepage schema covers the business entity. If you have local landing pages for specific cities, add LocalBusiness schema to each with the relevant geo coordinates, areaServed set to that city, and the same core identity properties. This creates location-specific structured data that supports your city-level ranking effort.
Validate before publishing.
Use Google's Rich Results Test and Schema.org Validator to check for errors before the page goes live. Common errors include missing required properties, malformed phone number format and hours with incorrect time syntax. Errors mean the markup is ignored or counted negatively.
Keep it current.
Hours changes, address moves, new service additions — update your schema at the same time you update your GBP and website content. Stale or conflicting schema is worse than no schema, because it creates a documented inconsistency between your structured data and your actual information.
Related, and what to do next.
Questions, answered.
What is LocalBusiness schema markup?
LocalBusiness schema is structured data added to your website in JSON-LD format that explicitly declares your business name, address, phone number, hours, service area, service types and other facts in a machine-readable format. It removes the need for search engines and AI assistants to infer these details from text, which improves confidence and visibility.
Does LocalBusiness schema directly improve my Google ranking?
Schema is not a direct ranking factor in the way that links or content quality are. But it is a strong relevance and trust signal. Accurate, complete LocalBusiness schema that matches your GBP and website content reduces conflicting signals and improves Google's confidence in your business data — which affects local ranking indirectly. It also enables rich results displays that improve click-through rates.
What @type should I use for my business?
Use the most specific Schema.org subtype that accurately describes your business. For example, use 'Dentist' instead of 'LocalBusiness', 'AutoRepair' instead of 'Store', 'LegalService' instead of 'ProfessionalService'. The more specific the type, the clearer the relevance signal to the algorithm and to AI assistants that use schema to understand business categories.
How does LocalBusiness schema help AI assistants?
AI assistants like Gemini, ChatGPT and Perplexity extract structured data from websites as part of their entity understanding. A business with complete, accurate schema provides a reliable, machine-readable fact sheet the model can extract with confidence. This makes the business more likely to be cited accurately in AI-generated local recommendations.
Should I add schema to every page or just the homepage?
Add it to your homepage at minimum — that is where your main entity definition lives. For city landing pages, add LocalBusiness schema specific to that location with the relevant areaServed, geo coordinates and address for that area if applicable. For service pages, consider adding Service schema. The homepage entity schema is the most important single implementation.