Local Business Schema Markup Tips & Examples

If you’re tired of manually wrapping Microdata HTML around your page content and schema plugins, not producing the goods, these tips and schema markup examples for implementing Local Business schema markup are for you. I break down Local Business structured data markup for different business types and how to easily add it sitewide or at the page level for enhanced local SEO.

 

Why Use Local Business Schema Markup?

Structured data (or schema markup) helps search engines understand your website content more clearly, enabling features like rich snippets in search results. For local businesses, structured data can improve their visibility, enhance their mobile rich snippets, and ensure that their business information is accurately represented.

Google prefers using JSON-LD (JavaScript Object Notation for Linked Data) for implementing structured data. It’s cleaner, simpler, and doesn’t interfere with your website’s HTML content.

 

Thinks to Note about Local Business Schema Markup

Google’s Support:
Not all schema.org markups are supported by Google as soon as they become available. Always test your markup using Google’s Structured Data Testing Tool.

Enhancing Rich Snippets:
Many Local Business schema examples omit important elements like image and priceRange. Including these can help you stand out, especially on mobile searches where rich snippets are key.

Geo Coordinates:
I don’t recommend using GeoCoordinates because Google Maps pins can be altered by users, leading to potential discrepancies. Instead, I suggest using hasMap, which users cannot modify.

Include Social Links: Use the sameAs property to link your business’s social media profiles. I am not convinced that adding top-level citations (e.g., Companies House listings, BBB, or chamber of commerce) is valid, because it does not exist on site.

 

Local Business Schema Types

Visit schema.org/LocalBusiness to check whether your specific business type is listed. If it’s not, you can use LocalBusiness as the default type. I have included examples of businesses I work with, so it’s not a definitive list, but it’s more than enough to get you started.

 

Local Business ‘Basic’ Single Location Schema

Below is an example of a basic Local Business schema for a single-location business. You can modify the elements to suit your specific business type:

<script type="application/ld+json">
   {
     "@context": "http://schema.org",
     "@type": "LocalBusiness",
     "name": "Busienss Name",
    "logo": "URL of Logo",
    "image": "URL of Feature Image",
    "priceRange" : "Quoted",
    "description": "Short Description of Business",
    "openingHours": "Mo-Fr 09:00-18:00",
     "telephone": "01536 000 000",
     "email": "contact email",
    "url": "Main Domain",
    "additionalType": "https://en.wikipedia.org/wiki/Search_engine_optimization",
    "hasMap": "https://www.google.com/maps?cid=1008335387778298790",
    "sameAs" : [
    "Twitter",
    "Facebook"
    ],
     "address": {
    "@type": "PostalAddress",
    "streetAddress": "Street Address",
    "addressLocality": "Town / City",
    "addressRegion": "Country Region",
    "postalCode":"Post or Zip Code"
    }
  }
 }
</script>

 

Tips for Single Location Businesses

  • The priceRange value can vary depending on your business type. Options like “Free Quote Available”, “£10 – £25”, or “Priced on Quote” may be more relevant.
  • Include your business address and contact details in your site’s footer.

 

Local Business Multiple Locations Schema

For businesses with more than one location, here’s an example of a Real Estate Agency with two branches:

<script type='application/ld+json'> 
{
"@context": {
"@vocab": "http://schema.org/"
},
"@graph": [
{
"@id": "https://your-domain.co.uk",
  "@type": "Organization",
  "name": "Main Business Name",
  "url": "https://your-domain.co.uk",
   "logo": "https://your-domain.co.uk/logo.jpg",
  "sameAs": [
    "https://twitter.com/main brand social",
    "https://www.youtube.com/main brand social",
    "https://www.facebook.com/main brand social"
  ]
},
{
"@type": "RealEstateAgent",
   "parentOrganization": {
"name" : "Name of Main Business"
},
"name": "Local Business Name if Different",
"description": "Short Business Description",
    "image": "https://your-domain.co.uk/logo.jpg",
    "priceRange" : "Monthly - Weekly Rental",
     "address": {
    "@type": "PostalAddress",
    "streetAddress": "Street Address",
    "addressLocality": "Town / City",
    "addressRegion": "County or State",
    "postalCode":"Post Code"
    
     },
     
               "openingHours": [
              "Mon-Fri 09:00-17:30"
             
],
    "telephone": "0800 000 000",
     "url": "https://your-domain.co.uk/location-page/",
    "hasMap": "From Business Profile",
    "sameAs" : [
    "Social Channel for Business Location",
    "Social Channel for Business Location"
      ]
     },
     
  
{
"@type": "RealEstateAgent",
   "parentOrganization": {
"name" : "Name of Main Business"
},
"name": "Local Business Name if Different",
"description": "Short Business Description",
    "image": "https://your-domain.co.uk/logo.jpg",
    "priceRange" : "Monthly - Weekly Rental",
     "address": {
    "@type": "PostalAddress",
    "streetAddress": "Street Address",
    "addressLocality": "Town / City",
    "addressRegion": "County or State",
    "postalCode":"Post Code"
    
     },
     
               "openingHours": [
              "Mon-Fri 09:00-17:30",
             "Sat 10:00-13:00"
],
   "telephone": "0800 000 000",
     "url": "https://your-domain.co.uk/location-page/",
    "hasMap": "From Busienss Profile",
    "sameAs" : [
    "Social Channel for Business Location",
    "Social Channel for Business Location"
 ]
 }
]
}
</script>

 

Tips for Multiple Locations

  • Ensure each location’s structured data includes sameAs, hasMap, and contact details specific to that branch.

 

Service Area Local Business Schema

For businesses like plumbers, electricians, or taxi services that operate within a specific service area, here’s how to use the GeoCircle schema for accurate service representation:

<script type="application/ld+json">{
   "@context": "http://schema.org/",
    "@type": "TaxiService",
    "provider": {
    "@type": "LocalBusiness",
    "name": "Business Name",  
    "areaServed": "http://www.wikidata.org/entity/Q170263",
    "telephone": "000 000 000",
    "description": "Short Descriprion of Business",
    "priceRange" : "Call or Book Online",
     "logo": "URL of Logo",
    "image": "URL of Feature Image",
    "sameAs" : [
    "Facebook",
    "Twitter"
    ],
    "additionalType": "https://en.wikipedia.org/wiki/Taxicab",
    "email": "contact email",
    "url": "Main Domain",
    "openingHours": "Mon-Sun 00:00-23:59",
    "hasMap": "From Business Profile",
    "address": {
    "@type": "PostalAddress",
    "addressLocality": "Chester",
    "addressRegion": "Cheshire",
    "additionalType":"https://www.wikidata.org/wiki/Q67287495"
    },
    "location": {
    "@type": "Place",
    "geo": {
          "@type": "GeoCircle",
          "geoMidpoint": {
            "@type": "GeoCoordinates",
            "latitude": "53.2",
            "longitude": "-2.883333"
          },
          "geoRadius": "50"
         }
       }
    },
    "providerMobility": "dynamic"
  }
  </script>

 

GeoCoordinates Tip

  • For service-based businesses, set the geoMidpoint to the centre of your service area, with geoRadius specifying the service radius in miles.

 

Hotel ‘Basic’ Local Business Schema

Here’s a schema for hotels or businesses that offer accommodations, including additional features like checkinTime and checkoutTime.

<script type="application/ld+json">
{
  "@context": "http://schema.org", 
  "@type": "Hotel",
  "name": "Name of Hotel",
  "alternateName": "Shortened or Other Name",
  "url": "URL of Hotel",
  "logo": "URL of Logo",
  "image": "URL of Preferred Image",
  "description": "Short Description of Hotel",
  "sameAs": [
        "Facebook",
        "Instagram"
        ],
  "telephone": "000 000 000",
  "email": "Contact Email",
  "hasMap": "From Business Profile",
  "checkinTime": "14:00",
  "checkoutTime": "12:00",
  "additionalType": "https://en.wikipedia.org/wiki/Resort_hotel",
   "areaServed": "https://www.wikidata.org/wiki/Q273306",
   "address" :  {
    "@type" : "PostalAddress",
    "streetAddress": "Street",
    "addressLocality": "City / Town",
    "addressRegion": "Region",
    "postalCode": "Postal or Zip Code",
    "addressCountry": "Country"
  },
  "priceRange": "Best Rate Guaranteed Direct",
  "starRating": { 
    "@type" : "http://schema.org/Rating",
    "ratingValue": "5" 
  }
}
}
</script>

 

Hotel Tips

  • See more specific Hotel Schema Examples
  • Don’t forget to markup your internal resources in the hotel, like restaurants, spa etc.

 

Local Business Schema Markup for Local SEO

Implementing Local Business schema markup is essential for any business looking to enhance its local SEO efforts. By structuring your data with JSON-LD, you ensure that search engines can understand and present your business information accurately in search results. This boosts your visibility and makes your listings more appealing through rich snippets, especially on mobile devices.

While it’s essential to customise the schema to suit your specific business type, always include elements like contact details, opening hours, and price range to maximise your impact. Whether you’re a single-location business, a multi-location enterprise, or a service-based company, structured data is a powerful tool to help you rank higher in local search and connect with more customers.

Local SEO success doesn’t just depend on well-optimised content and citations. Incorporating structured data into your website gives you a technical edge, ensuring your business remains competitive in local search results.

 

Related Articles