Five Star Business Profile and Schema


Add schema structured data to any page and/or post type on your site. Also easily create a contact card to add all your business details with the correct structured data. Enhance your site with SEO friendly markup.

Key Features

  • Add JSON-LD schema to any or every page or post on your site
  • Support for all organization schema types
  • Support for all schema rich results types
  • Customize general/global schema data on the post edit screen
  • Create an SEO-friendly contact card that you can add via Gutenberg block or shortcode
  • Easily include a Google map, opening hours and all your business details
  • Add multiple locations
  • Test any page on your site using Google’s Rich Results Test

The plugin comes with a database of every organization type schema and every rich results type. With this you can easily create a new schema element and assign a specific structured data type to a page, an individual post, an entire post type, or to your site as a whole.

Each schema and rich results type comes with its corresponding properties/fields, as per When you add a schema element, you can fill in each of these properties with defaults that you want to apply to all posts/pages that have the schema. You can then customize each property directly on the post edit screen, should you need to make a change for a specific page or post.

Whether you’re running your website for a local business, a corporation, a restaurant, a specific project, a sports team, or any other type of organization, with just a few clicks, you can have the correct schema added to your pages, to help enhance your results in search engines!

Business Profile Contact Card

The Five Star Business Profile and Schema plugin is also perfect for adding your contact details to any page on your site. It comes with a handy form to help you fill in your info, which then gets automatically included on your site both as a contact card and as schema structured data, using the new JSON-LD format.

Includes Gutenberg schema block for displaying your contact details! You can also use the contact shortcode or widget to add in the structured data to your vcard. These allow you to display the following business contact info on any page:

  • Business name
  • Address
  • Phone number
  • Separate click-to-call phone number
  • Contact page link or email address
  • Link to Google Map with directions to your establishment
  • Google Map showing your location
  • Opening hours
  • Exceptions for opening hours, to specify days that are closed or have different hours (e.g. holidays)

For all of this information, the correct markup is added, in the new JSON-LD format. This helps search engines, like Google, discover your address, phone number and opening hours, so they can display them with your listing on Google.

Choose from a wide array of microdata item types for your business schema, including:

  • Corporation schema
  • Organization schema
  • Local Business schema
  • Restaurant schema
  • Many more!

Google Maps Structured Data

The integrated Google Maps features allow you to enhance your location structured data by displaying a business map on your site with full schema support. Your business location, including the business address, will be displayed on a map (with the correct map schema), as well as in text with the correct location microdata.

Multiple Locations

Business Profile supports multiple locations. This powerful feature works great for businesses that have several offices, for delivery services, for restaurants with multiple locations, etc. Business location schema is added to each entry and you can showcase your details using the Gutenberg schema block, via the location shortcode or with the included widget. For help getting started with this, you can visit:

The multiple location structured data for your business also syncs up with the Five Star Restaurant Reservations to automatically offer a dropdown in your reservation form, so people can pick which location they want to book at. You can choose separate organization schema, corporation schema or local business schema for each new location you create, so each schema shortcode and each page’s contact info is uniquely optimized with SEO and search results in mind.

Premium Schema Features

The premium version of the Five Star Business Profile and Schema plugin comes with several extra features that will help you set up and refine your structured data more quickly and more accurately.

These include a default helper functionality for your schema. This option adds a big list of default values to the plugin and allows you to easily populate each schema property with one of these values. No need to be familiar with all the different schema properties and types. Just choose the default you want from the included list and you’re off and running!

The premium version also includes new integrations that will help you automatically apply specific structured data to certain areas of your site. For example, the WooCommerce Integration option will automatically add full Product schema to your WooCommerce shop, helping to enhance the search results for your products.

There is also a posts integration option, which will automatically add Article rich snippets to the default Posts post type. This way, all your articles and blog posts can have the correct schema, without the need for manually inputting it each time you add a new post.

Key premium features include:

  • Schema default helpers, which let you choose defaults for all schema properties
  • Post rich snippets, to automatically add full Article markup to posts
  • WooCommerce Integration, to automatically add full Product structured data to your shop

This schema structured data and contact card plugin is one part of our suite of plugins designed to give you the best WordPress business and restaurant experience. Our plugins provide an intuitive and easy-to-use interface that make sure you don’t lose out on business to your competitors. For more info:

For help and support, please see:

  • Our FAQ page, here:
  • Our installation guide, here:
  • Our documentation and user guide, here:
  • The Restaurant Menu support forum, here:


This plugin is packed with templates and hooks so you can extend it as needed. Read the developer documentation.


  • Showing the JSON-LD schema output on a post page.
  • The schema create/edit screen.
  • Display a full contact card on the front-end with the shortcode [contact-card] or use the widget to add it to a sidebar.
  • An easy-to-use form lets you add all of the information, locate the correct map coordinates and set up your opening hours.
  • Choose what information to display with the widget, or check out the shortcode attributes in the help document included.
  • Optional multi-location support to easily display all of your locations.
  • Add a contact card to any page or post with the block.


This plugin provides 1 block.

  • Five Star Business Profile and Schema


  1. Upload the ‚business-profile‘ folder to the ‚/wp-content/plugins/‘ directory
  2. Activate the plugin through the ‚Plugins‘ menu in WordPress


  1. Go to the ‚Plugins‘ menu in WordPress and click ‚Add New‘
  2. Search for ‚Business Profile‘ and select ‚Install Now‘
  3. Activate the plugin when prompted

Getting Started

  1. To create a business profile with schema structured data:

    • Click on ‚Business Profile‘ in the WordPress admin sidebar menu. This will bring you to the page where you can create or edit your contact card
    • Choose a schema type and then file in the company contact info.
    • Set up a schedule/opening hours for your location.
    • Click Save Changes and it will automatically save your vcard business info.
  2. Adding your contact card and business profile to a page:

    • Gutenberg: Add a new block to your page and navigate to the Widgets block section. In there, you’ll see a block called Contact Card. Just add that to your page and your address and schema will show on that page.
    • Shortcode: Add the [contact-card] schema shortcode to any page and your business location and structured data will be added to that page.
  3. To add a map and schema to your business profile:

    • Go to the settings page and insert your Google Maps API Key.
    • This will insert your location with Google map schema.
  4. Enable multiple locations, each with unique business structured data.

    • Go to the settings page and check the box to enable multiple locations.
    • This will create a new menu item in your WordPress admin called Locations.
    • Click on Locations to add new and edit existing locations.
    • Now, each individual address will have its own unique business schema type and custom location structured data.
  5. Customize your location schema and business contact card by making use of the available options, found in the Settings area of the plugin admin.

For a list of specific features, see the Restaurant Menu description page here:

For help and support, please see:

  • Our FAQ page, here:
  • Our documentation and user guide, here:
  • The Restaurant Menu support forum, here:


Is there a shortcode to print the contact card?

Yes, you can use [contact-card]. The documentation includes all of the shortcode attributes.

It asks me for a Google Maps API Key but I don’t know what it is or how to get it.

Google now requires that you have your own API key to display a map on your website. The documentation includes a walkthrough to help you generate a Google Maps API key.

Google Maps shows my business in the wrong location

Unfortunately, in some cases Google is unable to find the right latitude and longitude to match your address.

In some cases, you may be able to get it to properly locate you by tweaking the address. Sometimes Google just needs a bit of help. Once you’ve got the right coordinates you can go back and restore your original address, and save the form without touching the coordinates again.

If you’re unable to get Google to recognize your location, the best thing to do is to leave the Google Map out when you print your contact card. You will also want to hide the Get Directions link, because Google will guide your customers to the wrong location.

There’s not much I can do about this, unfortunately. Even if you were able to manually set the latitude and longitude, Google would still show bad directions, because it uses the address, not the coordinates, for this feature.

What’s the Schema Type?

This allows you to let search engines like Google know exactly what kind of business you run.

That way, when someone looks for a real estate agent or a restaurant in your area, they’ll know to include you in their search results.

You may not find a type that’s a perfect match for your business. Choose the option that’s most appropriate for your business, and fall back to a more generic type, such as Local Business, if you need.

More questions

You’ll find more help in the User Guide. Developers interested in templates, filters and theme support can view the Developer Documentation.


14. junija 2021
We are a small local business called " Hesse Khob Cafe" in Ardabil, iran . Thank you for all the help this plugin has given us in these difficult COVID19 times, and I ask you not to align with politicians with the harsh sanctions against Iran and increase your services and support in Persian. Thank you again ما یک کسب و کار کوچک محلی، تحت عنوان کافی شاپ حس خوب در اردبیل ایران هستیم. از تمام کمک هایی که این افزونه در این شرایط سخت کرونایی کرده از شما متشکرم. خواهش میکنم در تحریم های ظالمانه علیه ایران با سیاستمداران همسو نشوید و بیشتر از زبان فارسی پشتیبانی کنید.
5. januara 2021
Does exactly what it says on the tin. Haven't used it enough to give it the full five stars it probably deserves.
Read all 47 reviews

Sobustatkujuce a wuwijarje

„Five Star Business Profile and Schema“ jo software wótwórjonego žrědła. Slědujuce luźe su pśinosowali k toś tomu tykacoju.


“Five Star Business Profile and Schema” has been translated into 3 locales. Thank you to the translators for their contributions.

Translate “Five Star Business Profile and Schema” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


2.1.5 (2021-09-30)

  • Updated the settings page library.
  • Updated name of templates folder for consistent prefixing.
  • Added an option so that, if you offer online ordering, you can enter the URL of your order page (can be on the same site or external) and a link to it will display in your contact card.
  • Past exceptions no longer show in the schedule/opening hours, and are now automatically removed when the options are saved.
  • Added „Image URL“ field to the list of elements on the schema create/edit screen for the Organization schema type.
  • Moved contact card block into its own category/section.

2.1.4 (2021-07-21)

  • The plugin has been tested up to WordPress version 5.8.

2.1.3 (2021-04-06)

  • Correcting an issue in which certain times were being output always in UTC and not using the timezone set in the WordPress general settings, which could create an offset in the time displayed for exceptions on the front end.
  • Updated the order in which the exceptions are displayed on the front end, so that it is chronological and not using the order from the admin.

2.1.2 (2021-03-08)

  • Update for the conditional enqueueing of assets in the admin.
  • Styling fix for the location create/edit screen when using the classic editor.

2.1.1 (2020-10-16)

  • Updating the time format of exceptions to use the format you specified in your WP settings, like with regular opening hours.
  • Updating the localization of exceptions (i.e. to make the month and day, etc. translatable).
  • Updating the shortcode to also hide the exceptions if you’re making use of the show_opening_hours attribute.
  • Correcting issue causing duplicate structured data in the new JSON-LD formatting.
  • Correcting issue causing times >= 12pm to sometimes show incorrectly in the JSON code.

2.1.0 (2020-10-13)

  • This is a relatively big update with several new features and corrections, etc., so please take caution and test before updating on a live site (or wait a few days before updating in case some minor corrective updates need to be released).
  • Switched the structured data generated by the contact card to the new JSON-LD format.
  • Added an option for a separate „click to call“ phone number, applicable both to the main settings and to specific locations.
  • Added a fallback functionality, so that, if you do not fill in a specific field (e.g. phone number) for an individual location, it will use what you set in the main settings.
  • Added an option to turn off the automatic insertion of the contact card on the specified contact page.
  • Added exceptions, so you now have the ability to have specific days that are either closed or have different hours (e.g. holidays), without having to alter your main schedule. Applicable both in the main settings and for specific locations.
  • Added a button to the admin bar with a link to test the current page in Google’s Rich Results Test.
  • Added in a German translation that was submitted to us.
  • Generated a new .pot file.

2.0.9 (2020-09-11)

  • Corrects recent issue causing the feedback notice to not dismiss correctly

2.0.8 (2020-08-12)

  • Fix for the initial walk-through and the chosen contact page not being populated
  • Fix for default values not being applied
  • Correcting/eliminating several PHP notices
  • CSS updates for the admin panel
  • Enhanced upgrade process

2.0.7 (2020-06-04)

  • Updating the admin dashboard area

2.0.6 (2020-04-30)

  • Styling updates for the scheduler on the location edit screen when multiple locations is enabled.

2.0.5 (2020-04-08)

  • Updating a few input fields to correct for possible minor XSS issues

2.0.4 (2020-03-27)

  • Added link/the ability to click to call to phone numbers in the contact card
  • Added all the Organization types from the schema functionality as options in the Schema Type setting for the contact card
  • Added a setup walk-through that runs on initial plugin activation
  • Corrected some styling issues for the metaboxes on the location post type edit screen
  • Updated some settings descriptions
  • Corrected warning that sometimes came up in the Dashboard area of the admin when this and another Five Star plugin were both installed

2.0.3 (2020-02-14)

  • Adds in a few more is_object checks to counter the command line interface installation not calling things in the correct order

2.0.2 (2020-02-04)

  • Adds in an „if exists“ check before checking the settings values

2.0.1 (2020-02-03)

  • Moving the multiple locations option back to the Basic settings page (it was accidentally moved to the premium section during the big update)

2.0.0 (2020-01-31)

  • This is a big update with many new features, corrections, revised admin styling, etc., so please take caution and test before updating on a live site (or wait a few days before updating in case some minor corrective updates need to be put out)
  • The Options pages have a brand new and easy-to-use design, to go hand in hand with the many, many new options!
  • Added in a new schemas functionality, to add structured data to any page or post
  • Added in WooCommerce integration for the schema functionality
  • Added in posts integration for the schema functionality
  • Added in default helpers for the schema functionality
  • Added in a walkthrough on installation to help you get going as quickly as possible
  • Added in defaults for several options
  • Added a Dashboard panel to the plugin admin
  • Updated the styling of certain default features to be consistent with new features
  • Other styling and ease-of-use changes
  • Updated the order, layout and descriptions of several options

1.2.8 (2019-12-03)

  • Moving screenshots out of main plugin folder and into assets.
  • Updating plugin icon and banner.

1.2.7 (2019-10-29)

  • Name change and new icon

1.2.6 (2019-04-04)

  • Fix: Version naming issue. Corrects the 1.2.5 release.

1.2.5 (2019-04-04)

  • Fix: error when adding a new location

1.2.4 (2019-03-18)

  • Fix: date and time picker error in Chrome in pickadate.js library

1.2.3 (2018-12-14)

  • Fix: fatal error in old versions of PHP (< 5.4)

1.2.2 (2018-12-12)

  • Fix: contact card block loads in editor without saved location

1.2.1 (2018-12-11)

  • Update: .pot file with new translation strings

1.2 (2018-12-11)

  • Add: gutenberg block for the contact card

1.1.5 (2018-09-26)

  • Fix: Address coordinate lookups need to be https:// and use api key

1.1.4 (2017-04-21)

  • Add: business image to comply with Google requirements

1.1.3 (2017-03-21)

  • Fix: Fatal error with location schedule metabox

1.1.2 (2017-03-14)

  • Fix: Don’t display contact card for unpublished locations
  • Fix: PHP Notice on post editing page (h/t @robneu)
  • Add: Italian and Swedish translations (h/t @lucspe and Daniel Schwitzkey)
  • Update: Always instantiate post type class
  • Update: Give settings table rows class attributes (h/t @lucspe)

1.1.1 (2016-06-28)

  • Add field for Google Maps API Key to follow new API guidelines

1.1 (2016-06-20)

  • Add: multi-location support
  • Add: filter to adjust available schema types
  • Add: templates for contact cards and opening hours
  • Add: helper functions for templating
  • Add: add_theme_support() args for disabling scripts, styles and append to content
  • Update: implement WP coding standards. h/t @robnue

1.0.9 (2016-02-12)

  • Fix: compatibility with wp-cli
  • Fix: allow short weekday names to be translated
  • Update: „get directions“ link now opens in a new window/tab
  • Update: widget now uses shortcode to print output
  • Update: remove deprecated sensor attribute from Google Maps api call
  • Add: make Google Maps objects and options available in global scope
  • Add: allow map options to be filtered
  • Add: javascript event triggered when map initialized

1.0.8 (2015-10-01)

  • Update: Simple Admin Pages lib to v2.0 (#27)
  • Fix: line breaks can disrupt get directions link in embedded map (#17)

1.0.7 (2015-10-01)

  • Add: show shortcode on business profile page
  • Add: obfuscate email address if displayed in contact details
  • Fix: compatibility problems when the Google Maps API is already loaded
  • New and updated translations: Dutch, Hebrew, Spanish (Colombia), Portugese, Spanish, Czech

1.0.6 (2015-04-03)

  • Fix: validation errors with address markup
  • Fix: validation errors with contactPoint markup

1.0.5 (2014-09-21)

  • Fix: restore lost option to show contact info in widget options when Restaurant Reservations is activated

1.0.4 (2014-09-11)

  • Fix: contact link/email doesn’t get shown.

1.0.3 (2014-09-04)

  • Fix: swapped desc/url meta values. h/t @thatryan

1.0.2 (2014-07-16)

  • Update Simple Admin Pages library to v2.0.a.7

1.0.1 (2014-07-16)

  • Fix character-case error and rename integrations file for better standardization

1.0 (2014-07-16)

  • Initial public release on
  • Add an option to display a link to a booking form if the Restaurant Reservations plugin is active
  • Fix: skip a scheduling rule if no weekdays are set. h/t @jasonhobbsllc

0.0.1 (2014-05-26)

  • Initial release