Help & Support Tutorials

Smartcrawl – Schema

Smartcrawl – Schema

3.6 Schema

Schema markup is code that you put on your website to help search engines return more informative results for users. SmartCrawl has full support for default schema types and makes it easy for you to let search engines know what your data means, not just what it says.

The settings you configure here will be included as JSON LD data into the head section that you can see when viewing a page’s source code. It would appear in a tag as follows:

Everything between the opening [{ and closing }] brackets in that tag would be the schema output resulting from your configuration here, and that’s what search engines will use to populate the rich snippets in results pages giving your visitors much more relevant information.

Before diving in below though, please take note of some important information about images in your schema:

  • For your company logo or profile image to appear in rich snippets, Google requires an image that is at least 112x112px.
  • Featured images should be at least 1200px wide, and article & product images should be at least 400px wide.
  • Images in your schema can be in any of the following formats: BMP, GIF, JPEG, PNG, WebP, or SVG.
  • All images should respect at least one of the following aspect ratios: 16×9, 4×3, or 1×1.

3.6.1 General

Website Details

This section enables you to specify the name and logo to use for your site in search results.

  • Website Name – Add the site name you would like to appear in the schema markup.
  • Website Logo – Specify the image to use for your website’s logo.

schema-general

Person or Organization

Personal Details

Here, you’ll want to specify whether your site represents a Person or an Organization. This information will be used in Google’s Knowledge Graph Card; the block you can see on the right side of the search results.

If you select Person, you’ll first fill out your personal information including your Name, Job Title, Bio and a Portrait Photo.

schema-person

Personal Brand

Enter a brand name if it is different from your personal name. Then add a brand logo to be used in Google search results and in the Knowledge Graph.

schema-person-brand

Personal contact

Finally, add your contact information to enhance search results. This includes your Phone Number and the page on your site where visitors can find your Contact form.

schema-person-contact

If you select Organization, you’ll first fill out your organization’s information including its Type, Name, Description and Logo.

schema-organization

Note that if you wish to use Local Business markup for your organization, you can do that by creating a Local Business schema type.

Then add your organization’s contact information including the Contact Type, Phone Number and the page where visitors can find your Contact form.

schema-organization-contact

Social Accounts

In the Social Accounts section, you’ll want to specify as many social accounts as you can so search engines can associate them with you or your business. Currently supported social accounts include Twitter, Facebook, Instagram, LinkedIn, Pinterest and YouTube.

Enable this option to include your site’s WordPress searchbox directly in the main result on search results pages so users can search your site right from there.

schema-sitelinks-search

Output Page

Select the page that should include your base person or organization schema. It is recommended that this be the page that most reflects information related to your brand/company.

schema-output

3.6.2 Advanced

This section of the schema settings enables you to configure several more advanced options for your markup.

Special Pages

Here, you can identify which pages are used on your site as the About page, the Contact page, as well as which navigation menu gives your visitors the most general overview of your website.

advanced special pages

Structured Data

Enable WpHeader and WpFooter – Enable this setting to add markup for the header and footer sections which contain general information about your website like the copyright year, site name, and site tagline.

Enable Comments – Enabling this setting will add comments that a page has received nested in the output markup using Comment as a value.

schema-advanced-structured-data

Default Image

Upload a fallback image here to use in any post that does not yet have a featured image, or where the featured image may be missing.

schema advanced default image

Author

Enable the Author URL and/or the Gravatar ImageObject options to include the post author and Gravatar URLs in the schema markup for every post.

schema-advanced-author

Archives

Here, you can disable any option in this section if you do not want schema markup to be included for any of the specified post types. You can also specify whether your site contains only blog posts or various types of content.

schema-advanced-archives

Media Objects

Select whether to include media objects in your schema markup or not.

  • AudioObject – Enable this option to include markup for any audio elements embedded in your posts or pages.
  • VideoObject – Enable this to include markup for any video elements included in your posts and pages. If you use YouTube videos on your site, you can connect directly to the YouTube API to fetch all the needed info automatically.

schema-advanced-media

Enabling the YouTube API

If you use YouTube videos on your site and want all the needed schema to be fetched automatically, you’ll need to create a Google project and enable the YouTube API in an app in that project.

To get that done, go to your Google Developers Console and click Create Project.

Create a project in Google developer console

Give your project a Name and click Create.

Name your Google project

Then go to APIs & Services > Dashboard.

Google APIs & Services Dashboard

Be sure you’re viewing the project you just created. Then click Enable APIs and Services.

Enable APIs and Services in Google project

Locate and select the YouTube Data API, then click the Enable button.

Enable YouTube Data API in Google project

Next, go to APIs & Services > OAuth Consent Screen.

OAuth Consent Screen in Google project

On that screen, select External as the User Type, and click Create.

Set Google project as external

That will direct you to the Edit App Registration screen. Enter a Name for your app and select the User support email address of the same Google account you’re currently logged-into Google with.

Enter name and email for Google app

Ignore the App Domain section on that screen, and scroll down to the Authorized Domains section.

Click the + Add Domain button and enter your site’s domain name (without the protocol or trailing slash).

Then enter a contact email address (can be the same as the one you selected above).

Click Save and Continue.

Enter domain and email for Google app

Ignore everything on the Scopes and Test Users screens, and just scroll down and click Save and Continue on both of those.

Then, on the final Summary screen, scroll down and click Back to Dashboard.

That will bring you back to the OAuth Consent Screen. Click the Publish App button there, then click Confirm in the modal that pops open.

Publish app in Google Console

Now that you’ve created your app, you just need to get the API Key you need to enter in SmartCrawl.

Go to APIs & Services > Credentials.

Google console APIs & Services Credentials

Click the Create Credentials button, then select API Key.

Create API key in Google project

Copy the API Key from the modal that pops open.

Copy API key from Google project

Paste that key in the Access Code field in the Connect with YouTube section of your SmartCrawl Schema settings. Then click the Authorize button.

Paste API key in SmartCrawl settings

You’ll see a notice pop up at the top of your screen to confirm that the API key is valid.

Valid API key entered in SmartCrawl

Finally, click Save Settings at the bottom of your SmartCrawl Schema settings screen to complete the setup.

Save settings in SmartCrawl

3.6.3 Types Builder

By default, SmartCrawl generates general markup on key WordPress pages. The Types Builder feature allows you to further tailor this to meet your needs and configure different schema types that you can apply to certain posts, pages, and taxonomies.

SmartCrawl’s Schema

The schema feature in SmartCrawl offers several tools to get you completely set up for search engines. Check out our blog on SmartCrawl’s Schema for a quick run-through of the feature. And see How to Use Advanced Features in SmartCrawl’s Schema Types Builder for some useful tips when building your schema types.

This is particularly helpful for customizing the information that is assigned to different types of content so that search engines can display that information in rich snippets.

The next few sections will guide you through the following concepts:

  • Add new schema type – Instructions on how to add a new schema type to the type builder.
  • Configure schema types – Information on how to configure your schema types and how to apply locations (conditions). This affects which schema types are assigned to your different kinds of content.
  • Types – A guide to the available properties for each schema type.
  • Mapping property values – How to map properties to custom post meta for directory-type sites, like jobs boards or recipe collections.

Add new schema type

You can add a new type by clicking Add New Type.

Select which type you want and click Continue.

Add new schema type in SmartCrawl

You can rename your new type to whatever will help you to distinguish it from your other schema types, or you can leave it as the default name and click Continue.


Depending on the schema type you are creating, you may be presented with the option to then select a subtype. You can skip this step to use the generic type instead.

Select subtype for new schema type in SmartCrawl

Then create and add at least one location rule for your schema type, and click + Add. More info on location rules can be found in Configure schema types below.

Add location rule to new schema type in SmartCrawl

Configure schema types

Once you have added schema types, you can configure them to suit your needs. You can easily go back and rename a schema type by clicking on the gear icon and selecting Rename, or you can duplicate a schema type for easier configuration of a new one by clicking Duplicate. You can also delete the schema type by clicking Delete.


If needed, you can Disable a schema type at any time without losing its configuration by toggling off the slider. Re-enable at any time by toggling it back on again.

Click the arrow to drop down the row and reveal the full set of available configuration options for each chosen schema type.


When configuring any schema type, you will need to determine the location of that type. This is essentially a set of conditions that you must set and any page, post, or taxonomy that matches the set of conditions will be assigned the information for that particular schema type.

schema type location

Each condition, except for Show Globally and Homepage, is made up of two parts. These two parts include two different dropdown menus. The first dropdown will select the general location of the condition and currently, the available options are:

  • Page
  • Post Type
  • Show Globally
  • Homepage
  • Post Author Role
  • Post
  • Post Category
  • Post Tag
  • Media
  • Page Template
  • Custom post types
  • Post format

first location for schema type

The custom post types will be visible as additional items when the relevant plugins are active. So if, for instance, your site has WooCommerce installed and active, your first dropdown will also include Product and Product Type in addition to the default options listed above.

Once you have selected your general location, you can refine the application by specifying the location within the category of whatever your first choice was. This is controlled by the second dropdown menu and is dependent on the first dropdown menu.

For each first dropdown (shown in bold), these are the corresponding second dropdowns:

  • Page – Search for a page by typing the name and selecting the correct page.
  • Post Type – Choose either Post, Page, or Media from the list.
  • Show Globally (only one dropdown menu) – This option does not have a corresponding second dropdown because the condition itself is applied globally on your site and does not require further specification.
  • Homepage (only one dropdown menu) – This option does not have a corresponding second dropdown menu because the condition itself only applies to the homepage and does not require any refinement.
  • Post Author Role – Select either the Administrator, Editor, Author, Contributor, or Subscriber role for this author condition.
  • Post – Search for a post by typing in the name and then select the particular post that you want the condition to include.
  • Post Category – Search for a post category by typing the name and choosing the category that you want.
  • Post Tag – Type the name of a post tag and select the tag that you want.
  • Media – Search for the specific media that you want for the condition.
  • Page Template – Choose the template that you want from the dropdown.
  • Product – Search for the desired product.
  • Product Type – Choose either a Variable, Simple, Grouped, or External Product.
  • Post format – Choose from among the available WordPress post formats.

In the example below, the Page condition has been used.

second location for schema type

An important thing to remember when creating your conditions is that they function with AND, OR and NOT logic. This means that conditions can be stacked to either work in union with each other, they can be made to overlap, and they can work as an inclusion or an exclusion.

Equal

By default, each condition stands as an inclusion to the schema type and is indicated by the equal sign; meaning that each added condition represents a case where the schema type will be applied. To change this to an exclusion, simply click on the equal sign to turn it into an unequal sign. When a condition is set to an exclusion (unequal sign), it means that the schema type will not be applied to that case.

equal sign for schema type location

AND

To add a new condition with AND logic, click AND.

add AND for schema type location

This means that the schema type will only be applied when all the conditions that have been added with AND logic are true. As an example, if you want to apply a schema type to posts in a specific post category but only to the ones that also include a specific tag, you could add a Post Category condition AND Post Tag as shown below.

AND condition example

All conditions that have been added with AND will appear together within the same section, which is separated by a horizontal line.

AND condition division

OR

To add a new rule with OR logic, click Add Rule (OR).

add OR rule for schema type

This will add a case for the schema type as an addition to any other conditions applied. For example, if you want the schema type to be applied to all content that falls under a certain category or that includes a specific tag, you can create a Post Category condition and a Post Tag condition separated by the Or condition, as shown below. Conditions that have been added with OR will be separated from each other with the word “Or”.

Or condition in schema locations

Delete

Remove conditions by hovering on the right-hand side of the row and clicking the red arrow.

delete condition for schema type location

Types

SmartCrawl includes support for the following schema types:

You can also generate a custom schema using the Custom Type.

New schema types

See our blog on New Schema Markup For SmartCrawl to get up to speed with the latest additions to Schema Types.

The different schema types are made up of a set of configurable properties. You can add and remove properties to suit your needs and customize the data assigned to each property. Each type will offer different property options. To delete properties, hover over the right-hand section of the property row and click the trashcan icon that appears.

delete property

This will trigger a confirmation modal to pop up. Click Delete to proceed or click Cancel to exit without deleting the property.

delete property confirmation

Made changes to your property that you want to revert? No problem, you can always click the Reset Properties button at the bottom of the panel which will return your property to its default setup. This would undo all changes that you have made in the property settings.

If you have deleted a property by mistake, you can easily re-add it, as well as add new properties, by clicking Add Property.

reset and add new properties

If any properties required by Google are not yet included in the configuration of any of your Schema Types, you’ll see the following alert at the top of the Schema screen. A yellow alert icon will also appear next to each type that is missing required properties.

Missing required properties notice

The missing required types will be highlighted with a blue asterisk (*) in the list of available properties for any Type when you click the + Add Property button, and the same notice as above will appear there as well.

Missing required properties notice

Article

When adding an Article type, you’ll have the option to select either a Blog Posting or News Article subtype. You can skip this step to use the generic Article type instead.

Select subtype for new Article type in SmartCrawl

The Article schema type is pre-configured so that you can easily adjust each property to meet your individual needs – no need to start from scratch. Most properties require both a source and a value, which will differ depending on the property type. What we mean by this is that properties like the Headline and Name will offer a text value option whereas the URL property will offer a permalink value field. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default properties are as follows:

  • Headline
  • Name
  • Description
  • URL
  • Thumbnail URL
  • Date Modified
  • Date Published
  • Author
  • Publisher
  • Images
  • Article Body
  • Alternative Headline

article properties

Note that you can have multiple Images properties; simply click the plus icon next to the trashcan icon when hovering over the row.

add new images property

Product

This schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The available properties are as follows:

  • Name
  • Description
  • SKU
  • Images
  • Brand or Organization
  • Reviews
  • Aggregate Rating
  • Offers or Aggregate Offer
  • GTIN
  • GTIN-8
  • GTIN-12
  • GTIN-13
  • GTIN-14
  • MPN

product properties

You can add multiple Images and Reviews properties; simply click the plus icon next to the trashcan icon when hovering over the row.

Add images or reviews properties to Product schema

The Brand property can be switched to an Organization property by clicking the arrows icon in its row. You also switch Offers to Aggregate Offer by clicking the arrows icon in its row.

Offers are typically associated with singular items/ products, whereas an Aggregate Offer can be used with variable products or when a single product has multiple offers associated with it. If we use price as an example, the Offers property would be associated with a product that shows only one price and the Aggregate Offer property would be associated with a product that shows multiple prices.

Switch property types in SmartCrawl Schema

HowTo

Deprecated results type

Please note that Google has deprecated the HowTo schema results type as of September 14, 2023 and it no longer appears in rich search results. While you can remove this structured data from your site, there’s no need to proactively do so. Structured data that’s not being used does not cause problems for Search, but also has no visible effects in Google Search. See this Google help article for details.

The HowTo schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default properties are as follows:

  • Name
  • Description
  • Total Time
  • Images
  • Supplies
  • Tools
  • Estimated Cost
  • Steps

schema-types-howto

Note that you can have multiple Images, Supplies, Tools, and Steps properties; simply click the plus icon next to the trashcan icon when hovering over the corresponding row.

schema-types-howto-images

Event

The Event schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default properties are as follows:

  • Name
  • Description
  • Start Date
  • End Date
  • Event Attendance Mode
  • Event Status
  • Images
  • Location
  • Organizer
  • Performers
  • Aggregate Offer

schema-types-event

Note that you can have multiple Images and Performers properties; simply click the plus icon next to the trashcan icon when hovering over the corresponding row.

schema-types-event-images

The Aggregate Offer can be switched to an Offers property by clicking Switch Type. See the Product schema type for more information on Aggregate Offer and Offers properties.

FAQPage

Modified results type

Please note that Google has modified the FAQPage schema results type as of August 8, 2023. Rich search results for this type will only be shown for well-known, authoritative government and health websites. For all other sites, this rich result will no longer be shown regularly. See this Google help article for details.

The FAQPage schema type offers a single property that requires both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default property is:

  • Questions

You can have multiple Questions properties; simply click the plus icon next to the trashcan icon when hovering over the row.

schema-types-faqpage

WooCommerce Product

The WooCommerce Product schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property.

Singular Schema

When a WooCommerce Product schema is used, it will replace the WooCommerce default schema to avoid duplicate product schema on the same product pages. This is to ensure that the Rich Results remain properly intact.

When adding a WooCommerce Product type, you’ll have the option to select either a Simple Product or Variable Product subtype. You can skip this step to use the generic WooCommerce Product type instead.

Select subtype for new WooCommerce Product type in SmartCrawl

The default properties are as follows:

  • Name
  • Description
  • SKU
  • Images
  • Brand or Organization
  • Reviews or WooCommerce Reviews
  • Aggregate Rating
  • Offers or Aggregate Offer
  • GTIN
  • GTIN-8
  • GTIN-12
  • GTIN-13
  • GTIN-14
  • MPN

wooproduct properties

You can add multiple Images, Reviews and Offers properties; simply click the plus icon next to the trashcan icon when hovering over the corresponding row.

Add images, reviews or offers properties to WooCommerce Product schema

By clicking the arrows icon in the corresponding row, Reviews can be switched to WooCommerce Reviews (which are repeated for each product review), Brand can be switched to Organization, and Offers can be switched to Aggregate Offer.

Switch property types in SmartCrawl Schema

See the Product schema type for more information on Aggregate Offer and Offers properties.

Local Business

When adding a Local Business schema type, you’ll have the opportunity to specify the kind of business you want to configure. Select the business subtype that most closely matches your business, or skip this step to use the generic type.

Select subtype for new Local Business schema type in SmartCrawl

As previously noted in the Add new schema type section of this document, many of the Local Business subtypes will have an additional step where you can further refine the business type. For example, the Food Establishment subtype will give you the opportunity to specify your business as any of the following (skip this step to use the generic type):

  • Bakery
  • Brewery
  • Distillery
  • Ice Cream Shop
  • Winery
  • Bar or Pub
  • Cafe or Coffee Shop
  • Fast Food Restaurant
  • Restaurant

Food Establishment schema subtypes

Note that when you create a Local Business type, a notice will pop up on your screen to remind you that you can easily duplicate it if you have a business with multiple locations and want to include schema for each location.

Notice about Duplicate type option

Once you have configured things for the first location, click the Duplicate option under the gear icon as noted in Configure schema types. Then edit the properties of the duplicate for the next location.

The Local Business schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default properties are as follows:

  • @id
  • Name
  • Logo
  • URL
  • Price Range
  • Telephone
  • Currencies Accepted
  • Payment Accepted
  • Address
  • Images
  • Aggregate Rating
  • Geo Coordinates
  • Opening Hours

Local Business schema default properties

Note that the @id property is a globally unique ID of the specific business location in the form of a URL. The ID should be stable and unchanging over time. Google Search treats the URL as an opaque string and it does not have to be a working link. If the business has multiple locations, make sure the @id is unique for each location.

Some Food Establishment subtypes, like Restaurant, will also include additional properties enabling you to further enhance the information users see when your business appears in their search results.

  • Accepts Reservations
  • Menu URL
  • Serves Cuisine

Local Business Restaurant schema additional properties

For Currencies Accepted and Payment Accepted sources, you can add multiple values by clicking in the corresponding fields and selecting the values needed.

Local Business schema payment and currency properties

You can have multiple Address, Images and Opening Hours properties; simply click the plus icon next to the trashcan icon when hovering over the corresponding row.

Local Business schema additional properties

If you wish to include Geo Coordinates for your local business type, you can get the needed coordinates easily by following the directions in this Google help article.

Local Business schema geo-coordinates properties

Recipe

The Recipe schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default properties are as follows:

  • Name
  • Date Published
  • Description
  • Recipe Category
  • Recipe Cuisine
  • Keywords
  • Prep Time
  • Cook Time
  • Total Time
  • Calories Per Serving
  • Recipe Yield
  • Images
  • Ingredients
  • Instructions
  • Author
  • Aggregate Rating
  • Reviews
  • Video

Recipe schema type default properties

Note that you can have multiple Images, Ingredients, Instructions, and Reviews properties; simply click the plus icon next to the trashcan icon when hovering over the corresponding row.

Recipe schema type default properties

You can switch Instructions to Instruction HowTo Steps and Author to Author Organization by clicking the arrows icon. You can switch back at any point by clicking the same arrows icon.

Recipe schema type default properties

Job Posting

The Job Posting schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default properties are as follows:

  • Title
  • Description
  • Date Posted
  • Valid Through
  • Employment Type
  • Job Location Type
  • Education Level
  • Month of Experience
  • Experience In Place Of Education
  • Hiring Organization
  • Job Locations
  • Applicant Location Requirements
  • Base Salary
  • Identifier

Job Posting schema type default properties

Note that you can have multiple Job Locations, and Applicant Location Requirements properties; simply click the plus icon next to the trashcan icon when hovering over the corresponding row.

Job Posting schema type default properties

Movie

The Movie schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default properties are as follows:

  • Name
  • Release Date
  • Images
  • Director

Note that you can have multiple Image properties; simply click the plus icon next to the trashcan icon when hovering over the corresponding row.

Movie schema type default properties

Course

The Course schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default properties are as follows:

  • Name
  • Description
  • Course Code
  • Number of Credits
  • Provider

Course schema type default properties

Book

The Book schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default properties are as follows:

  • @id
  • Name
  • URL
  • Authors
  • Same As
  • Editions

Note that the @id property is a globally unique ID for the book in URL format. It must be unique to your organization. The ID must be stable and not change over time. URL format is suggested though not required. It doesn’t have to be a working link. The domain used for the @id value must be owned by your organization.

You can have multiple Authors, Same As, and Editions properties; simply click the plus icon next to the trashcan icon when hovering over the corresponding row.

Book schema type default properties

Software Application

When adding a Software Application schema type, you’ll have the opportunity to specify the kind of application you want to configure. Select the application subtype that most closely matches your application, or skip this step to use the generic type.

Select subtype for Software Application schema type in SmartCrawl

The Software Application schema type offers a set of properties that require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property. The default properties are as follows:

  • Name
  • Description
  • URL
  • Application Category
  • Operating System
  • Screenshots
  • Price
  • Aggregate Rating
  • Reviews

Software Application schema type default properties

Note that you can have multiple Screenshots and Reviews properties; simply click the plus icon next to the trashcan icon when hovering over the corresponding row.

Software Application schema type default properties

Custom Type

Building Your Own Schema Type

For a quick and easy guide to creating your own custom schema, see How to Use SmartCrawl’s Free Custom Schema Type Builder on the blog.

This schema type enables you to build your own custom schema and add custom properties. The set of properties that you add require both a source and a value. The source refers to the general location of the data and the value refers to the specific piece of information that will be assigned to that property.

Once you have added the custom type, you will see the @type property. In the corresponding Value field, enter the name of the schema type you are building—for example, JobPosting. You can find a list of all valid schema types here.

Add the schema type value

To add a property, click the Add Property button. You can choose between SimpleNested, or Collection property structures.

Simple Structure

When adding a Simple property, enter the property name in the Property field, add a descriptive name for it in the Label field, then click the Add button. For example, if we want to add the employer overview property, the Property field value will be employerOverview, and the label will be Employer Overview.

Adding a simple property

IMPORTANT

Make sure to add a valid schema property name in the property field for the schema to work correctly. You can find all schema property names on schema.org.

We also highly recommend checking Google’s structured data documentation to see which properties are required and which are recommended.

Nested Structure

The Nested property structure allows you to add a main property that groups related properties together. For example, the JobPosting baseSalary property groups the currency, maxValue, and minValue properties.

When adding a nested property, enter the property name in the Property field, add a descriptive name for it in the Label field, enter its schema type in the Type field, then click the Add button.

Adding a nested property

To add a nested property, click the Add Property button under the main property that you created.

Adding a child property

In the Add Property modal window, enter the property name and label, then click the Add button.

Adding child property name and label

This is how the nested property will look like in your custom schema.
Nested property in custom schema

Repeat the same steps to add more properties to your custom schema. Note that the nested property can have a nested or collection structure.

Collection Structure

The Collection structure is similar to the Nested structure. The only difference is that the Collection structure allows you to add multiple instances of the property. For example, you can add review as the main property that nests the itemReviewed, reviewBody, and reviewRating properties. You can have multiple Review properties by clicking the plus icon next to the trashcan icon when hovering over the row.

Duplicating a collection property

Once you are done adding the properties, make sure to set each property’s Source and Value.

Setting the properties source and value fields

Remember to click Save Settings when you’re done.

Adding Image Properties

When adding an image property to a custom schema type, you have many options to use as the source. Among them, you’ll find Custom Image and Custom Image URL.

Both options would add the same image data to all instances of your custom schema type as both require you to upload a single image as the value. However, they do not output the same data.

If you need only the image URL in your schema output, select Custom Image URL as the source. Even though you upload an image, only the image URL will be included in the schema.

You can also use the Custom Text option for this, and simply enter the URL of the image you want to use.

See under the Structure tab in Example 1 here: https://schema.org/image#eg-0011

If you want all image data, including EXIF, to appear in the image schema output, select Custom Image instead. See under the Structure tab in Example 2 here: https://schema.org/ImageObject#eg-0404

Note that if the Location of your custom type is a Post Type, and you want the data of the featured image attached to each post to be included in your schema output, you would select Post Data as the source. Then use either the Featured Image or Featured Image URL options as the value. The differences in their output is similar to the above, but would include data for the image attached to each post in the schema output.

Mapping Property Values to Custom Post Meta

Regardless of the schema type, most properties that you add will require both a source and a value that is mapped to that source. Both of those have defaults, but they can be customized per your specific needs by mapping the values to any available post meta data.

Jobs directory example

As an example, let’s say you’re creating a Jobs Directory with offers from various employers using the built-in Job Posting schema type.

Job Posting schema properties

The numerous properties included in this type can be left as they are if you’re only posting a single job offer on your site; simply select or enter the property value needed for each source.

But if you’re creating a directory, then you’d want to automatically pull that data from the individual job postings, so each one will have distinct schema values.

Every property in every schema type has the option to use Post Meta as the source for any value. You can select the meta key of any existing post meta, or create your own custom fields and map the values to those field keys.

The image below illustrates an example where custom fields have been created using the popular Advanced Custom Fields plugin, and assigned to a Job custom post type.

Custom fields created for Job Posting schema

The Job Posting schema type properties are then mapped using Post Meta as the sources, and the names of the ACF custom fields as the values.

Custom fields in post meta for Job Posting schema

Those fields are then available in each Job posting where the post author enters the relevant information.

Custom fields in post for Job Posting schema

Once the job posting is published, the custom values entered for the property sources can be verified by clicking the Test Schema button on the published post.

Rich results for Job Posting schema

Cooking site example

Another example could be a cooking site where each recipe has several ingredients and preparation steps.

You cannot simply list all the ingredients or steps as comma-separated strings in single custom fields, and map them to single Ingredients or Instructions properties. Doing that would output the whole string as a single value, and it would not pass the Rich Results test.

So, as above, you would create as many custom fields as needed for each ingredient or preparation step, and assign those custom fields to the post-type being used for your recipes. They could be named simply ingredient-1, ingredient-2, ingredient-3, step-1, step-2, step-3, and so on. Go ahead and create more custom fields than you might need for any one recipe; any empty values will simply not appear in rich results.

Then add the same number of property instances as you have custom fields, and map each instance to a specific custom field.

Custom fields in post meta for Recipe schema

Then when a recipe post is authored, the ingredients and steps are entered into the respective custom fields in the post, and the corresponding values for each would appear in the schema as distinct properties & values.

Rich results for Recipe schema

3.6.4 Settings (Schema)

Test Schema

SmartCrawl has a handy button in the adminbar on all frontend pages so you can easily test the schema output of any page using Google’s test tools.

SmartCrawl Test Schema button enabled

You can disable this option if you don’t want or don’t need that tool.

Enable test button in SmartCrawl Schema options

Deactivate

If, for any reason, you do not wish to include any schema markup in any of your site’s content, click this button to deactivate the feature and remove it entirely.

schema-advanced-deactivate

3.6.5 Video Schema

This chapter provides guidance to help ensure self-hosted videos embedded in your content include all VideoObject schema and pass Google’s Rich Results Test.

You’ll first want to ensure that you’re using the Gutenberg video block to add your videos, and not the old video embed shortcode used in the Classic Editor. All you need to add for each video is a description and a poster image.

Add a Poster Image

When you click on the video block in the editor, you’ll see an option to add a poster image. Simply click on the button under Poster image and upload or select the image you want to use.

Add a poster image to an embedded video

Add a Description

To get a description added to your video, you’ll first want to add a caption to it. You can add the caption directly in the editor when embedding the video if you want it to also display under the video on your page. Or click the Edit link for the video in your media library and add the caption there instead if you don’t necessarily want it to show on the frontend.

Adding a caption to a video in the media library

Then you just need to tell SmartCrawl to use the video caption for the description.

Go to SmartCrawl > Title & Meta > Post Types > Media. In the field for the Description, enter just the following macro: %%caption%%

Now when you check source code for your page, you’ll see all the VideoObject schema for your embedded video, including the description and poster image you just added, and can double-check that it passes Google’s Rich Results Test.

Video schema in Google Rich Results Test

Still Using the Classic Editor?

If you are still using the Classic Editor on your site, you can always use Gutenberg’s wp-block-video code when editing your post in Text mode. That block looks like this:

<figure class="wp-block-video"><video controls poster="https://yoursite.tld/wp-content/uploads/path-to-your-poster-image.png" src="https://yoursite.tld/wp-content/uploads/path-to-your-video.mp4"></video></figure>

Replace the URL for the poster attribute with the full URL to the image you want to use as the video poster image.

Replace the src URL with the full URL to your video from your media library.