Tech · Visibility

Structured Data for Local Businesses: What Google Can Read From Your Website

Opening hours, address, phone number: visitors read them on your website. With structured data (Schema.org markup) you provide the same details in a form that search engines can read unambiguously. This article explains what that does and does not achieve, and what to watch out for.

Abstract network of glowing lines and nodes (AI-generated mood image)

Published on · FORXERA

What structured data is

For people, a website is text and images. A search engine first has to work out from it what the business is, where it is located and when it is open. Structured data takes part of that work off its hands: the page source contains a small block that describes the details using the Schema.org vocabulary. Google recommends the JSON-LD format for this. Visitors never see the block, but the details must also be visible on the page itself.

Which details matter for local businesses

For the LocalBusiness type, Google lists two required properties and several recommended ones:

  • Name and address are required. The address should be as complete as possible (street, town, postal code, country).
  • Opening hours (openingHoursSpecification), including exceptions such as holidays or seasonal hours.
  • Telephone number with country and area code, plus the URL of the location's page.
  • Geo coordinates with at least five decimal places.
  • Price range (priceRange) and, for restaurants, the menu and cuisine.

Use the most specific subtype available, such as Restaurant, Dentist or HairSalon rather than plain LocalBusiness. With several locations, it makes sense to give each one its own page with its own markup.

What it looks like

A heavily shortened sample with placeholders:

{ "@context": "https://schema.org",
  "@type": "HairSalon",
  "name": "Your business name",
  "address": { "@type": "PostalAddress",
    "streetAddress": "1 Example Street",
    "postalCode": "00000", "addressLocality": "Town",
    "addressCountry": "BG" },
  "telephone": "+359 ...",
  "openingHoursSpecification": [{ "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday"],
    "opens": "09:00", "closes": "18:00" }] }

The values must match your actual business data: when your opening hours change, the markup has to change with them. Outdated data is worse than none.

Common mistakes

  • Markup that does not match the visible page. Google requires structured data to describe content that visitors can also see. Details that exist only in the code go against the guidelines.
  • Invented or misleading details, such as self-written reviews. This can lead to a manual action and removes the page's eligibility for rich results.
  • Conflicting details in different places. If your website, your markup and your Google Business Profile show different opening hours, that is a contradiction for customers and search engines alike.
  • A jungle of plugins. Several extensions that each output their own markup create duplicate or conflicting blocks.

What markup does not do

Valid markup makes a page eligible for rich results, but it guarantees neither a display nor a better ranking. Google states explicitly that a display is not assured. According to trade-press reports and Google's changelog, FAQ markup no longer triggers FAQ rich results in Google since May 2026; it does no harm, but it also earns no extra space in the results.

Whether ChatGPT, Gemini or Perplexity read structured data is not reliably documented. What is certain: clear, complete details as plain text on the page (address, hours, services) help everyone, whether human, search engine or assistant. Markup supplements that; it does not replace it.

How to check your page

Google offers the Rich Results Test: enter the URL and fix critical errors. In Search Console, the URL Inspection tool shows whether Google can fetch the page. Then check that opening hours and phone number in the markup match the visible page and your Google Business Profile. Read more about the profile in our article on setting up a Google Business Profile. This is technical orientation, not legal advice and not a ranking promise.

Sources

Frequently asked questions

Do I need structured data for Google to find my business?

No. Google finds and indexes pages without markup. Structured data helps it read details such as opening hours unambiguously and can make a page eligible for rich results. There is no guarantee of either a display or a ranking.

Is a Google Business Profile enough, or do I need markup as well?

They do different jobs. You manage the profile at Google itself, while the markup lives on your website. What matters is that both sources contain the same details.

Does a programmer have to do this?

Common website builders and CMS platforms offer extensions that generate markup. Still check the result with Google’s Rich Results Test, because errors and duplicates are common.

Does markup help with AI search?

That is not reliably documented. Well-readable text with complete details on the page is the safe foundation; markup is a supplement.

Want your website set up cleanly on the technical side?

Write me a few lines about your current website and what your business offers. I will check which details are missing or contradict each other, and tell you honestly which of them really matter. I work remotely from Varna with clients in Bulgaria and Germany.

More articles