Skip to content

JSON-LD for local businesses: what to include

JSON-LD is a small block of data in a web page that states facts about your business in a form machines can read without guessing: your name, address, phone number and hours. This guide shows what to include and the mistakes to avoid.

By the FactHound team. Reviewed October 11, 2026.

What it is

JSON-LD stands for JSON for Linked Data. The vocabulary comes from schema.org, a shared list of types and properties. A local business uses the type LocalBusiness, or a more specific one such as Dentist, Plumber or Restaurant. Google recommends JSON-LD as the format for structured data.

The fields that matter

  • name: the business name, as on your sign.
  • address: a PostalAddress with street, city, region, postal code and country.
  • telephone: with the country code.
  • openingHoursSpecification: one entry per set of days, with opening and closing times.
  • url: your website address.

Google’s guidance for local businesses requires name and address, and recommends the others along with a few more, such as geo and priceRange.

An example

Example· index.html
<script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Plumber",  "name": "Apex Emergency Plumbing",  "url": "https://apexplumbing.example/",  "telephone": "+1-555-0100",  "address": {    "@type": "PostalAddress",    "streetAddress": "12 Main Street",    "addressLocality": "Springfield",    "addressRegion": "IL",    "postalCode": "62701",    "addressCountry": "US"  },  "openingHoursSpecification": [{    "@type": "OpeningHoursSpecification",    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],    "opens": "08:00",    "closes": "18:00"  }]}</script>

Where it goes

Put the block in the page’s HTML, in the head or the body. It should be in the page your server sends. A block that a script adds later in the browser may never be seen by a crawler that doesn’t run JavaScript.

Common mistakes

  • Data that disagrees with the visible page. Search engines expect the two to match.
  • Hours that were right when the site was built.
  • Only an Organization block, with no address or hours.
  • The same block copied onto every location’s page.
  • A block added by a tag manager that a crawler never runs.

Who reads it

Google and Bing read schema.org structured data. AI assistants that draw on those search engines may benefit from it indirectly. An assistant that fetches your page directly gets your facts in a clean form either way. Structured data doesn’t guarantee a correct answer. It removes one reason for a wrong one.

Where FactHound helps, and where it doesn’t

What FactHound does

  • FactHound builds the JSON-LD from facts you have verified.
  • On WordPress the plugin adds it to your pages and keeps it current. On other websites you paste a block into your header settings; on some website builders you copy the new code after a change. It is static markup in the page, not a script that runs later.
  • The free check tells you if your homepage’s JSON-LD is missing, or lacks the name, address, phone number, hours or website address.

What it doesn’t do

  • FactHound doesn’t manage your Google Business Profile.
  • It works per website: one business profile for each website today.
  • It can’t promise a rich result or a mention.

Start with the free check

No signup. Enter your website to see whether AI crawlers can read it and which questions it can’t answer.

Run the free check