DEV Community

Quicklity
Quicklity

Posted on

Schema Markup for Local Businesses: The 5 Types That Actually Matter

When someone searches for a plumber near them, a café that is open now, or a dentist with good reviews, Google does more than rank web pages. It tries to understand real businesses: where they are, when they are open, what they do, and what customers think of them.

Schema markup is the structured data that helps search engines understand those facts. It is a small block of code, usually written in JSON-LD, that describes your business in a format machines can read easily. It does not change what visitors see on your page, but it can help Google show richer and more useful results.

That does not mean every business needs every type of schema. For most local businesses, five types cover almost everything that matters. Start with those, get them right, and ignore the rest until you have a clear reason to add more.

Why local businesses benefit

Local search is competitive, and small details can make a difference. Clear LocalBusiness markup can help Google connect your website with your address, your service area, and your Google Business Profile. FAQ markup can make your answers eligible for expanded results. Review markup can make star ratings eligible to appear beside your listing. Breadcrumbs can make your pages easier to understand.

None of this is guaranteed. Google decides which rich results to show, and when. Think of schema as giving Google accurate, well-organised information — not as a switch that forces a particular display. The benefit is better understanding, and better understanding can lead to better visibility in local results and the local pack.

The golden rule: match what visitors can see

Before choosing a type, remember one rule: your markup must match the content on the page. If your opening hours, address, prices, services, or reviews appear in your schema, visitors should be able to see the same information on that page.

Do not add markup for services you do not offer, reviews you have not received, or opening hours that are not shown anywhere. If the markup and the visible page do not match, Google may ignore the markup — and repeated mismatches can damage trust in your site.

1. LocalBusiness

This is the foundation for almost every local business. Use the most specific subtype that fits, such as Dentist, Restaurant, HairSalon, or Plumber, rather than the generic LocalBusiness type when a closer match exists.

Include your business name, address, telephone number, website, and the area you serve. Keep these details identical everywhere they appear online, including your website, your Google Business Profile, and local directories. Small differences, such as a changed phone number or an old address, can confuse search engines.

If you have more than one location, give each location its own page and its own LocalBusiness markup. One block that tries to describe several branches usually creates confusion rather than clarity.

2. FAQPage

Many local business pages already answer common questions: how much does it cost, how do I book, is there parking, what is your cancellation policy? FAQPage markup can make those questions and answers eligible for rich results.

Write the questions exactly as customers ask them, and keep each answer short and direct. Only mark up questions that are actually answered on the page, and do not use FAQ markup for advertising copy or for questions with no real answer.

3. Review and AggregateRating

Reviews are powerful for local businesses, and schema can help search engines understand them. If genuine customers have reviewed your business, AggregateRating can summarise the average rating and the number of reviews. Individual Review markup can describe a specific customer's experience.

Only use reviews that are real, visible on your site, and collected fairly. Never invent reviews, copy reviews from another site, or mark up testimonials that visitors cannot see. Google is strict about this, and fake review markup is one of the fastest ways to lose eligibility for rich results.

4. OpeningHoursSpecification

OpeningHoursSpecification is part of LocalBusiness, but it deserves attention on its own. Include your regular weekly hours, and update them for bank holidays, seasonal changes, and temporary closures. "Open now" is one of the most useful signals in local search, so wrong hours are worse than no hours at all.

If different parts of the business have different hours — for example, a shop and a phone line — describe them separately rather than merging them into one misleading timetable.

5. BreadcrumbList

Breadcrumbs show the path to a page, such as Home > Services > Boiler Repairs. BreadcrumbList markup helps Google understand your site structure, and it can make search results easier to read.

Keep the breadcrumb trail short, logical, and identical to the navigation visitors see. It is a small detail, but it helps both search engines and people understand where a page sits on your site.

A short JSON-LD example

Here is a simple example for a local café. Adapt the details to your own business, but keep the structure:

{
  "@context": "https://schema.org",
  "@type": "CafeOrCoffeeShop",
  "name": "Riverside Café",
  "telephone": "+44 20 7946 0000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "12 High Street",
    "addressLocality": "London",
    "postalCode": "SW1A 1AA",
    "addressCountry": "GB"
  },
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "08:00",
    "closes": "17:00"
  }
}
Enter fullscreen mode Exit fullscreen mode

How to test your markup

After adding schema, test the page with Google's Rich Results Test. Enter the URL, or paste the code, and check for errors and warnings. Fix errors first, then work through warnings where you can.

Also check that the page still makes sense to a human visitor. The test tool can confirm that your code is valid, but it cannot confirm that your hours are correct or that your reviews are genuine. Test again after any change to your business details.

Common mistakes to avoid

  • Adding fake or copied reviews.
  • Marking up content that is hidden from visitors.
  • Using the wrong type — for example, marking a service business as a Product.
  • Copying schema from another business and forgetting to change the name, address, or hours.
  • Adding every schema type you can find, instead of the few that genuinely describe the page.

Most of these mistakes come from rushing. Schema works best when it is accurate, specific, and honest about what the page actually offers.

Start small, then build

You do not need to add everything at once. Start with LocalBusiness, add your opening hours, then add FAQs, reviews, and breadcrumbs where they genuinely fit. Test each change, keep the visible page and the markup in agreement, and review them whenever your details change.

If you want a quicker start, the free Schema Markup Generator at https://quicklitytools.com/schema-markup-generator can help you build valid JSON-LD without writing it from scratch. Check the output, adapt it to your real business details, and test it before you publish.

Top comments (0)