t1 Schema releases
Schema.org JSON-LD for WordPress with granular control — global schemas, conditional rules, and per-page overrides.
by teil1 development · github.com/teil1-com/t1-schema · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/teil1-com/t1-schema/releases/download/v2.2.2/t1-schema-2.2.2.zipReadme
t1 Schema
Schema.org JSON-LD markup for WordPress with granular control, built around three layers: site-wide Global Schemas, conditional Schema Rules, and per-page Local Overrides.
This repository contains the complete, unminified source for the plugin, including the React admin interface. The distributed plugin ships a compiled bundle; everything needed to reproduce that bundle from source is here.
- Requires: WordPress 6.0+, PHP 8.0+
- License: GPLv2 or later
Repository layout
| Path | Contents |
|---|---|
t1-schema.php |
Plugin bootstrap, constants, and hook registration |
includes/ |
PHP classes (admin, REST API, frontend rendering, WP-CLI, schema registry) |
admin/ |
React admin interface source, built with Vite |
assets/ |
Compiled JS/CSS output — generated, do not edit by hand |
data/ |
Schema.org type definitions as JSON |
bin/build-zip.sh |
Produces the WordPress-ready distribution zip |
Building from source
The admin interface is a React application compiled by Vite. Node.js 18 or newer is required.
cd admin
npm ci
npm run build
This reads admin/vite.config.js and writes the compiled bundle plus a manifest into assets/ at the repository root. The PHP side resolves hashed filenames through assets/manifest.json, so the admin screen will not load until a build has been run at least once.
Development
cd admin
npm run dev
Vite serves the app on http://localhost:5173 with hot module replacement. Define SCRIPT_DEBUG as true in your wp-config.php and the plugin will load from the dev server instead of the compiled bundle.
Tests
cd admin
npm test
Building the distribution zip
./bin/build-zip.sh
The script builds the admin assets, stages the plugin using the exclusion list in .distignore, and writes dist/t1-schema-{version}.zip. The version is read from the Version: header in t1-schema.php.
The resulting zip deliberately omits admin/, bin/, and other development files. That is why the published plugin contains only compiled JavaScript — the corresponding source is the admin/ directory in this repository, at the tag matching the released version.
Releases
Pushing a v* tag triggers .github/workflows/release.yml, which runs the build script and attaches the zip to a GitHub Release.
git tag v2.0.0
git push origin v2.0.0
WP-CLI
wp t1-schema doctor # Environment and conflict diagnostics
wp t1-schema render <post> # Print the JSON-LD graph for a post
wp t1-schema coverage # Audit schema coverage across the site
wp t1-schema export|import # Move schemas between installs
Run wp help t1-schema for the full command list.
Read the full README on GitHub →