Local Business Structured Data Examples for Google

Local Business Structured Data Examples for Google

 In Structured Data

Depending on the content management you are using, adding Structured Data for Google search engine is quite easy for Local Businesses.

Here’s an Example Using JSON-LD

<script type="application/ld+json"> {
"@context": "http://schema.org",
"@type": "LocalBusiness",
"additionalType": "https://schema.org/Locksmith",
"name": "Your Business Name",
"url": "https://www.replacethiswithyourdomainname.com",
"image": "https://www.replacethiswithyourdomainname.com/wp-content/uploads/2017/01/logo.png",
"description": "Describe your local business difference, add suburb locations and what you are offering in short precise method keep it short and to the point",
"email": "info@replacethiswithyourdomainname.com",
"priceRange": "$$",
"telephone": "+123-123-123-12-1",
"hasMap": "https://www.google.com/maps/place/YourGoogleMyBusinessName/@11.111111,-2.222222,15z/data=!4m5!3m4!1s0x0:0xaddbea7c15c99464!8m2!3d11.111111!4d-2.222222!6m1!1e1",
"sameAs": [ "https://www.facebook.com/YourFacebookBusinessPage",
 "https://twitter.com/yourtwitterprofile",
 "https://www.instagram.com/yourinstagramprofile",
 "https://plus.google.com/+yourGooglePlusProfile",
 "https://www.youtube.com/channel/UCyouryoutubechannelURL",
 "https://www.linkedin.com/company/yourlinkedindetails"
],
"logo": {
 "@type": "ImageObject",
 "url": "https://www.replacethiswithyourdomainname.com/wp-content/uploads/2017/01/logo.png",
 "width": 600,
 "height": 60
},
"address": [{
 "@type": "PostalAddress",
 "streetAddress": "123 ABC Street",
 "addressLocality": "Melbourne",
 "addressRegion": "Victoria",
 "postalCode": "3000",
 "addressCountry": "AU"
}],
"contactPoint" : [{
 "@type" : "ContactPoint",
 "telephone" : "+123-123-123-12-1",
 "contactType" : "customer service"
}],
"geo": {
 "@type": "GeoCoordinates",
 "latitude": "11.111111",
 "longitude": "-2.222222"
},
"openingHoursSpecification": [{
 "@type": "OpeningHoursSpecification",
 "dayOfWeek": [
 "Monday",
 "Tuesday",
 "Wednesday",
 "Thursday",
 "Friday"
 ],
 "opens": "09:00",
 "closes": "17:00"
}]
}
</script>

All you would need to do is to change these details to match your own Local Business details. And then insert that JSON-LD markup to your web page. If you are using WordPress, you can quickly locate header.php file and then find

<head>head portion of HTML and insert that code before closing of head portion</head>

or you could insert that code perhaps in the footer.php file like so:

<footer>head portion of HTML and insert that code before closing of head portion</footer>

or you could insert that code perhaps only on Contact Page like so:

<?php if ( is_page('contact') ) : ?>
you would insert the code within this PHP conditional statement for WordPress to include LocalBusiness Markup only on a page named contact
<?php endif; ?>

Because most LocalBusinesses also have Reviews for their products and services, let’s see how we can combine the reviews markup with your Local Business markup. You can do that like so:

<script type="application/ld+json"> {
"@context": "http://schema.org",
"@type": "LocalBusiness",
"additionalType": "https://schema.org/Locksmith",
"name": "Your Business Name",
"url": "https://www.replacethiswithyourdomainname.com",
"image": "https://www.replacethiswithyourdomainname.com/wp-content/uploads/2017/01/logo.png",
"description": "Describe your local business difference, add suburb locations and what you are offering in short precise method keep it short and to the point",
"email": "info@replacethiswithyourdomainname.com",
"priceRange": "$$",
"telephone": "+123-123-123-12-1",
"hasMap": "https://www.google.com/maps/place/YourGoogleMyBusinessName/@11.111111,-2.222222,15z/data=!4m5!3m4!1s0x0:0xaddbea7c15c99464!8m2!3d11.111111!4d-2.222222!6m1!1e1",
"sameAs": [ "https://www.facebook.com/YourFacebookBusinessPage",
  "https://twitter.com/yourtwitterprofile",
  "https://www.instagram.com/yourinstagramprofile",
  "https://plus.google.com/+yourGooglePlusProfile",
  "https://www.youtube.com/channel/UCyouryoutubechannelURL",
  "https://www.linkedin.com/company/yourlinkedindetails"
],
"logo": {
      "@type": "ImageObject",
      "url": "https://www.replacethiswithyourdomainname.com/wp-content/uploads/2017/01/logo.png",
      "width": 600,
      "height": 60
},
"address": [{
   "@type": "PostalAddress",
   "streetAddress": "123 ABC Street",
   "addressLocality": "Melbourne",
   "addressRegion": "Victoria",
   "postalCode": "3000",
   "addressCountry": "AU"
}],
"contactPoint" : [{
            "@type" : "ContactPoint",
            "telephone" : "+123-123-123-12-1",
            "contactType" : "customer service"
}],
"geo": {
    "@type": "GeoCoordinates",
    "latitude": "11.111111",
    "longitude": "-2.222222"
},
"openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "09:00",
    "closes": "17:00"
}],
"aggregateRating": {
   "@type": "AggregateRating",
   "ratingValue": "5",
   "bestRating": "5",
   "worstRating": "1",
   "ratingCount": "45"
}
}
</script>

Basically what’s changed in the above example is that we simply added aggregateRating which are for your Local Business. All you would change there is the amount of time your business is reviewed (ratingCount) by your customers and if everyone has given 5 star rating, then ratingValue is 5. However, if some has given let’s say 3 stars, then average the ratingCount and change the ratingValue accordingly. This example is the easiest way to add Structured Data for Local Businesses.

If you are going to provide Review Details (perhaps your Listing reviews) then make sure that you sprinkle those testimonials throughout your website, like so:

Excellent tutorials full of useful information. I have leant a lot from watching and reading the work that Tolga puts out. Try one of his premium products – top class!!

Using:

<blockquote>BlockQuotes work great for testimonials. Using these reviews will add social proof which will increase your website conversions</blockquote>

Microdata Example

Schema Markup Microdata Example

Shows Schema Markup Microdata Example code for inserting Structured Data

Microdata Example With Review Markup

Schema Markup Microdata Example with Review Markup

ShowsSchema Markup Microdata Example with Review Markup code for inserting Structured Data

Video Tutorial Showing How to Use These Examples

And that’s how easy it is to include for Local Businesses. Thank you for sharing these examples.

Recommended Posts
Showing 14 comments
  • Ramon
    Reply

    How can i do to put diferents code snippets in each post wordpress?

    • RankYa
      Reply

      You can use conditional PHP statements, for WordPress it would go something like this: is_page(‘pagename’) do something this Local Business Structured Data snippet, or if(is_page(‘anotherpage’)) do something different

  • Ikshow Online
    Reply

    How can i do to put diferents news code snippets in each post wordpress?

    • RankYa
      Reply

      I think you will need to explore NewsArticle Markup

  • Akhtar
    Reply

    Hi RankYa,

    I am new in coding, SEO and trying to learn things.
    While searching on Google for the setup of Structural Data, I came across with this blog post.

    First, let me tell you that my client has a website, deals in multiple categories, which are: fabrication and welding service (core business), racking, shelving, kitchen equipment manufacturer, and mezzanine flooring.

    I used your 1st JSON code (LocalBusiness) and added to Header.php file. While testing on ‘Google Structural Tool’, showing a warning about ‘PriceRange – The price range field is recommended. Please provide a value if available.’

    I don’t have a restaurant business and there is no price range available. Please guide how to fix this warning.

    Many thanks in advance.

    • RankYa
      Reply

      Hello Akhtar, thank you for following RankYa and spreading the word about Structured Data tutorials by RankYa, this warning shown in Google Structured Data testing tool is a recommendation only, and you can use it for your clients markup for his local Business. To do it, simply add

      “priceRange”: “$$$”,

      you can change the dollar amount digits, perhaps $$ OR $$$$ depending on what the business charges (my understanding is, IF less then 10 (double digit $$) if less then 1000 (triple digits $$$) and so on and so forth, here’s another example of Google Structured Data markup for localBusiness that you can modify or use as sample for your JSON-LD setup
      “currenciesAccepted”: “USD”,
      “paymentAccepted”:”Cash, Credit Card”,
      “priceRange”: “$$$”,

    • Akhtar
      Reply

      Hello, I have added it to header.php and put “pricerange”: “Contact Us”.
      I need to add schema to webpages and ‘contact us’ page.
      What will be the codes for ‘services’, ‘products’ and ‘contact us’ pages?
      Do I need to include them in header.php code or I can add them to individual pages?
      If it is individual for pages then what will be the adding procedure?
      Thank You

      • RankYa
        Reply

        What type of CMS are you using when adding Structured Data?

    • Akhtar
      Reply

      WordPress

    • Akhtar
      Reply

      I just added Json code you had written in this blog, nothing else.
      Do you recommend to add schema with any plugin? Since I don’t know coding.

      • RankYa
        Reply

        If you are using markup for LocalBusiness, then you need not add any other part information if you do not want, because quite honestly, to add a full markup to WordPress is quite difficult indeed, because to be able to do so, you will need to know PHP, HTML and also How WordPress internal works. Or else, if you use any other plugins to achieve full markup for adding Structured Data to WordPress, then, they will ALWAYS give errors in Google Search Console Structured Data report.

        So when you think of Structured Data, think modular (you probably already know this due to the Local Business JSON-LD Markup You’ve added) so then, you ask yourself, what else I can add (about us page? then use itemscope itemtype=”https://schema.org/AboutPage (this can be placed in class=”no-js no-svg”< ?php if (is_front_page() && !is_home()) {echo ' itemscope itemtype="https://schema.org/WebSite"'; } elseif (is_home() && !is_front_page()) {echo ' itemscope itemtype="https://schema.org/CollectionPage"'; } elseif (is_page('contact')) { echo ' itemscope itemtype="https://schema.org/ContactPage"'; } elseif (is_page('about-us')) { echo ' itemscope itemtype="https://schema.org/AboutPage"'; } elseif (is_page('blog')) { echo ' itemscope itemtype="https://schema.org/CollectionPage"'; } elseif (is_page('gallery')) { echo ' itemscope itemtype="https://schema.org/ImageGallery"'; } elseif (is_page('faq')) { echo ' itemscope itemtype="https://schema.org/QAPage"'; } elseif (is_search()) { echo ' itemscope itemtype="https://schema.org/SearchResultsPage"'; } elseif (is_attachment()) { echo ' itemscope itemtype="https://schema.org/CreativeWork"'; } elseif (is_author()) { echo ' itemscope itemtype="https://schema.org/CollectionPage"'; } elseif (is_date()) { echo ' itemscope itemtype="https://schema.org/CollectionPage"'; } elseif (is_tag()) { echo ' itemscope itemtype="https://schema.org/CollectionPage"'; } elseif (is_archive()) { echo ' itemscope itemtype="https://schema.org/CollectionPage"'; } elseif (is_category()) { echo ' itemscope itemtype="https://schema.org/CollectionPage"'; } elseif (is_page() && !is_paged()) { echo ' itemscope itemtype="https://schema.org/WebPage"'; } elseif (is_page() && is_paged()) { echo ' itemscope itemtype="https://schema.org/CollectionPage"'; } elseif (is_single() && !is_paged()) { echo ' itemscope itemtype="https://schema.org/Blog"'; } elseif (is_single() && is_paged()) { echo ' itemscope itemtype="https://schema.org/CollectionPage"';}?>>

        But that’s just the begining of HTML, then, you will need to dive deeper in WordPress Theme and find out where is what in terms of where are the menu links coming from? Which template parts are generating sidebar or footer (as in, we need to find out Theme Template File Strcuture) see? Very complex, I usually offer this to valued clients for the ultimate optimization package (but I believe some clients who choose to not hire me think that what I do is easy) but at least YOU can agree, it is NOT easy to add full markup to WordPress because you must use JSON-LD coupled with PHP and microdata to code the theme once so that everything is validated in Search Console. But check back RankYa blog as I will be adding new content (you are more than welcome to become a member at RankYa.Digital site) because your investment will be well worth it because you can ask many questions

  • Ray
    Reply

    Hi,

    If I have added the local business structured data, could I add additional structured data for a article rating? Would it cause any conflict?

    Thank you.

  • Stanislav Drosanski
    Reply

    Is it possible to multiply values in JSON? For example Organisation, LocalBussines and ProfessionalService.

    • RankYa
      Reply

      Yes, these could be used as additional types like this:

Leave a Comment

0

Start typing and press Enter to search

Google Search Console Structured Data Error Missing homeLocationStructured Data Tutorials by RankYa