Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

json_ld_schema_ui

75 sites Security covered
View on drupal.org

Usage

Bundle configuration

This module adds a schema configuration (vertical) tab to bundle configuration forms, for example at /admin/structure/types/manage/article or /admin/structure/block/block-content/manage/basic, which allows one or more schema types to be configured for entities of that bundle. For each bundle the set of properties that should be enabled can be selected and default values can be set for them. If the Token module is available, a token browser will be displayed to assist in the usage of entity-specific tokens for these default values. (Note that tokens will be replaced regardless of whether the Token module is installed or not.)

For schema properties that reference other schema types the (nested) properties of the referenced type can be enabled and configured just like any top-level properties. For example, for the Movie schema type, the actor property is a reference to the Person schema type, so that the name or, for example, the birthdate property of an actor associated with a movie can be specified along with other metadata about a movie.

In addition to the configuration in context of a specific bundle, the configurations for all bundles can be managed at Administration > Configuration > Search and metadata > Content Schema Settings (/admin/config/search/schemaorg/settings).

Entity configuration

For each bundle with one or more schema settings a field will be created to hold the per-entity schema configuration values.

The field comes with a widget that allows selecting one of the configured schema types and subsequently allows configuring the enabled schema properties. The fields for the properties will be prefilled with the respective default values that were configured for that schema type configuration.

The field provides a computed property which contains the token-replaced JSON-LD snippet. When the entity is rendered, a formatter will take that snippet and add it to the page head. This makes the it completely independent of the themed output of any particular entity.

Installation

Install this module like any other Drupal module. Because this module uses both the Ajax and the JavaScript states API in forms, the patch from the Drupal.org issue Display Bug when using #states (Forms API) with Ajax Request is required for the form to behave correctly.

Configuration

The module provides some basic configuration which can be managed at Administration > Configuration > Search and metadata > Content Schema Settings > Settings (/admin/config/search/schemaorg/settings). The default settings for the schema should be fine for most websites.

Note that the settings are currently not properly validated, so changing them can break the functionality of the module.

If the Select2 module is installed, you can optionally enable a Select2-based schema type configuration instead of the default hierarchical Ajax-based one.

Dependencies

This module depends on Entity API module, therefore it must be installed beforehand.

Activity

Total releases
3
First release
Feb 2025
Latest release
2 months ago
Release cadence
165 days
Stability
100% stable

Release Timeline

Releases

Version Type Release date
1.0.6 Stable Jan 19, 2026
1.0.5 Stable Mar 7, 2025
1.0.4 Stable Feb 24, 2025