How To: Structured Data for the WP Job Manager Plugin

The WP Job Manager Plugin creates Structured Data out of the box. However, as almost always, these are not complete. Googles Structured Data Test Tool complains about missing recommended fields:

  • addressLocality
  • addressRegion
  • streetAddress
  • postalCode
  • baseSalary
  • And maybe more.

This post describes how you can build your own using SNIP, the Structured Data Plugin for WordPress.

Continue reading

How to use stamped.io ratings in Structured Data with SNIP

A customer asked how he can use stamped.io review ratings for an AggregateRating for his WooCommerce products. Here is how it works:


As far as I know you need to use stamped.io’s WordPress Plugin. It fetches all the ratings from their API and buffers it into the WordPress post meta database table. SNIP can access this data.

First of all you need to follow the example on how to work with custom fields. The configuration of the AggregateRating schema is a little different.

You can use the following values:

  • ratingValue: Post meta field “stamped_io_product_reviews_new->rating”
  • bestRating: Direct Text Input “5”
  • reviewCount: Post meta field “stamped_io_product_reviews_new->count”
  • worstRating: Direct Text Input “1”

That’s it! Have fun! 😉

How to generate a BreadcrumbList Schema

A breadcrumb trail on a page indicates the page’s position in the site hierarchy. A user can navigate all the way up in the site hierarchy, one level at a time, by starting from the last breadcrumb in the breadcrumb list.

Google uses the BreadcrumbList Schema-Type to show it in search results. You can read more about that on Googles Reference Page. In this post I’ll show you how to generate a BreadcrumbList with SNIP – The Rich Snippets and Structured Data Plugin for WordPress.

Continue reading

How to install the Rich Snippets Plugin.

Installing the plugin is super easy. Just follow the steps below:

  1. Upload the rich-snippets-wordpress plugin folder to the /wp-content/plugins/ directory.
  2. Activate the Rich Snippets WordPress Plugin through the „Plugins“ menu in WordPress.
  3. Head to the „Rich Snippets“ menu that appears in your WordPress dashboard and click „Activation“. Enter your Envato purchase code end click the big blue „Let’s get started“ button.? If you don’t know where you can find your Envato purchase code, click here.
  4. Then click the „Global Snippets“ menu in your WordPress dashboard to manage global snippets.
  5. Or add your own snippets directly in your blog posts, pages or custom post types.

Quick start

Take the Structured Data Training. It’s free for all customers. It tells you every thing from:

  • What Structured Data is.
  • What Rich Snippets are.
  • How to use SNIP.

 

How to deactivate JSON+LD schema output of “The Events Calendar” plugin

Google and other search engines are working heavily on schema.org integration. In the past, a lot of theme and plugin authors have integrated schema.org in their plugins but could not keep up with the speed of changes. So what I see happens a lot is that plugin and theme authors do not update their code accordingly. This is the case with the The Events Calendar plugin, too. It is missing some fields search engines want to see.

Continue reading

How does the licensing work?

I’m a seller on Envato Market (CodeCanyon) so I’m bound to their license system. If you want to read more about their licensing, please go and read the information about the Standard License. They even have a FAQ page that should answer most of your questions as well.

The questions that I get most often are the following ones:

Do I need a a license for every single domain?

The short answer is yes. Even the extended license does not allow you to use it on multiple domains. As far as I know, Envato has no plans to changes this in the future.

Do I need multiple licenses if I’m on a multisite?

  • Yes, you need multiple licenses if every site on your multisite has its own domain name.
  • No, you don’t need multiple licenses if you’re using subfolders or subdomains for the multisites.

How to add @id field to a snippet

Since version 2.4.0 it’s now possible to add a customized @id-field to each global snippet. Just edit a global snippet and scroll down to the JSON+LD metabox as shown below.

WordPress Metabox with a field for the @id value of a snippet
Edit the @id value.

Normally, search engines expect an URL with a hashtag here. So you can add the {url} placeholder to replace it with the current page URL. For example, if the snippet get’s included into the page https://this-is-my.site/whatever/ and you define the @id value as {url}#product then the full @id value would be https://this-is-my.site/whatever/#product.

Is the plugin up-to-date?

A question that I get asked from to time to time is if the plugin gets updated regularly. The answer is yes! The plugin exists since 2011 and it seems that it’s not going anywhere soon! 😉

Continue reading

Is the plugin multisite-friendly?

Kind of. If you activate the plugin network-wide you have to setup each site separately. There is no “global schema page” that are included on all network-sites at once.

Do you offer a setup service?

Customers asked if I offer kind of a service to setup schema.org for them. Unfortunately I can’t do this at the moment as I want my energy to get into the improvement of the plugin itself. However I’m here for support questions and I’m very happy to assist you with any questions that might pop up.

Continue reading

What Schema Markup is supported?

This plugin allows you to add every single schema markup found on schema.org. Here is a complete list that shows all markups on one page.

Plus: the plugin allows you to add schemas from the hosted extensions that are not officially part of the main syntax. You can find a complete list on this page.

Here is a complete list, of schema classes / schema types the plugin:

Does the plugin add content to each website page?

The answer to this questions (obviously) is yes as we have to output readable structured data so that search engines can read it.

However the data that is outputted is not visible to the end user. It’s only readable by search engines.

If you would view the sourcecode of one of your pages, you would find lines starting with something that looks like this:

<script data-snippet_id="snip-59a6a8000b284" type="application/ld+json">...</scrtip>

The data that can be found between these lines is the actual structured data that is formatted in JSON+LD format.

What are Global Snippets?

Global Snippets are a beautiful thing. They allow you to add one rich snippet to many posts at once. But how does it work exactly?


How to create a global Rich Snippet

  1. When you activate the plugin you will see a new menu item under “snip” in your WordPress dashboard. It’s named “Global Snippets”.
  2. Just open it up and add a new Global Snippet.
  3. You will then be able to create a Rich Snipppets.
  4. When you’ve finished creating the snippet, you can choose where it should appear.
  5. For this scroll down to the “Position” metabox.
  6. There you can create a set of rules to determine which pages will use these schema.org syntax you’ve just created.

Are there any examples?

Yes there are!

If you have a fresh install:

  1. Go to “snip” in your WordPress dashboard and choose “Global Snippets”.
  2. A new admin notice will appear on top of the screen. It says “Hey Dude! The plugin can install some predefined global snippets for you!”.
  3. It also shows a button that says “Awesome! Install them please”.
  4. Click on this button.
  5. Here are your examples! 😉

If the snippets where installed previously and you want to create them again, do the following:

  1. Go to “snip” in your WordPress dashboard and choose “Settings”.
  2. Scroll down to the “Actions” part.
  3. Click the “Go for it” button where it says: “Reinstall predefined global snippets.”.
  4. You should then be redirected to the Global Snippets page and should see some new Global Snippets, like the “Article”.

How can I fill certain properties automatically?

Can I add another snippet to a post that has a global snippet?

Yes you can. Read more about this here: Can I use multiple snippets on one page?

How to tell search engines which of the snippets is the main snippet on a page

As you may know it’s possible to have multiple snippets on one page. However this may cause side effects. Especially if you’re using multiple snippets that can create a Rich Snippet on search results. Let’s say you have a blogpost that generates the following snippets:

  • WebPage
  • Review
  • Event

The Review- and the Event-Snippet can create a Rich Snippet on search results. But how do you tell search engines which one to show? Continue reading

Can the plugin be updated automatically?

Not really automatically but kind of. You still have to initiate the update in your dashboard but you can get the update right in your WordPress dashboard without manually download/upload the plugin files.

If activated, you should get notified by Envato via E-Mail if I push a new version. However you can get a) get the updates earlier and b) via your own WordPress dashboard. Here is how to do it:

How to activate automatic updates

If the plugin is not yet running or is not activated:

  1. Log-In to your WordPress dashboard
  2. Activate the snip plugin.
  3. Go to snip -> Activation.
  4. Enter your purchase code and click the big blue button.
  5. That’s it!

What if updates do not appear?

The plugin only checks for updates every two days. If you know that there is an update but WordPress does not notify you about the update, do the following:

  1. Log-In to your WordPress dashboard
  2. Go to Dashboard -> Updates.
  3. If the update still does not show up, hit the gray “Check again” button.
  4. That forces the plugin to check live for an update.
  5. After that the update should appear.

I get an error that the domain is tied to another host.

This error occurs due to the fact that CodeCanyon only sells licenses that are available for one domain only. If you’re trying to install the plugin on multiple domains you will get the following error on the second domain:

“It seems that this purchase code is tied to another host. Please buy a new license in order to use this plugin on another sites.”

A) I’m getting the error while updating.

If you get the error while updating, please try the following:

  1. Login-in to your WordPress Dashboard
  2. Go to snip -> Settings.
  3. Click the “Clear Cache” button.
  4. Go to snip -> Activation.
  5. Click the big blue “Let’s get started” button again.
  6. If you get an error here, please read B).
  7. Then go back to Dashboard -> Updates.
  8. Click the gray “Check again” button.
  9. If you still get an error, please read B).

B) I’m not using it on other domains

If you think you’re not using the domain on another host, please contact support.

C) I want to switch to another domain

Of course that’s possible, too. Follow these steps:

C1) If you still have access to the old site

  1. Log-in to the site where SNIP was originally activated (old site)
  2. Go to “snip / Structured Data” menu and click the “Support” sub-menu item.
  3. On the right hand side you’ll find a metabox with a button labeled “Deactivate license on this site”. Press this button.
  4. The plugin will then de-activate and de-register itself.
  5. After this, you can use the purchase code on the new site.

C2) If you don’t have access to the old site

Please contact support.

Can I use Yoast SEO title and description?

Yes, with the beginning of version 2.2.0 you can use the following three internal values (if Yoast SEO plugin is installed):

  • SEO title
  • SEO meta description
  • and the Primary Category

Internal Yoast SEO values in dropdown menu
Choose one of the following values provided by the Yoast SEO plugin.

Does the plugin support custom fields?

In general, yes but there are limitations. Some of the plugins out there (like AdvancedCustomFields) save their data into the wp_postmeta database table. From there you can use the saved data to include it into your snippets.

In versions lower than 2.10.0 this only works if the data is stored in plain text only. All you have to do is to select “Post meta field” for the field type and enter the name of the field into the textarea. The plugin will then try to load that data from the wp_postmeta database table.

Post Meta Value for Snippets
Use the “Post meta field” value from the dropdown.

Since version 2.10.0 and up it’s also possible to target data that is stored as an array or an object. Read more on how to work with custom fields here.