Schema markup for small businesses: a plain guide with an example
What structured data is, which types matter for a local business (LocalBusiness, Service, FAQPage, Organization) and how to add it safely.
ToBrand team · 6 min read

Search engines and AI assistants read your web pages the way a visitor does, but they also look for a small, hidden block of code that states key facts in a fixed format: your business name, address, phone, opening hours and what you sell. That block is called structured data, and the shared vocabulary it uses is called schema markup. This guide explains which types a small business needs and shows a working example.
What schema markup is, in one paragraph
Schema markup is a set of agreed labels, published at schema.org and supported by Google, Microsoft and others. Instead of hoping a search engine guesses that "020 1234 5678" is your phone number, you label it as telephone. The most common way to add it is JSON-LD: a short block of text placed in the page's HTML that visitors never see. Google's Search Central documentation recommends JSON-LD as the easiest format to add and maintain.
What it does, and what it doesn't
Structured data helps machines understand your page and can make it eligible for richer search results, such as review stars on a product, event dates or a business's details. It also gives AI assistants clean facts to work from.
It is not a ranking trick. Google is clear that structured data does not guarantee any special display, and markup that describes things not visible on the page breaks its guidelines. Use it to describe what is really there, accurately.
The four types most small businesses need
LocalBusiness
For any business with a physical location or a service area: a clinic in Pune, a bakery in Chicago, a spa in Hoi An. It holds your name, address, phone, opening hours, map location, price range and links to your social profiles. Use the most specific subtype that fits, such as Dentist, Restaurant, Plumber or AccountingService; schema.org lists them all. Put it on your home page or contact page, and on each branch page if you have several locations.
Organization
For the company as a whole: its official name, logo, website and social profiles. It helps search engines connect your website, your Google Business Profile and your social pages as one entity. Online-only businesses with no walk-in address can use Organization instead of LocalBusiness.
Service
For each service page: what the service is, who provides it and which area it covers. It is not tied to a special search display, but it gives a clear, structured description of what you offer, which helps both search engines and AI tools match you to questions.
FAQPage
For a page with a list of questions and answers written by you. Google has limited FAQ rich results in its search pages to well-known, authoritative government and health websites, so most businesses will not see the expanded display. The markup is still valid and still describes your questions clearly to machines. Only use it when the questions and answers are visible on the page, and never for questions written by users, which belong to a different type.
A small, valid example
Here is a LocalBusiness block for an imaginary dental clinic. Replace every value with your own real details, and remove any line you can't fill in accurately.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Sharma Dental Clinic",
"url": "https://www.example.com/",
"logo": "https://www.example.com/logo.png",
"telephone": "+91-20-1234-5678",
"priceRange": "₹₹",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Karve Road, Kothrud",
"addressLocality": "Pune",
"addressRegion": "Maharashtra",
"postalCode": "411038",
"addressCountry": "IN"
},
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"opens": "10:00",
"closes": "19:00"
}],
"sameAs": [
"https://www.facebook.com/example",
"https://www.instagram.com/example"
]
}
</script>
A few points about it. The @type is the specific subtype, Dentist, rather than plain LocalBusiness. The phone includes the country code, which matters if you serve customers abroad. The country uses its two-letter code: IN for India, US for the United States, VN for Vietnam. The sameAs list points to your official profiles elsewhere, which helps tie them together. Opening hours use 24-hour time.
How to add it to your site
- WordPress: SEO plugins such as Yoast or Rank Math add Organization and basic LocalBusiness data from their settings. For more control, a developer can add a JSON-LD block to the page template. See our WordPress service if you want help.
- Wix and Shopify: both add some structured data automatically, especially for products. Check what is already there before adding your own, so you don't create two conflicting blocks.
- Custom websites: your developer can generate the block from the same data that fills the page, so the two never drift apart.
Adding a Service block to a service page
On each service page, a Service block can name the service, describe it in a sentence, say which business provides it and list the areas served, using the areaServed property with city or country names. Keep the description the same as the visible summary on the page. If you serve several cities, such as Pune and Mumbai, or customers in both the USA and Vietnam, list them, but only where you genuinely take work. Link the provider back to your main LocalBusiness or Organization block by using the same name and website address, so search engines understand that every service belongs to one business.
How to test it
- Paste your page address into Google's Rich Results Test. It shows which types Google found and any errors.
- Use the Schema Markup Validator linked from schema.org to check the block against the full vocabulary, including types Google doesn't show as rich results.
- After a few weeks, look at the Enhancements section of Google Search Console for warnings across the whole site.
Mistakes to avoid
- Marking up reviews you wrote yourself or copied from elsewhere. Self-serving review markup on a business's own page is not eligible for review stars.
- Different details in the markup and on the page, such as old hours or a former address.
- Copying a template and leaving the sample values in.
- Adding every type you can find. A few accurate blocks are better than many vague ones.
- Forgetting to update the markup when you move, change your number or open a new branch.
Structured data works best alongside a complete Google Business Profile; our guide on getting found on Google Maps covers that. If you would like it set up and tested for you, ToBrand adds and checks schema as part of our SEO service.
Was this guide helpful?




