Structured data describes the people, organizations, and content on a website in a machine-readable format. For a local business, begin with accurate business information and choose schema types that match each page. Markup does not guarantee rankings, rich results, or AI citations.

Reviewed October 5, 2026. The examples below are templates, not live business information. Replace every placeholder with verified details before publishing them.

01Why JSON-LD Schema Matters for Local SEO

JSON-LD separates structured data from the visible page layout, which can make it easier to maintain. Google recommends JSON-LD where possible. The information still needs to match what visitors can see. Start by checking what your SEO plugin and theme already output; adding a second graph can introduce conflicting names, URLs, or business details.

For Google-specific requirements, consult the LocalBusiness structured data documentation. Use the most specific business type that accurately describes the organization. Do not invent an address or opening hours simply to fill a field.

02Copy-Paste JSON-LD for Local Businesses

This illustrative template uses placeholder values. Replace them all, remove optional properties that do not apply, and verify required properties for the search feature you are targeting. Use a stable identifier for the business and reference it consistently.

LocalBusiness JSON-LD template — replace all placeholders
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "https://example.com/#business",
  "name": "REPLACE_WITH_BUSINESS_NAME",
  "url": "https://example.com/",
  "telephone": "REPLACE_WITH_PUBLIC_BUSINESS_PHONE",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "REPLACE_WITH_PUBLIC_STREET_ADDRESS",
    "addressLocality": "REPLACE_WITH_CITY",
    "addressRegion": "REPLACE_WITH_REGION",
    "postalCode": "REPLACE_WITH_POSTAL_CODE",
    "addressCountry": "REPLACE_WITH_COUNTRY_CODE"
  }
}
</script>

Configure your existing SEO implementation where possible. If custom code is necessary, use a maintained site-specific plugin or a reversible snippet with a backup. Editing a parent theme’s functions.php can make maintenance harder because theme updates may overwrite the change. For multiple locations, model each real location with its own identifier and accurate corresponding page.

💡
Compare your website’s business name, public contact details, and location information with your business profiles. Fix factual inconsistencies before adding more schema.

03What to Skip: Schema That Does Not Help

Skip claims or entities that the page does not support. A larger graph is not automatically better. These types each have a purpose:

  • BreadcrumbList: Describes the page’s place in the site hierarchy and may support a breadcrumb search appearance. It is not limited to large websites.
  • Article or BlogPosting: Describes editorial content and its author. Use it for appropriate articles, rather than applying it indiscriminately to every service page.
  • Event: Describes a real event with accurate dates and details. Do not create artificial events to gain search exposure.
  • Review: Follow the rules for the entity being reviewed. Displaying a testimonial does not automatically make a business eligible for review stars.
  • Service: Can describe an actual service, but Schema.org vocabulary support is different from eligibility for a particular Google rich result.

04FAQ and Product Schema: When to Use

FAQPage describes visible questions and answers. Google retired FAQ rich results on May 7, 2026, and does not require special schema for AI Overviews or AI Mode. Do not promise extra search links or AI citations from FAQ markup. Read the Google changelog, AI features guidance, and our FAQ content and schema guide.

Product markup belongs on an appropriate product page, with accurate product information and any applicable price, availability, and offer details. Check the current Google product documentation for the specific search experience you want to support. Do not label an unrelated service page as a product to chase a rich result.

05Validate the Published Page

  1. Inspect the public page’s JSON-LD and check for duplicate or conflicting entities.
  2. Use the Schema Markup Validator to check vocabulary and syntax.
  3. Use Google’s Rich Results Test for supported search features.
  4. Compare the markup with the visible page, including business details, author, and content.
  5. Monitor indexing, relevant search traffic, and inquiries after release. A valid test does not guarantee a search appearance.

Review the implementation whenever your business details or page content change. For help with an existing WordPress site, explore our website services or request a site review.