LocalBusiness schema is structured data that states, in a machine-readable form, that a page represents a business at a particular place: its name, address, phone number, opening hours and the area it serves.
It does not directly improve local rankings. What it does is remove ambiguity. Where your name, address and phone appear only as visible text, they have to be interpreted. Marked up explicitly, they are stated.
General structured data guidance is on structured data. This page covers the local case.
What to mark up
- @type using the most specific applicable subtype, such as Dentist, Plumber, Restaurant or Attorney, rather than the generic LocalBusiness where a subtype exists.
- name exactly as the business trades, matching your citations and profile.
- address as a full PostalAddress, with each component in its own field rather than one string.
- telephone in a consistent format.
- openingHoursSpecification, including any seasonal or exception hours.
- geo coordinates where the location is hard to find from the address alone.
- areaServed for businesses that travel to customers.
- url pointing at the canonical page for that location.
- sameAs linking to your verified profiles.
Do not include aggregateRating unless genuine reviews are displayed on that page. Marking up ratings that are not visible is a violation rather than an optimisation.
The rule that governs everything
Markup must describe what a visitor actually sees. If the page shows one set of hours and the markup states another, the markup is wrong, and inconsistency of that kind is worse than having no markup at all.
- The address in the markup must match the address on the page.
- Hours must match, including when they change seasonally.
- The phone number must be the one displayed.
- The business name must match the visible name and your listings.
Multiple locations
Each location gets its own markup, on its own page, describing only that location.
- Mark up each location page individually with that branch’s details.
- Do not place markup for every branch on a single index page.
- Give each its own url property pointing to its own page.
- Where locations differ in type, use the appropriate subtype for each.
- Keep details consistent with each branch’s own Google Business Profile.
Common faults
- Sitewide markup repeating the head office address on every page, including location pages for other branches.
- Ratings marked up where no reviews appear on the page.
- Hours in markup drifting out of date after the visible hours are updated.
- Using generic LocalBusiness where a specific subtype exists and would be more informative.
- Duplicate blocks emitted by both the theme and a plugin, describing the business differently.
- Address components concatenated into a single string rather than structured properly.
Validating it
- Test a location page rather than the homepage, since that is where the detail lives.
- Test more than one location, because faults are usually template-level.
- Check the rendered output where markup is injected by JavaScript.
- Confirm only one block is emitted per page.
- Watch Search Console for errors appearing at scale after template changes.
Frequently asked questions
Does LocalBusiness schema improve rankings?
Not directly. It clarifies your details for search engines and supports accurate representation. The gain is in reliability and eligibility rather than in position.
Should markup go on every page?
Basic organisation markup can be sitewide. Location-specific LocalBusiness markup belongs on the relevant location page. Repeating one branch’s address across every page misrepresents the others.
Which subtype should we use?
The most specific one that genuinely applies. Dentist is more informative than MedicalBusiness, which is more informative than LocalBusiness. Do not pick a subtype that does not accurately describe the business.
Can we include reviews in the markup?
Only reviews genuinely displayed on that page. Pulling in ratings from elsewhere, or marking up an aggregate that the visitor cannot see, breaches the guidelines and can cost you rich results site-wide.
Consulting CTA
If your location markup is inconsistent across branches, or duplicate blocks are being emitted by your theme and plugins, book an SEO consultation for a structured data review.