If you are operating a local business there is something you can do right now to gain an advantage over your competition. It is called schema markup. Taking advantage of this early on will benefit you. What is schema markup? Basically it is code you can add to your page so that search engines like Google and Bing can better identify the data and be more likely to serve that information up in SERPs.
There is a great article on KissMetrics about How to Boost Your SEO by Using Schema Markup. I suggest reading through that if you want to know more about how schema markup helps you and then come back to our page. I will show you how to quickly add some schema markup for a local business location to a page in WordPress.
There is a WordPress plugin out there called Schema Creator by Raven, however I was not happy with the results. There were a bunch of line breaks and I couldn’t get it to look like I wanted without going and editing the plugin itself. I needed to add location data, specifically the LocalBusiness attribute. So I asked my brother Brett who is a phenomenal PHP programmer and he whipped up something in a matter of minutes. So I thought I would share it with you as an alternative to using a plugin or simply pasting the HTML from a schema generator.
Step 1
First we are going to add a function for our schema itemtypes, specifically LocalBusiness and PostalAddress, to WordPress. So in your WordPress dashboard browse to Appearance and click on on “Editor.”
Step 2
Click into your WordPress functions.php file. (please don’t edit this file if you are unsure of what you are doing, or please make a backup first!)
Step 3
Now scroll to the bottom and we are going to add this code. What we are doing is creating a shortcode we can use later. Why do we do a shortcode? Simply because if you have multiple people editing sometimes they will switch out out of the text view and you lose your schema markup.
function shortcode_printaddress($atts) { $val.= '<div itemscope itemtype="http://schema.org/LocalBusiness">'; $val.= '<a itemprop="url" href="' . site_url() . '">'; $val.= '<div itemprop="name">'; $val.= '<strong>' . $atts["name"] . '</strong>'; $val.= '</div>'; $val.= '</a>'; $val.= '<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">'; $val.= '<span itemprop="streetAddress">'; $val.= $atts["address1"]; if(!empty($atts["address2"])) { $val.= '<br />' . $atts["address2"]; } $val.= '</span><br />'; $val.= '<span itemprop="addressLocality">' . $atts["city"] . '</span>, <span itemprop="addressRegion">' . $atts["state"] . '</span> <span itemprop="postalCode">' . $atts["zip"] . '</span>'; $val.= '</div>'; $val.= '</div>'; return $val; } add_shortcode('printaddress', 'shortcode_printaddress');
Step 4
Now we can go to our page and add the shortcode. Obviously you will want to change the details below with your address.
[printaddress name="OKay Marketing" address1="8275 E Bell RD" address2="Suite 250" city="Scottsdale" state="AZ" zip="85260"]
The shortcode will display like our address below.
Suite 250
Scottsdale, AZ 85260
The reason we like this method better is because it is much easier to style, there aren’t any line breaks and to the general user, it looks just like a normal address listing.
Step 5
Now you will want to copy the URL of the page you have the shortcode on and go test it in the Google Structured Data Testing Tool.
At the very bottom you will want to verify that you have the localbusiness item type and that the address points to Item 1 which in turn points to Item 1 for the address.
There are many more things you could add too, like phone number, hours of business, etc. To read more about the available schema types visit the official schema website.