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
<PackageReference Include="Umbraco.Community.SchemeWeaver" Version="18.5.8" />
<PackageVersion Include="Umbraco.Community.SchemeWeaver" Version="18.5.8" />
<PackageReference Include="Umbraco.Community.SchemeWeaver" />
paket add Umbraco.Community.SchemeWeaver --version 18.5.8
#r "nuget: Umbraco.Community.SchemeWeaver, 18.5.8"
#:package Umbraco.Community.SchemeWeaver@18.5.8
#addin nuget:?package=Umbraco.Community.SchemeWeaver&version=18.5.8
#tool nuget:?package=Umbraco.Community.SchemeWeaver&version=18.5.8
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
inLanguagepopulation - Delivery API integration -- a dedicated, culture-aware
/json-ldendpoint 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
- Open any document type in Settings > Document Types
- Click the Schema.org tab
- Click Map to Schema.org and select a type (e.g. Product, Article, Event)
- Review the auto-suggested property mappings and click Save
- 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 | Versions 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. |
-
net10.0
- Schema.NET.Pending (>= 13.0.0)
- Umbraco.Cms (>= 18.0.0 && < 19.0.0)
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 |
Full changelog and documentation at https://github.com/EnjoyDigital/Umbraco.Community.Schemeweaver