What it is, and where it goes
Structured data is a description of your page written for machines rather than people. The common format is JSON-LD: a block of code in a script tag, usually in the head of the page, that says here is the business, here is its address, here are its hours. Visitors never see it. Search engines and assistants read it instead of trying to infer the same facts from your layout.
One rule governs everything below: only mark up things that are true and are actually on the page. Structured data is a statement of fact about your business, and stating a false one is the fastest way to lose the benefit entirely.
The fields that carry the weight
- name. Your business name exactly as it appears on your site, your listings and your signage. No keywords appended.
- url. The page that best represents the business, usually your homepage.
- telephone. In full, with the country code, matching every listing.
- address, as a PostalAddress with streetAddress, addressLocality, addressRegion, postalCode and addressCountry filled in separately. Do not cram the whole address into one line.
- openingHoursSpecification. One entry per set of days, with dayOfWeek, opens and closes. This is the field that lets an assistant answer are they open now.
- areaServed. The city, county or list of towns you actually serve. Essential if you travel to customers rather than having a storefront.
- priceRange. A short honest indicator. If you would rather be precise, put the real numbers on the page and let the page carry them.
- sameAs. The addresses of your other profiles: Google Business Profile, Bing Places, Facebook, Instagram, your professional body. This is how a machine ties scattered mentions together into one business.
- image and logo. Real photographs, at a decent size.
- geo, as latitude and longitude, if you have a fixed location.
- description. Two or three plain sentences saying what you do and where.
Ten correct fields beat thirty invented ones. If you do not know a value, leave the field out rather than guessing at it.
Pick the most specific type that is true
LocalBusiness has more specific subtypes, and the specific one tells a machine more than the general one does. Use the narrowest type that honestly describes you.
- MedicalBusiness, and its narrower types, for clinics and med spas.
- Dentist for a dental practice.
- Attorney or LegalService for a law firm.
- HVACBusiness, RoofingContractor, Plumber and Electrician for the trades.
- AccountingService for a CPA practice.
- RealEstateAgent for an agency.
- LocalBusiness itself when nothing narrower fits.
Be careful with the medical types. If your business is not a licensed medical provider, do not claim a type that says it is. That is a compliance question before it is a marketing one.
Service and FAQPage on top
The business block says who you are. Two more blocks say what you sell and what you know.
- Service, one per service page, with name, description, provider pointing back at your business, areaServed, and serviceType. This is how a machine learns you do that specific thing in that specific place.
- FAQPage, holding the questions and answers that appear on the page. The answer text in the markup must match the answer a visitor reads, word for word.
Keep them in one graph on the page, with the Service pointing at the business rather than repeating its details. Repeating the same facts in three places is how they end up contradicting each other six months later.
The mistakes that undo the work
- aggregateRating you did not earn. Never put a star rating and a review count in your markup unless those reviews exist and are visible on the page. This is the most common abuse and the one most likely to be penalised.
- Marking up things that are not on the page. If the FAQ is in the code but not in the text, remove it from the code or add it to the text.
- Two blocks that disagree. An old plugin writing one address while your new markup writes another leaves a machine to choose, and it may choose wrong.
- A phone number or address in the markup that differs from the visible page, or from your Google and Bing listings.
- Forgetting the markup after you move, change hours or drop a service. Stale structured data is worse than none, because it is stated confidently.
How to check it
- Run the page through Google's Rich Results Test to see what Google parses.
- Run it through the Schema Markup Validator for a stricter view of the whole graph.
- View the page source and read the block yourself. If a field looks wrong to you, it is wrong.
- Re-check after any site change, because themes and plugins add their own markup without asking.
Then move on. Structured data is necessary and it is not sufficient. It makes your facts unambiguous. Getting named still needs correct listings and real reviews, which is the rest of the master guide.