Schema markup
Also called Structured data, LocalBusiness schema, JSON-LD, Business markup.
Schema markup is a block of code on a web page that states facts about the page in a vocabulary search engines agree on, published at schema.org. For a local business it usually says your name, address, phone, hours and the kind of business you are. Google recommends writing it in JSON-LD.
Doug's Field Guide · Updated
What does schema markup do for a local business?
A person reading your contact page can tell that '512 Oak St, Round Rock' is your address. A program has to guess. Schema markup removes the guess by labeling each fact: this is the business name, this is the street address, these are the opening hours, this is the phone number.
Google reads it to understand the page and to decide whether it can show extra details, called rich results. Markup does not guarantee any of that. Google's own documentation says you must include all the required properties to be eligible, and that the page has to follow its structured data guidelines. For LocalBusiness, the required properties are just name and address. Hours, phone, URL, price range and geo coordinates are recommended.
Use the most specific type that fits. Schema.org has Plumber, Electrician, HVACBusiness, Dentist, Attorney and many more under LocalBusiness, and a specific type says more than the generic one.
What is JSON-LD and where does it go?
JSON-LD is one of three formats for writing schema markup, and the one Google recommends because it is the easiest to add and keep up. It sits in its own script tag, usually in the page head, with the type set to application/ld+json. It does not change how the page looks.
The other two formats, Microdata and RDFa, wrap the visible text of the page in extra attributes. They work, but they break easily when someone edits the page in a site builder.
Put your LocalBusiness block on the home page and the contact page at least. If you have several locations, give each location page its own block with that location's address and hours. Every fact in the markup must match what the page shows. Markup that claims hours or reviews the visitor can't see is against Google's guidelines.
What about FAQPage markup?
FAQPage markup labels a list of questions and answers on a page. For years it could make those questions drop down under your result in Google. In 2023 Google limited that display to well-known government and health sites, and it stopped showing FAQ rich results in Search altogether starting May 7, 2026.
The markup is still valid schema.org vocabulary, so it does no harm on a real FAQ page and still describes the page to any system that reads it. Just don't add it expecting a bigger listing on Google. The questions and answers themselves, written plainly on the page, are what earn a place in search and AI answers.
One more warning while you're in there. Google does not show review stars for reviews a business publishes about itself, so marking up your own testimonials to get stars won't work. Put your effort into the LocalBusiness block and the answers on the page instead.
Check and add your business markup this week
- Paste your home page URL into Google's Rich Results Test and see whether it finds a LocalBusiness item.
- If it finds nothing, write down your exact business name, street address, phone, hours and website, matching your Google Business Profile word for word.
- Pick the most specific type for your trade on schema.org, like Plumber or Dentist, instead of plain LocalBusiness.
- Add a JSON-LD block with those facts to your home page and contact page, or send it to whoever runs your site.
- Run the Rich Results Test again and fix any errors it lists.
Common mistakes
- Marking up hours, prices or review stars that the visitor can't see on the page, which breaks Google's structured data guidelines.
- Using a different business name or phone number in the markup than on your Google Business Profile.
- Adding FAQPage markup in 2026 expecting the old drop-down questions under your Google result, a feature Google has removed.
How Doug does it
Every site Doug builds and hosts on your domain carries LocalBusiness and FAQPage markup, filled in from the same facts as your pages. The pages Doug drafts and publishes to WordPress or a GitHub repo come from those same facts, so the name, address and phone stay in step.
Terms on this page
- JSON-LD
- The format Google recommends for structured data. It sits in its own script tag on the page and doesn't change what visitors see.
- Rich results
- Google results with extra details beyond the blue link and description, like review stars or event dates. Structured data makes a page eligible but never guarantees them.
- Structured data
- Code on a page that labels facts, like your business name, address and hours, in a standard format that search engines read directly. Schema markup is the common name for it.
Keep exploring
- FAQ pagesThe questions customers ask on the phone, each with one short, clear answer.
- NAP consistencyYour name, address and phone number, the same everywhere they appear.
- Google Business ProfileYour free listing on Google Search and Maps, and the first thing a local customer sees.
- Google AI OverviewsThe AI summary Google writes above the results, and how your pages get linked in it.
Sources
- Google Search Central: Introduction to structured data
- Google Search Central: Local business structured data
- Schema.org: LocalBusiness
Written by Doug's team from these sources and our own work with local businesses. Search engines change their rules, so check the source before a big decision.
