What is an “Action” in Schema?

What is an “Action” in Schema?

Most uses of schema markup for structured data explain physical “things” (to use the vocabulary of Schema) like a restaurant, a person, or a recipe.

However, there are other important webpage elements that are not physical things but are ways to take action with those things. Since 2014 (announcement), certain actions have been able to be marked up in structured data using Schema. These are simply called Actions.

Actions in Schema are a way to explicitly markup actions users have taken (or can take) such as commenting on an article or booking a reservation. They can refer to actions taken in the past or potential actions that could take place in the future.

what-is-action-schema

To understand Action Schema, it might help to think of a traditional sentence structure: noun – verb – object. In this framework, the Schema action would be the verb in the sentence while the noun and object would be things in Schema. In Schema, just like in grammar and life generally, actions are connected to things.

Let’s translate a simple English sentence into schema markup to illustrate further:
“Stanley watched an episode of Shark Tank on his iPhone with Jack in Denver.”
In Schema markup, this could be marked up to become structured data. Using the preferred JSON-LD method:

{
"@context": "http://schema.org",
"@type": "WatchAction",
"agent": {
   "@type": "Person",
   "name": "Stanley"
},
"object": {
"@type": "TvEpisode",
"name": "Shark Tank"
},
"participant": {
"@type": "Person",
"name": "Jack"
},
"location": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Denver",
"addressRegion": "CO"
}
},
"instrument": {
"@type": "Product",
"name": "iPhone"
}
}

Here is a more practical use case of Action schema on a website.

Let’s say that Michael was on an online forum and asked a question about orchid maintenance. This could be marked up by the Forum site with Schema in JSON-LD like the following: 

{
"@context": "http://schema.org",
"@type": "CreateAction",
"agent": {
"@type": "Person",
"name": "Michael"
},
"result": {
"@type": "Question",
"name": "How frequently do you water Orchids?",
"dateCreated": "2017-11-04T20:07Z",
“about”: “Orchids” }
}

The website could then markup this action along with actions of other forum posts. This would likely need to be done programmatically to be practical.

This structured data could then be used in several ways throughout the website (or other sites) such as to gather trends of post topics or create announcements for new posts fitting some criteria.

Furthermore, a social media network like Facebook could potentially pull in this structured data if that post is shared on its network to further explain what is being shared in the link.
While it doesn’t seem like action schema leads to rich results at this point, it still may be worth it to markup actions for SEO so that search engines have a better sense of what your webpage is about.

There are 14 main schemas for actions:

  • 1
    Achieve
  • 2
    Assess
  • 3
    Consume
  • 4
    Control
  • 5
    Create
  • 6
    Find
  • 7
    Interact
  • 8
    Move
  • 9
    Organize
  • 10
    Play
  • 11
    Search
  • 12
    Trade
  • 13
    Transfer
  • 14
    Update

Note, there are more specific actions under these categories. For example, Consume includes a WatchAction and ListenAction.

When filling out the properties for your Action schema, you can mark up all sorts of information about the action like its status, the instrument used to complete the action, or the time the action.

Common properties of actions include:

  • Agent: person or organization performing the action
  • startTime: start time of the action
  • endTime: end time of the action
  • instrument: thing used to complete action
  • location: location of action
  • object: thing the action was carried out on
  • description: description of the action
  • result: result of action

Potential Action

There is an action status for potential actions, if you want to markup actions that have not occurred yet but are possible. potentialAction is defined by schema.org as “an idealized action in which this thing would play an 'object' role”

EntryPoint

EntryPoint is often referenced in Action schemas. What is it? Typically, it is used to point to a link where the action gets started. It usually is a link to a site or a deep link into an app.

Conclusion

Action schema is a newer schema that was developed to markup into structured data actions that have been completed or can potentially be completed. There are many types of Action schemas to employ. While they don’t feed into rich results in search currently, Action schemas can further explain actions on your site and can be used by third-party sites. Visit http://schema.org/Action to see all the available action schemas.

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

We are sorry that this post was not useful for you!

Let us improve this post!

  • March 17, 2019
>