All articles
On-Page SEO

Local business schema: the fields that matter

Six fields do the work, two of them are barely discussed, and one field commonly included in example code is a manual action waiting to happen.

VMVishvam MangroliyaFounder, RankLocal5 min read

Every guide to this lists every available property, which is how sites end up with thirty fields of markup, several of which contradict what is on the page.

Schema is not a ranking lever. It is a machine-readable statement of facts about your business. Its value is entirely in being unambiguous and correct, which means a short accurate block beats a long one every time.

The six that do the work

  1. 01The type. Use the most specific one that fits: Plumber, Dentist, AutoRepair, RealEstateAgent. LocalBusiness is the fallback when nothing specific applies, not the default.
  2. 02name, address and telephone. The three that must match your Business Profile and your directories exactly. This is the whole point of the exercise.
  3. 03openingHoursSpecification. Structured hours, including any special hours. Must agree with your listing.
  4. 04geo. Latitude and longitude, for a business with premises.
  5. 05url. Your canonical homepage, or the page the business is described on.
  6. 06areaServed. For a business that travels, this is where you say where, and it is frequently omitted by exactly the businesses that need it.

That is a complete, useful block. Anything beyond it is optional and should be added because it is true and useful, not because a guide listed it.

The two that are barely discussed and matter most

sameAs

An array of links to your other verified profiles: your Business Profile, Facebook, LinkedIn, your trade association entry, your directory listings.

This is the field that lets anything reading your site cross-check that the business here is the same business as the one over there. In a world where assistants are assembling an answer about you from several sources, an explicit statement of which sources are yours does more work than most of the rest of the block.

A stable @id

A unique identifier for the business entity, typically your domain plus a fragment such as #organization. Use the same one everywhere you reference the business.

It lets other markup on your site point at the business rather than restating it. Your contact page can reference the same entity as your homepage, so the two can never drift apart, which is exactly the failure schema is supposed to prevent.

The field to leave out

aggregateRating. Several of the guides currently ranking for this query include it in their example blocks with no qualification, and it is the one field here that carries real risk.

Google requires a rating in review markup to come from reviews that are actually displayed on that page. Publishing a rating drawn from your Google listing, or a number your developer put in because the field existed, is fabricated review data. It is grounds for a manual action, and a manual action is a much larger problem than the rich result was ever worth.

The rule that makes all of this safe

Never mark up a fact the page does not show and the business cannot evidence.

Every schema problem we find reduces to that one sentence. Hours in markup that differ from the hours on the page. An address in markup that no longer exists. A price that has not been charged in two years. Services listed in markup that the site does not mention.

Markup is a claim you have made in machine-readable form, and a claim contradicting your own page is worse than no claim, because it establishes that your data is unreliable.

What it does not fix

  • It will not put you in the map pack. That is your listing, your proximity and your prominence.
  • It will not rank a thin page. It describes the page; it does not improve it.
  • It will not make you eligible for star ratings unless you display genuine reviews on the page.
  • It will not compensate for details that disagree across the web. Fix the details, then mark them up.

Checking it

  1. 01Run the page through Google's Rich Results Test and the Schema Markup Validator. Both are free and take a minute.
  2. 02Read the output next to the page. Every claim in the markup should be visible on the page or trivially true.
  3. 03Compare the hours, address and phone against your Business Profile character by character.
  4. 04Check your plugin or theme is not generating a second, contradictory block. Two LocalBusiness blocks disagreeing is more common than it should be.

The consistency this is built on is covered in NAP consistency, and the reason unambiguous facts are worth more than they used to be is in how AI search is changing local SEO.

Does local business schema improve rankings?
Not directly. It makes your facts unambiguous, which helps you be described correctly and can qualify you for richer results. Treat it as accuracy work rather than a ranking lever.
Can I add star ratings to my search result with schema?
Only from reviews genuinely displayed on that page. Marking up a rating pulled from your Google listing is fabricated review data and grounds for a manual action.
Which schema type should I use?
The most specific one that fits your business. LocalBusiness is the fallback when nothing more specific exists, not the default choice.
Do I need schema on every page?
The business entity belongs on the pages that describe the business. Other pages can reference it by @id rather than restating it, which stops the two drifting apart.
My plugin generates schema automatically. Is that fine?
Check what it generates. Automatic markup frequently includes fields the site cannot support, and occasionally two contradictory blocks on one page.

Want your markup checked against what your site actually says?

The free audit validates your structured data and flags every claim in it that your page or your listing contradicts.

Get a free local SEO audit

Keep reading

Talk to a Human