Skip to main content
drupalreleases
Release: Contact ajax 3.0.6 — Minor update available for module contact_ajax (3.0.6). Usage Milestone: SMTP Authentication Support — Module smtp crossed 1,000 active installs. Release: LocalGov Publications 1.2.0 — Minor update available for module localgov_publications (1.2.0). Release: ServiceM8 Webform Integration 1.2.3 — Minor update available for module servicem8_webform (1.2.3). Release: Content Packages 1.3.0 — Minor update available for module content_packages (1.3.0). Release: Synapse helper module 3.0.17 — Minor update available for module synhelper (3.0.17). Release: X-Frame-Options Allow-From webvisor.com 2.0.5 — Minor update available for module xframe_allow_webvisor (2.0.5). Release: Synapse helper module 3.0.15 — Minor update available for module synhelper (3.0.15). Release: Commerce ML Starter 2.0.9 — Minor update available for module cmlstarter (2.0.9). Module Revived: Paragraphs Previewer 8.x-1.10 — Module paragraphs_previewer updated after 30 months of inactivity (8.x-1.10).

Free schema

No security coverage
View on drupal.org

Free Schema.org lets editors build any Schema.org JSON-LD document for a single entity, such as a node, a taxonomy term or any other content entity with a canonical page. There is no fixed mapping between fields and Schema.org properties: the editor decides the type, the properties and how items nest.

When the field has a value, its tree becomes the only JSON-LD of the entity's page. Every other JSON-LD script added by Schema Metatag, custom modules or themes is removed from the page head, so search engines see exactly what the editor built.

Use cases

  • Landing pages or section hubs that need structured data (CollectionPage, ItemList, BreadcrumbList...) that no generic mapping can produce.
  • Taxonomy term pages that act as topic portals.
  • One-off pages where SEO teams need full control of the JSON-LD without code changes or a new Schema Metatag mapping.
  • Overriding, for a single page, the JSON-LD generated site-wide by other modules.

Features

  • Free Schema.org tree field type for any fieldable content entity bundle (content types, vocabularies...).
  • Schema.org tree editor widget:
    • Pick a @type, add properties and nest child items to any depth (up to 10 levels).
    • Reference other items with @id, e.g. "isPartOf": {"@id": "https://example.com/#website"}.
    • Suggests Schema.org types and properties, with their descriptions, from a bundled copy of the official vocabulary.
    • Imports existing JSON-LD, and shows the JSON it will print.
    • Works without JavaScript as a plain JSON textarea.
  • Tokens in any value: [node:title], [term:name], [node:url:absolute]...
    Tokens that resolve to an empty value are omitted from the output.
  • A repeated property becomes a JSON-LD array, and several trees on the same entity are printed as a single
    @graph.
  • Validation of the tree structure, types and property names on save.
  • Page head only formatter: the tree is never rendered in the page body.
  • Translatable: each entity translation can have its own tree, and tokens are replaced in the page language.
  • Cacheable: output varies with the entity and the tokens used.
  • Drush command to regenerate the bundled vocabulary from schema.org.

Example

A tree with a CollectionPage type, a name set to [node:title] and an isPartOf
reference prints:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "CollectionPage",
  "name": "Health",
  "url": "https://example.com/health",
  "isPartOf": {"@id": "https://example.com/#website"}
}
<script>

Post-installation

  1. Add a Free Schema.org tree field to a content type, vocabulary or any other fieldable bundle.
  2. On the form display, use the Schema.org tree editor widget. On the view display, use the Page head only (no visible
    output)
    formatter.
  3. Grant the Edit the free Schema.org tree of content permission to the roles that should edit it.
  4. Edit an entity, build the tree and save. Check the result with the Schema Markup
    Validator
    or Google's Rich Results Test.

Security note: the permission is restricted because the tree is printed verbatim in the page head and replaces any other structured data of the page. Only grant it to trusted roles.

Schema.org vocabulary

The editor suggestions come from data/vocabulary.json, generated from the official schema.org vocabulary. Only stable terms are kept: pending, attic and superseded terms are dropped. To regenerate it with a different depth of types below Thing:

drush free-schema:vocabulary --depth=3

Requirements

  • Drupal 10.2 or later, or Drupal 11.
  • Optional: Token, for the token browser in the editor and entity token types such as [term:name].

Similar projects

  • Schema.org Metatag maps fields to Schema.org properties through Metatag, with predefined types and properties. Free Schema.org works alongside it: on pages where the free tree is filled in, it replaces that output.
  • Schema.org Blueprints builds the content model itself from Schema.org types. Free Schema.org leaves your content model unchanged and only controls the JSON-LD of each page.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Oct 2026
Latest release
1 hour ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.0-alpha1 Pre-release 10–11 Oct 5, 2026