DocsCapabilitiesschema:Action
schema:Action
Declares actions an agent could take from this page.
Why an agent cares
An Action with a usable target tells an agent what it can do here, not just what the page is about. Almost all of the installed base is boilerplate SearchAction from CMS defaults, so a hand-written Action is worth validating.
Adoption
Web baseline. Standard equipment on the web. Its absence is the exception rather than its presence. For this one in particular, ubiquitous as legacy search markup, barely used as an interface an agent can act on.
Direction of travel: ► flat, as at .
potentialAction sits on 10M+ domains, but that is mostly SearchAction boilerplate and no agent vendor has committed to consuming Action markup as an execution interface.
What we check
schemaActionPresent is true, so a site that has not adopted this is not assessed on it and appears in no report. 5 of these 5 can fail it. In a Lumar crawl these land on the page's own row.| Check | Severity | Raises | On whose authority |
|---|---|---|---|
schemaActionMissingTarget | high | usability | Schema.org profile |
schemaActionTargetMissingEntryPoint | high | usability | Schema.org profile |
schemaActionMissingQueryInput | medium | usability | Lumar readiness profile |
schemaActionUnknownType | medium | usability | Schema.org profile |
schemaActionUrlTemplateMissingPlaceholder | low | usability | Lumar readiness profile |
Examples
Both of these are fixtures the test suite runs through the real collector, not snippets written for a document: the first is a shape we score as valid, the second is one we flag.
<!-- schemaActionPresent + correct: WebSite with a valid SearchAction potentialAction
(target EntryPoint + query-input). -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"url": "https://example.com",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/search?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
</script><!-- schemaActionPresent: yes (potentialAction exists). schemaActionMissingTarget +
schemaActionMissingQueryInput: the SearchAction has no target/EntryPoint and no
query-input. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"url": "https://example.com",
"potentialAction": { "@type": "SearchAction" }
}
</script>Specifications
| Document | Revision | Kind |
|---|---|---|
| Schema.org Action | v30.0 | specification |
| Schema.org potentialAction | v30.0 | specification |
| Google Search: sitelinks searchbox (SERP feature retired Nov 2024; markup still valid) | living | vendor profile |
Last re-read against the published documents: .