All guides · SEO

LocalBusiness Schema: Phone, Address and Opening Hours for Local Search

If your business has a place customers visit or a local area it serves, search engines want to know the basics: what it is called, where it is, how to reach it and when it is open. LocalBusiness structured data states those facts in a form machines read without guessing.

Why it matters

Local results and maps. Search engines combine your website, your business profile and other listings. Matching details on your own site make that picture consistent.

AI assistants. “Is there a dentist open on Saturday near Kadıköy?” is answered from data like this. A business whose hours and address are only in an image or a PDF is invisible to it.

Fewer wrong answers. An old phone number on a directory is less likely to win when your own page says otherwise.

What we check

When the page carries LocalBusiness or one of its subtypes (Restaurant, Dentist, Hotel, Store, Plumber and dozens more), we look for:

  • telephone
  • a full address as a PostalAddress: streetAddress, addressLocality, postalCode, addressCountry
  • openingHoursSpecification (or openingHours)
  • geo coordinates
  • url

Missing fields are listed. When a page shows a phone link and an address but has no LocalBusiness markup, we mention that it could use it. Pages that aren’t about a local business are information only.

How to fix it

Add one JSON-LD block to the page that describes the business, usually the home page or a location page. Use the most specific type that fits.

<script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Dentist",
    "name": "Smile Dental Clinic",
    "url": "https://smile.example/",
    "telephone": "+90 216 000 00 00",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Bahariye Cad. 10",
      "addressLocality": "Kadıköy, İstanbul",
      "postalCode": "34714",
      "addressCountry": "TR"
    },
    "geo": { "@type": "GeoCoordinates", "latitude": 40.987, "longitude": 29.028 },
    "openingHoursSpecification": [
      {
        "@type": "OpeningHoursSpecification",
        "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
        "opens": "09:00",
        "closes": "19:00"
      },
      {
        "@type": "OpeningHoursSpecification",
        "dayOfWeek": "Saturday",
        "opens": "10:00",
        "closes": "15:00"
      }
    ]
  }
</script>

Tips:

  • Use the same name, address and phone number everywhere: your site, your business profile and directories.
  • Write the phone number in international format.
  • For several branches, give each its own page and its own LocalBusiness block.
  • Update the hours before holidays; outdated hours are worse than none.
  • Most website builders and SEO plugins have a “local business” setting that writes this for you.
  • Structured data (JSON-LD) checks that the markup parses.
  • Rich results checks the properties Google requires for other result types.

Last updated November 2, 2026