Website JSON-LD Schema For Multiple Locations

When you’re trying to give a website the best Local SEO setup, most of the time you concentrate on getting on Google Business (aka Google Places), making sure you use the area’s name on the site and getting reviews.

The other part of a good local SEO setup is structured data. Below I’ll show you how to use Schema markup to better assist Google and other sites with identifying your business details, especially when you have more than one location.

This is even more essential if you’ve got more than one location listed on a single page of your site, which can be the case with one page or small websites.

I’ve started using JSON-LD instead of the microdata version because you can just group it all together in one script. The downside is that you have to update the code if your location data is changed, but I find it a lot cleaner.

So with the example below, I’ll use a fake brewery that has two locations. We’ll call it “Monty’s Grail Brewery”.

We’ll also assume that the two locations have different phone numbers, different hours and separate Facebook Location Pages.

Essentially there are two locations under one business, as opposed to two departments within one location (which could be the case, and requires a bit different set up).

Here’s what we need from each location, in terms of data:

  • Location name (we’ll use ‘midtown’ and ‘downtown’ as indicators)
  • Phone number
  • Address
  • Logo url
  • Website
  • Geo Coordinates
  • Hours
  • Phone Number
  • Facebook URL (two separate if you have them)

So gather that info together, and here’s what it would look like when fully entered:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "name": "Monty's Grail Brewery",
  "image": "https://www.montysgrail.com/profile.png",
  "@id": "https://www.montysgrail.com",
  "url": "https://www.montysgrail.com",
  "location":
   [
    {
     "@type": "Brewery",
     "parentOrganization": {
      "name": "Monty's Grail Brewery"
     },
     "name" : "Monty's Grail Brewery - Downtown",
     "image": "https://www.montysgrail.com/profile.png",
     "address": {
     "@type": "PostalAddress",
     "addressLocality": "MyTown",
     "addressRegion": "Province",
     "postalCode": "N0N1E0",
     "streetAddress": "456 Main St"
     },
     "geo": {
       "@type": "GeoCoordinates",
       "latitude": 43.9705366,
       "longitude": -81.4076207
     },
     "openingHoursSpecification": [{
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
       "Monday",
       "Tuesday",
       "Wednesday",
       "Sunday"
      ],
      "opens": "11:00",
      "closes": "23:00"
      },{
     "@type": "OpeningHoursSpecification",
     "dayOfWeek": [
      "Thursday",
      "Friday",
      "Saturday"
     ],
     "opens": "11:00",
     "closes": "02:00"
     }],
    "telephone" : "+1 555-555-5555",
    "sameAs": "https://www.facebook.com/montysdowntown",
    "priceRange": "$$",
    "servesCuisine": "Craft Beer"
   },
   {
    "@type": "Brewery",
    "parentOrganization": {
    "name": "Monty's Grail Brewery"
    },
    "name" : "Monty's Grail Brewery - Midtown",
    "image": "https://www.montysgrail.com/profile.png",
    "address": {
     "@type": "PostalAddress",
     "addressLocality": "MyTown",
     "addressRegion": "Province",
     "postalCode": "N0N1E0",
     "streetAddress": "123 Main Rd"
    },
    "geo": {
     "@type": "GeoCoordinates",
      "latitude": 43.980443,
      "longitude": -81.3569621
     },
    "openingHoursSpecification": [{
     "@type": "OpeningHoursSpecification",
     "dayOfWeek": [
     "Monday",
     "Tuesday",
     "Wednesday",
     "Sunday"
    ],
    "opens": "11:00",
    "closes": "23:00"
    },{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
     "Thursday",
     "Friday",
     "Saturday"
    ],
    "opens": "11:00",
    "closes": "02:00"
    }],
    "telephone" : "+1 555-555-5555",
    "sameAs": "https://www.facebook.com/montysmidtown",
    "priceRange": "$$",
    "servesCuisine": "Craft Beer"
    }
   ],
  "description": "The best brewery and pub in MyTown"
 }
</script>

 

Replace the sample data with your own, and add the above to your <head> area and you should be ready to go.

Before you do so, you can also paste your final code in Google’s Structured Data Testing Tool to check if you’re missing anything or have any issues with the code.

 

5 Great Places to get Free Stock Photos Online

Any web or graphic designer will tell you that finding a beautiful stock image that works with their design is essential to creating a strong marketing piece. Stock images have also come a long way from the very basic, over-used ‘men in suits shaking hands’. Photographers are a lot more creative now and there are some absolutely beautiful photos available for any kind of project.

While there are a large number of paid stock image websites (some with great images, some with those over-used, bland images), independent designers sometimes benefit from having access to free images to better meet a limited budget. And just because they are free, doesn’t mean that they are small-sized images or ‘bottom of the barrel’ selections. The sites below have just amazing photographs, from simple still-shots of items to majestic landscapes to abstract patters, all for free!

A short note about licences.

The majority of these sites list their free photos under Creative Commons, which in most situations means you can freely use the images, but give credit to the image’s creator. Please use responsibly and make sure you tell others.

 

Solate.tk

New(er) to the scene of free stock images is Solate.tk. They provide hand-picked high-res images with an emphasis on finding the most unique and high quality images. The majority of their images come curated from Flickr, with some coming from user submissions.

8922138581_de1f448dfe_o

 

Unsplash.com

Their unique ‘you find what we show you’ forces you to see their available photos in order of newest to oldest with no chance to filter, but that shouldn’t stop you from looking since their photos are often quite beautiful. They also work on a ’10 new photos every 10 days’, so you know when they will be updated. Unsplash also has a subscription service where they email you those photos.

EnF7DhHROS8OMEp2pCkx_Dufer food overhead hig res

 

 

Raumrot.com

Raumrot is a site featuring hand-picked photos, mainly from one photographer, specializing in faded or sharp color pallets. They also have pre-picked sets of photos for those looking for a theme among your designs.

14317125527_815934bb2a_k

 

 

FoodiesFeed.com

When you’re looking for something very specific for a stock image, sites like FoodiesFeed are great. This site, as guessed by its title, focuses on free stock images of food and cooking. Its broken into categories and each category can also have sets of photos within, so if you like one photo from a set, there’s another one that may be a different ratio or slightly different angle.

foodiesfeed.com__pumpkin-soup6

 

 

Picography.co

Another blog-format selection of great photos, it features everything from landscapes, to urban to animals. The photos seem to come mainly from Europe, so if you’re looking for an old-world look, this may be the place for you. The only downfall is you have to keep scrolling to visually search for images to use. You can, however, sign up for a monthly email with the new images, and just keep track of what they have on your own.

heron-in-a-boat

 

Some other stock image sites of mention:

www.gratisography.com

www.littlevisuals.co

www.jaymantri.com

wwwmagdeleine.co

Google is Now Showing ‘Missing’ Keywords in SERPs

This looks like it just popped up today, but in Google’s search results, there is now a line under what looks like the first two or three results that says ‘missing:’ and shows what search term you had that these sites didn’t show.
surfarama wordpress theme ads   Google Search

What’s interesting about this, is that recently Google’s been showing search results with the full keyword below and then having one or two terms crossed out that it didn’t find on those pages. The idea is that Google wants to show you some results that may not have all the keywords you wanted, but still may be relevant. This new look suggests that it is going for a more streamlined approach to showing results, as per the Hummingbird update.

This is probably only one of the changes we’ll see over the next year as the new algorithm slowly pushes into Google’s search pages.

Changing the Howdy Message in the WordPress Admin Bar

When developing a WordPress site when the client will have backend access, sometimes you want to customize parts of it to make it more targeted towards the client.

howdyThe ‘Howdy, [username]’ part of the admin bar has always annoyed me because of how unprofessional it is. As well, it doesn’t give an inexperienced user a hint that there is a menu under it. I’ve had many clients who are trying out WordPress on their own ask how to log out, and most never even though to click/hover over that Howdy message.

So, when setting up a site for a client, here’s the easy way to change this message just using a functions.php code.

Here’s the full code:

//change Howdy Message
add_action( 'admin_bar_menu', 'wp_admin_bar_howdygone', 11 );

function wp_admin_bar_howdygone( $wp_admin_bar ) {
$user_id = get_current_user_id();
$current_user = wp_get_current_user();
$profile_url = get_edit_profile_url( $user_id );

if ( 0 != $user_id ) {
/* Add the menu */
$avatar = get_avatar( $user_id, 28 );
$howdy = sprintf( __('Profile/Logout, %1$s'), $current_user->display_name );
$class = empty( $avatar ) ? '' : 'with-avatar';

$wp_admin_bar->add_menu( array(
'id' => 'my-account',
'parent' => 'top-secondary',
'title' => $howdy . $avatar,
'href' => $profile_url,
'meta' => array(
'class' => $class,
'title'     => __('My Account Info'),
),
) );

}
}

For the most part, this just calls up the action of rendering the admin bar using the hook ‘admin_bar_menu’.

Steps To Make The Change

So first step is to open your functions.php file within your theme’s folder (need ftp access, or just in your admin editor under Appearance).  Then copy the code above, and paste at the bottom of the functions.php file.

The ‘$howdy’ part is really the only area that we need to be concerned with as its where you change the text that shows up in that area. Just change the [Profile/Logout,] part (minus the square brackets) to whatever you want it to say in the code. Many people just use ‘Welcome,’ instead of the Howdy part, but for when you need to be really straightforward with the users, i’d go with the basic ‘Profile/Logout’.  Be sure to leave the ‘%1$s’ part in there after the text you want, and before the apostrophe and bracket.

howdygone

Change the Hover Title

The part that says

'title' => __('My Account Info'),

is the popup that shows up when you hover over the menu, and you can change the text in those quotes to whatever you want as well.

Remove The Avatar

Finally, if your users don’t use avatars, you’ll just have the standard blank WordPress box there. So, if you want to quickly just get rid of that area, change this line

'title' => $howdy . $avatar,

to this:

'title' => $howdy,

and the little avatar is gone!

Canada gets Adwords Targeting via Postal Code

Google’s Adwords have been working hard to allow for very specific targeting recently. I’ve been impressed with the number of small Canadian towns that show up in it’s targeting settings, as I set up campaigns for local companies. To be even more specific, they now have added targeting by postal code to the type of targeting you can do.

Most people may not find this interesting, and may just think that ‘why not just target by city?’, but the real benefit of this is to partner PPC ads with physical admail. You know, those flyers, postcards, etc that you get in the mail? Those, if unaddressed, are normally sent out in groups based on postal codes. Most cities have known general demographic areas, where the majority of people living there are categorized together. For example, where I live in Brights Grove, is know to be a more ‘senior’ area. So marketing companies target certain postal codes with physical mailers.

Where the new targeting with adwords comes in, is that if I have a mailer going out that promotes a paintball company, and I’m targeting certain postal codes with my mailer, then it makes sense for me to keep the branding/messaging targeted to those people. If they see an ad online for a product/service/brand that they also just saw in the mail, then it strengthens the marketing.

I wouldn’t use this targeting for most campaigns, but when we are going for mail-based specific areas, then I really see this as an easy advantage for using Adwords.