Umbraco.Community.SchemeWeaver 18.5.8

dotnet add package Umbraco.Community.SchemeWeaver --version 18.5.8
                    
NuGet\Install-Package Umbraco.Community.SchemeWeaver -Version 18.5.8
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Umbraco.Community.SchemeWeaver" Version="18.5.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Umbraco.Community.SchemeWeaver" Version="18.5.8" />
                    
Directory.Packages.props
<PackageReference Include="Umbraco.Community.SchemeWeaver" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Umbraco.Community.SchemeWeaver --version 18.5.8
                    
#r "nuget: Umbraco.Community.SchemeWeaver, 18.5.8"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Umbraco.Community.SchemeWeaver@18.5.8
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Umbraco.Community.SchemeWeaver&version=18.5.8
                    
Install as a Cake Addin
#tool nuget:?package=Umbraco.Community.SchemeWeaver&version=18.5.8
                    
Install as a Cake Tool

SchemeWeaver

Map Umbraco Content Types to Schema.org types and automatically generate JSON-LD structured data for your pages.

Features

  • The full Schema.org vocabulary -- every type in the Schema.NET.Pending library (~800), including pending types
  • Auto-mapping with confidence scores -- suggests property mappings using exact matching, synonym dictionaries, and substring matching
  • Seven source types -- pull values from the current node, a static value, the parent, an ancestor, a sibling, block content, or nested complex types
  • Transforms -- strip HTML, convert to absolute URL, or format dates before output
  • Content Type generation -- scaffold a new Umbraco document type from any Schema.org type
  • Language variants -- culture-aware JSON-LD generation for multi-language sites with automatic inLanguage population
  • Delivery API integration -- a dedicated, culture-aware /json-ld endpoint returns each page's JSON-LD for headless front-ends, cached with event-driven invalidation
  • Tag helper -- drop <scheme-weaver content="@Model" /> into any Razor template
  • Inherited schemas -- mark a mapping as inherited and it outputs on all descendant pages
  • BreadcrumbList -- automatically generated from the content's ancestor hierarchy
  • Rich Results validation -- the backoffice flags missing required/recommended properties against Google's structured-data rules

Requirements

  • Umbraco 17 & 18
  • .NET 10

Installation

dotnet add package Umbraco.Community.SchemeWeaver

No additional configuration needed. The package registers all services, creates its database tables on first run, and adds the backoffice UI automatically.

Umbraco 17 vs 18: Umbraco 18 made a binary-breaking change to IPublishedContent, so SchemeWeaver ships one stable build per major from the same source — 17.x for Umbraco 17 and 18.x for Umbraco 18, the same major-aligned scheme uSync uses. The install command above is identical for both; each build's mutually-exclusive Umbraco.Cms dependency range means NuGet auto-selects the one matching your Umbraco major (no --prerelease needed).

Quick Start

1. Add the tag helper

In your master layout (e.g. _Layout.cshtml):

@addTagHelper *, Umbraco.Community.SchemeWeaver

<head>
    ...
    <scheme-weaver content="@Model" />
</head>

2. Map your content types

  1. Open any document type in Settings > Document Types
  2. Click the Schema.org tab
  3. Click Map to Schema.org and select a type (e.g. Product, Article, Event)
  4. Review the auto-suggested property mappings and click Save
  5. Publish content -- JSON-LD appears in the page source

3. Headless / Delivery API

JSON-LD is served from a dedicated endpoint — fetch it and inject the strings as <script type="application/ld+json"> tags:

const response = await fetch(
  '/umbraco/delivery/api/v2/schemeweaver/json-ld/by-route?route=/my-blog-post',
  { headers: { 'Api-Key': process.env.UMBRACO_DELIVERY_API_KEY! } },
);
const { schemaOrg }: { schemaOrg: string[] } = await response.json();

Optional companions

  • uSync — sync schema mappings between environments: Umbraco.Community.SchemeWeaver.uSync
  • AI (Umbraco 17) — AI-powered mapping suggestions via Umbraco.AI: Umbraco.Community.SchemeWeaver.AI

Use it with an AI assistant (MCP)

SchemeWeaver also ships an MCP server plus a schemeweaver-map skill that let an AI assistant (Claude and others) reason semantically about the best Schema.org type for a content type, save the mapping, and verify the JSON-LD — usually a richer result than the name-matching auto-mapper. With Claude Code it's a two-command plugin install:

/plugin marketplace add EnjoyDigital/Umbraco.Community.Schemeweaver
/plugin install schemeweaver-mcp@schemeweaver

Then just ask: "Map my blogPost document type to Schema.org and validate it." See the MCP Server guide for details.

How it works

Each mapping connects one Umbraco Content Type to one Schema.org type. Within that mapping, individual property mappings define where each schema property gets its value:

Schema Property Source Value Description
headline property title Read from the current node
author static Jane Smith Hardcoded string value
datePublished property publishDate Formatted as ISO date
publisher parent organisationName Read from the parent node
mainEntity blockContent faqItems Built from BlockList items

Documentation

Full documentation, source code, and contribution guidelines at github.com/EnjoyDigital/Umbraco.Community.Schemeweaver.

Licence

MIT

Author

Oliver Picton / Enjoy Digital

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Umbraco.Community.SchemeWeaver:

Package Downloads
Umbraco.Community.SchemeWeaver.uSync

uSync addon for SchemeWeaver — syncs Schema.org mappings (including resolver config and dynamic root config) between Umbraco environments alongside the doc types they belong to.

Umbraco.Community.SchemeWeaver.AI

AI-powered schema mapping for SchemeWeaver using Umbraco.AI

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
18.5.8 44 7/4/2026
18.5.7 39 7/4/2026
18.5.6 47 7/2/2026
18.5.5 50 7/2/2026
18.5.4 43 7/2/2026
18.5.3 51 7/1/2026
18.5.2 84 6/30/2026
18.5.1 82 6/30/2026
18.5.0 101 6/30/2026
18.4.0 110 6/30/2026
17.10.8 45 7/4/2026
17.10.7 44 7/4/2026
17.10.6 47 7/2/2026
17.10.5 59 7/2/2026
17.10.4 50 7/2/2026
17.10.3 80 7/1/2026
17.10.2 78 6/30/2026
17.10.1 118 6/30/2026
17.10.0 105 6/30/2026
17.9.0 123 6/30/2026
Loading failed