?>

Why Your Local Business Schema Sucks and How To Make it Better

hanz and franz schema pump up

There are hundreds of articles that can be found online about how to mark up your local business’ NAP with schema.org.

Don’t worry, this isn’t another one of them.

This article is about how to take that basic, plain Jane markup, and add a few underused properties and types to it to provide even more information to search engines about the business and, in turn, increase the markup’s power and SEO value.  Let’s get started!

Use the Most Specific Schema Type for Your Business


One problem that I commonly see with many schema markups is that they use the typical LocalBusiness type.  There’s nothing wrong with that in itself, but it doesn’t tell search engines much about what type of business it is or what it does.  After all, a local business could describe a store, a plumbing company, a mechanic shop, a bowling alley, and so on.  

Since the purpose of using structured data markup is to help search engines better understand your business, the first thing you should do is select the schema type that best describes your business.  And there are many to choose from.  

I won’t get into listing all of them, but local SEO wiz Phil Rozek and I partnered up a few months ago and wrote an article on this very subject.  Phil even posted a spreadsheet that lists almost 400 different types of businesses and the most appropriate schema type to use for each of them.  So if you haven’t checked it out yet, it’s a great place to start.

 

The sameAs Property

You already know how important citations are for local SEO. But when you create new citations for your business (or for your client’s), it’s a waiting game hoping that Google and the other search engines will find your new citations quickly and make the connection between those listings, the business, and the website.

The “sameAs” property can help make that process much quicker and easier.  Schema.org explains that the “sameAs” property is used along with the “URL of a reference Web page that unambiguously indicates the item’s [or business’] identity.”  By using the “sameAs” property in your NAP schema markup, you can tell search engines that the business you’ve marked up is the same one found at a certain citation URL. Pretty sweet, right?

Using a Google+ Local page as an example, here is how you can use the “sameAs” property to help Google understand the connection:

<div itemscope itemtype=”http://schema.org/LocalBusiness”>

<span itemprop=”name”>Touch Point Digital Marketing Agency</span>

<link itemprop=”url” href=”http://www.touchpointdigitalmarketing.com/”>

<link itemprop=”sameAs” href=”https://plus.google.com/+TouchPointDigitalMarketingAgencyNewOrleans”>

</div>

Of course, Google+ isn’t the only important citation source.  There’s also Bing Places, Facebook, Yelp, Citysearch and a few others.

The nice thing about many schema.org properties is that you can use them multiple times in your markup.

There’s nothing wrong with using the “sameAs” property and linking it to a few important citation listings on the same page.  Just don’t go crazy with it and be sure to use a separate tag for each citation source.

 

The geo and hasMap Properties

One of the most important things you can do for your local SEO is to make it absolutely clear to search engines where your business is located.  Marking up your address is a good start, but like I said, you want to make things absolutely clear…

Enter the “geo” and “hasMap” properties:

1) The “geo” property is used to mark up your business location’s geographic coordinates.  This is one property, though, that requires us to declare a new type–GeoCoordinates.  By marking up the geo coordinates, we’re able to help search engines as well as other machines and apps understand exactly where the business is located, even if they don’t exactly understand the address and especially if they have been showing the incorrect location on a map.

Sidenote: This is an area where I regularly see many people make mistakes—they declare a property value simply with text when the expected value of that property is a new type.  So please pay close attention to what schema.org states the expected value is for a property, whether it’s simply text or a new type.

2) The “hasMap” property is used, as I’m sure you can guess, to mark up a map of the business.  When the “geo” and “hasMap” properties are used together within the markup, it makes it really difficult for search engines to get the business’ location wrong.

Here’s how you can implement the “geo” and “hasMap” properties within our markup:
*You’ll notice I added the logo and phone number as well, I’ll address this below.

<div itemscope itemtype=”http://schema.org/LocalBusiness”>

<span itemprop=”name”>Touch Point Digital Marketing Agency</span>

<link itemprop=”url” href=”http://www.touchpointdigitalmarketing.com/”>

<img itemprop=”logo” src=”http://www.touchpointdigitalmarketing.com/images/logo.png” />

<link itemprop=”sameAs” href=”https://plus.google.com/+TouchPointDigitalMarketingAgencyNewOrleans”>

<link itemprop=”hasMap” href=”https://goo.gl/maps/Ko9vX”>

<a itemprop=”telephone” href=”tel:+15048752225″>(504) 875-2225</a>

 

<div itemprop=”address” itemscope itemtype=”http://schema.org/PostalAddress”>

<span itemprop=”streetAddress”>4035 Washington Ave. #100</span>

<span itemprop=”addressLocality”>New Orleans</span>

<span itemprop=”addressRegion”>LA</span>

<span itemprop=”postalCode”>70125</span>

</div>

 

<span itemprop=”geo” itemscope itemtype=”http://schema.org/GeoCoordinates”>

<meta itemprop=”latitude” content=”29.9516186″ />

<meta itemprop=”longitude” content=”-90.1007005″ />

</span>

</div>

 

With regards to the map URL, because you’ll want to provide search engines with the most specific information possible, it’s best to use a link to the map of the business itself and NOT of a map simply of the address.

How to obtain a Google map URL of your business:

  1. go to google.com/maps and search for your business by name.
  2. Next, click on the “hamburger menu” in the search field.
  3. select “Share or embed map”
  4. then copy and paste the URL or use the short URL.

 

 

It should be mentioned that the “hasMap” property is relatively new to schema.org.  If you use it and then test your markup with Google’s Structured Data Testing Tool, you’ll get an error message.  But no worries; the testing tool just hasn’t been updated to accept this property yet.

And lastly, you can choose to display your location’s latitude and longitude, but it’s not absolutely necessary.  That is one markup that’s there more so for the benefit of search engines than for visitors.  However, if you’re proud of your particular GPS coordinates then by all means feel free to display it!

 

The Knowledge Graph and Your Logo & Telephone

Like I mentioned earlier I also added the logo and the phone number into the markup. This is a basic markup tactic and this post is suppose to be more advanced, so why did I mention it?

Google recommends marking up your logo because, as stated on their Webmaster Central blog, “markup like this is a strong signal to our algorithms to show this image in preference over others, for example when we show Knowledge Graph on the right hand side based on users’ queries.”

Did you hear that? A STRONG SIGNAL! If you’re having a hard time triggering the KG for your business check your logo markup, it might help.

With regards to the telephone number, you’ll notice that it’s hyperlinked and the US country code (+1) is also included.  The hyperlinking of the number makes it easy for your visitors on mobile devices to tap and call, and it also allows you to easily include the internationalized version of your phone number, which is something that Google also recommends that you do.

 

The image Property and the ImageObject Type

Images on your website can help your local SEO, but especially is true when images are marked up with structured data. (That’s a Tweetable!)

Images can be marked up in a couple of different ways with schema.org.  You can simply use the URL of the image, or you can declare a new ImageObject type.  The most commonly used method is simply using a URL with the “image” property, such as:

<img itemprop=”image” src=”http://yourwebsite.com/image.jpg” alt=”a few keywords” />

This is ok, but it doesn’t tell search engines much about the image so it’s not providing a lot of SEO value. Low SEO value, not ok.

The other and better way to mark up an image is to mark up each one using the ImageObject type.  This is because with ImageObject, you’re able to provide far more details about the image to search engines.  For example, you can mark up the name of the image, caption or description, where and when the picture was taken, and much, much more.  This sends very strong signals to search engines about the business, where it’s located, and what it does.

Let’s say you have (or your client has) a construction business and you’ve just finished a kitchen renovation project.  You created a new blog post with some pictures of the project and now we want to mark those pictures up with schema.

You could use this example:

<div itemscope itemtype=”http://schema.org/Article”>

<span itemprop=”name”>The Parker Kitchen Renovation Project in New Orleans</span>

<span itemprop=”articleBody”>For the past 4 weeks, we’ve had the pleasure of working on a kitchen renovation project for…</span>

 

<div itemprop=”image” itemscope itemtype=”http://schema.org/ImageObject”>

<img itemprop=”contentUrl” src=”http://yoursite.com/parker-kitchen-renovation.jpg” />

<span itemprop=”name”>The Parker Kitchen Renovation</span>

<span itemprop=”description”>The completed Parker kitchen renovation project after all the new appliances were installed.</span>

Taken on <time itemprop=”dateCreated” datetime=”2011-11-28″>Nov. 28, 2014</time>

 

<div itemprop=”contentLocation” itemscope itemtype=”http://schema.org/City”>

Project Location: <span itemprop=”name”>New Orleans</span>

</div>

 

<div itemprop=”creator” itemscope itemtype=”http://schema.org/HomeAndConstructionBusiness”>

By: <span itemprop=”name”>Our Construction Business</span>

<link itemprop=”url” href=”http://www.yourwebsite.com/”>

<link itemprop=”sameAs” href=”http://yourgoogleplusurl.com”>

</div>

</div>

</div>

 

You can see how much more information you’re able to provide search engines about the image by using the ImageObject type. You’ve even told them where the picture was taken!

This sends nice signals to search engines about where you provide your services, especially if your business is not located in that particular city.  And it’s a lot better than keyword-stuffing the alt tag. Actually, it’s a whole-heck-of-a-lot-better than that!

before and after image schema markup

 

Conclusion

I’m a self-confessed structured data geek, so I could go on for days about ways to improve your schema markup.

But these few things mentioned above are a great start.  Take a few minutes this week to make these few improvements to your business’ schema markup.

Every detail that you can provide search engines through your markup is another step towards helping them understand even more about your business, and everything that you can help them understand can only help your local SEO efforts.

Any questions? Leave a comment and I’ll answer them!

 

Note from the editor (Darren): David Deering is the owner of Touch Point Digital Marketing Agency in New Orleans. He’s one of the most knowledgeable people I know on structured data and schema. Thanks for the awesome post, David!

AUTHOR

David Deering

David Deering is the owner of Touch Point Digital Marketing Agency in New Orleans. His knowledge and experience with utilizing structured data and schema markup are second to none.

Follow Me on Twitter
  • Awesome post, v useful info. And thanks so much for getting a post here from David!
    Wondering – did productolongy not get mentioned because he’s already done it with Phil,or is it not as useful as the points he mentions here?

  • Hi Margaret. Good question. I chose not to mention it here because I went into detail about it on Phil Rozek’s blog and I wanted to instead cover points here that perhaps many weren’t aware of. But using the “additionalType” property is still important, so if you’re able to use it, then by all means do.

  • Don’t forget: Each page, which is important for you to rank locally, MUST be solidly tied to its local data and, to let Google to realize this tie-in, contain at least following structured markup for:

    – type “Organization/LocalBusiness”: name, description, url, sameAs, TaxID/VatID, duns/isicV4, openingHours, telephone, email,

    – type “PostalAddress”: street, house number, city, zip, geo/hasMap

    If it is not only an informational, but a product/offer page, then… you know what to do 🙂 (whisper: http://schema.org/Offer)

  • Quick question. I am a wedding photographer. I have the local business mark up on my website and it is displayed on my site itself. Is there some way that my address can not be actually displayed on my website, such as colouring it to match the background or something like that. I don’t particularly like advertising the fact that my home address has a ton of valuable equipment lying around?

  • Great post and great timing. I was just discussing schema types with the dev. folks. Article forwarded!

  • Thanks for the comment and suggestions, Evgeniy. Those points are definitely important to keep in mind.

    James, I can certainly understand why you wouldn’t want to display your home address on your website and mark it up. But I would advise against hiding your address in text that’s the same color as the background because that’s an old blackhat SEO trick that Google will catch. So one option would be to simply display your city or region instead of your full address. Or you could simply leave your address out and use the sameAs property to link to various important citation sources such as Google+, Yelp, Citysearch, etc. But since you’re a home-based business, just be mindful to hide your address in listings such as in Google+.

    Thanks, Bill and Christopher. Glad you found the article helpful.

  • Amazing Post. Really Innovative and Amplifying. Thoroughly enjoyed and taken notes for upcoming markup implementations. Thanks for the great help.

  • Very useful post David, thanks.
    In response to James’ question, like David said, camouflaging address text against background will be flagged as spammy behaviour by Google.

    A better alternative to markup your address for Search engines without showing onpage to users is to use the Schema Markup below:

    etc.

    Hope this helps

  • Hi, Himanshu and Mike. Thanks, I’m glad you both enjoyed the article.

    Mike, regarding your suggestion to use meta tags for the address… There are instances where it’s acceptable in Google’s eyes to use meta tags, such as with geo coordinates, dates and times, and a few other items. But generally speaking, you shouldn’t use meta tags for markups because that, too, is considered hidden markup. And Google will either ignore hidden markup or possibly disable all rich snippets for the site if they feel that there is deceit behind the markups. So when using microdata, it’s important to mark up the visible content on the page where it sits on the page. If it’s not visible, then it shouldn’t be marked up.

    Thanks again.

  • Fantastic article, thanks for sharing David. Regarding the “sameAs” property, will interlinking a G+ page and website that way help expedite the process of the G+ link getting associated with the main website listing in the Google search results? I’d assume so, but I’ve had a client recently where the Google+ link/association keeps intermittently disappearing from their main search result for their brand name. I’m optimistic that this little bit of Schema may be of assistance here.

  • Great post. I too love playing around with Schema. I would like to add a couple more:

    1) Schema for people. On a location landing page you can put a brief bio for the main contact for that business location (ie: receptionist or manager). Marking this up in schema is a nice touch.

    2) For reviews. I try and include a review on frontpages and location pages at least.

  • Very complete and extremely helpful information that will results in better SERPs for our clients. Thanks so much.

  • Gary

    hi

    i enjoyed this as i hadnt taken much notice before, so now ive got my schema mark up but my address is quite unusual as its away from a main road so is this right? im not usre about exactly what “locality” means ie area or country

    The Wellness Centre
    Butterley Grange
    Derby Road
    Swanwick

    Ripley,
    UK
    de53qy

    and also do we have to use _ instead of spaces? just checking

    thanks

  • Thanks, very good info will implement some of your wisdom right now.
    Cheers Ralph D. Klonz

  • Great post, thank you so much for all of the detail! Do you have any guidance on implementing this in WordPress?

  • Last I checked, Google didn’t support hasmap and it was throwing schema errors in the structured data testing tool.

  • Well what a head filling article *pop
    As much as I do appreciate this article , I think I’ll try Daves (previous poster) WordPress Plugin (Local Business SEO) suggestion.

    Yeah I know I’m lazy – but aren’t we all :p

  • Mark

    In reference to the plugin recommendation above… Don’t us it! “Spammy links injected into my homepage. I’ve taken screen shots and submitting it to wordpress.”
    No plugins are implementing schema well at this time; certainly not this one…

  • @Rachel – because the WordPress editor can strip out certain HTML markup, I highly recommend using a plugin called Post Snippets to create a shortcode (make sure you select the shortcode option) that will allow you to place the schema anywhere you want (page, post, widget).

    This also simplifies things when you have to update business information; rather than change the code in several places on the site, you only need to update the snippet.

  • Thanks for the great post!

    I have a dentist office where they do many different kinds of dentistry, eg: pediatric dentistry, endodontic, orhodontic, sedation dentistry and more. Should I put the specific schema for each dentistry type on each separate landing page for that service? Should I put several different schema on the page where they list all their services?

  • Chris st John

    With the image data, you mentioned adding that code to each picture did I read that right? But if you add that to each picture dont you get the same written content on each one? Sorry, just a bit lost.

    The Parker Kitchen Renovation Project in New Orleans

    For the past 4 weeks, we’ve had the pleasure of working on a kitchen renovation project for…

    The Parker Kitchen Renovation

    The completed Parker kitchen renovation project after all the new appliances were installed.

    Taken on Nov. 28, 2014

  • Hi all. Sorry for not getting back here sooner. Just so that we don’t hijack the thread with specific markup implementation questions, it might be best to post those questions on the Google Webmaster forum where I can help you in detail there: https://productforums.google.com/forum/#!categories/webmasters/structured-data. But just to answer a few questions that were raised…

    @Rachel: Some microdata markup would be added to your WordPress files, while other markup will be added directly to the page. So it just really depends on what’s being marked up that determines where you insert the markup.

    @Neeraj: You should stick to using one schema type for the business, such as Dentist. But you can mark up the particular services they offer on the pages that discuss those.

    @Chris: Sorry for the confusion, Chris, but naturally you would want to change the content of the tags for each particular image (file name, title, description, etc.).

  • Epic post Sir David. Schema markup is a essential thing if you want to grow your business or want to be in competition. worthy and informative!

  • David,

    This is the best schema mark up article I have read in a long while. So I really appreciate the info.

    Questions:
    Is it possible to mark up your Logo without it showing up?
    How many “SameAs” properties do you use give or take?
    Marking up image data could be quite time consuming on some of my clients. So do you feel as though it gives you a real bump with Google or do you feel if all things being equal with a competitor it gives you the advantage? I know it is a subjective question and will have a subjective answer, but that is cool with me.

    Thanks again

  • Thank you, Renzo and Matt, that’s very kind of you to say. Matt, regarding the logo, if it’s on the page, then you can mark it up with a tag instead of an tag. When using the “sameAs” property, you can use it multiple times, but I’d probably recommend sticking to your main social media profiles and citation links. Just remember to use a separate tag for each link when using microdata.

    The image question is a good one. It’s honestly hard to say how much it may help. But Google continues to push structured data markup and wants us to mark up as much on the page as possible. The more information you can provide them as well as other search engines, the more it helps them understand what you do and where. So if your client’s images are marked up well with schema whereas their competitors’ images are not, I personally do think that they’ll have an advantage. It’s just impossible for us to know the extent of that advantage right now.

  • Thanks for all of these tips David 🙂

    I’m going to be taking a harder look at the image markup info you provided 🙂

  • I just found this but am sending on to all my people! One question that I have is about conflicting reports of where to put schema for local companies. Should we be doing this on every page? I have also seen people saying to only do this type of schema on the home page as there can be over-optimization if you do every page with the same schema.

  • Recently jumped into the Schema-world. And as one mentioned in an earlier comment, this is one of the best reads! Learned new things and going to use that right away. Many thanks David.
    Cheers from Amsterdam,
    Mark

  • That’s all great and thankyou.. I have already used your syntax on a few sites, but my problem is that this all shows up on the page. Do you have any suggestions as to how I can use mark-up without affecting the the overall look of a site? Do I need to use JSON to do that?

  • Schema markup doesn’t affect the websites ranking, it’s not a ranking algorithm.

  • Good post David. Is there a best place to put markup schema for NAP? Would it make a difference if it was in the header or the footer?

  • Apophis

    Where should I add this markup, on Homepage or on Contact page?

  • Awesome post, thank you very much. 🙂

  • Great post David. I’ve often wondered about using sameAs to enhance local business markup by linking to a verified data source that’s not Wikipedia so thanks for the example.

  • Really enjoyed the article.
    I mean i have used the professional service schema on homepage & person schema on the about-us page for my site http://www.tech-magneta.com

    But didn’t think about optimizing the images in this manner. I mean, I am certainly a freelancer targeting a location. So the “contentLocation” might be somewhat useful for optimizing the images on my site.

    Thanks a lot.

  • Awesome post! I immediately changed my schema markup from Local Business to the suitable category for one of my clients 🙂 Thanks for the tips!

  • TNC

    Thank you so much for all the details and information. This is a great post. May i know do you have any guide to do this on WordPress?

    Regards.

  • Hello and thanks for the great tips.
    If my client has 4 different stores in the US, and I’d like to make the connection to all 4 Google+ pages – should I point all Google+ pages with the SameAs code to the homepage?

  • I was just shared this article. I’ve been an advocate of schema for a little while now but didn’t fully understand how much schema to incorporate into my site. My thought was one set of schema would cancel out the other. Thank you for showing me how this can be implemented site wide to increase my site relevancy with location and products/services offered.

  • Brad Barrett

    David – Would it make sense to add the sameAs, hasMap, and the Geo on every page, or just the Contact page?

  • David, that is some really good info. There are so many people who talk schema this and schema that but have no idea how important it is to be detailed oriented in the structure of your content. If you aren’t going to have a well defined site structure, to include directory structure, then your schema will never be as good as it should be!! Excellent Article!

  • Great tips – I have become a bit fascinated with Structured Markup recently, but I wasn’t aware of the Geo tags, so that’s gone in now as well. Cheers!

  • Hi David,
    Can I offer a suggestion to “freshen up” this post? For the sake of time, I’ll assume that’s a yes 😉

    Google Maps has made a change since this post – the option to get the shortened link from the cog at the bottom right is no longer there. It is now in the “hamburger” icon at the top left when you have the location pulled up in Maps. It’s something I had to spend time searching for, so I would assume it would help others landing on this post.

    Thanks for the great writeup! You’ve inspired me to take my Schema to the next level.

    Cheers

  • My apologies to all for not being able to respond sooner. But thanks for the tip, Chris. The article has been updated with the new Maps info.

  • Great post and some interesting facts in there for a beginner learner like myself. For a WordPress user is there any video tutorials that you would advise connected to Schema Markup?
    Thanks

  • Hi David,

    Thanks for this great article. Structured data is an area that is usually ignored by most developers. Our website is just one example on that unfortunately.

    I am just wondering if you provide adding structured data services to existing websites. Please let me know.

    Thanks
    Asad

  • Do you recommend using local business schema’s for businesses that provide on-site services that don’t have a retail location for clients to visit? Or does Google only expect businesses that have retail locations to use schemas.

  • Thanks for the great article on local schema. It is better than a couple others I’ve read, so thank you! A quick suggestion to James–see if you can get a virtual mailbox, a unique mailbox address at a shared office space, or something like that to help your local seo. Is would allow you to reap the benefits without worrying about advertising your home address.

  • Are there ever instances where you caution against TOO much schema? This might be a really silly question, but there’s so many possibilities with schema. Aside from the obvious hidden mark up issue with meta tags, are there any negative implications? Could you also shoot yourself in the foot by crossing signals so to speak?

  • I don’t think it’s really possible to have too much schema markup on your page, Britt, as long as it’s all nested properly. You just shouldn’t have several separate sets of markup on the page because search engines may not understand which entity is the main topic of the page. But as long as you make sure that everything is nested properly, then feel free to mark up as much as you wish.

    And to be honest, most sites have far LESS schema markup than they should.