Integrations
Transport works with any element and field out of the box for self-contained values, and adds dedicated handlers wherever a plugin embeds environment-local element IDs that must be made portable. Handlers are registered only when the host plugin is installed, so Transport never has a hard dependency on another plugin.
Supported plugins & field types
| Plugin / capability | Status | Notes |
|---|---|---|
| Craft core entries, categories, tags, users, assets, addresses, globals | ✅ Supported & tested | Built-in element handlers. |
| Matrix | ✅ Supported & tested | Nested entries serialized recursively. |
| Relations entries/assets/categories/tags/users | ✅ Supported & tested | IDs ↔ UIDs. |
| Asset files | ✅ Supported & tested | Real file bytes bundled and recreated in the target volume. (Craft re-encodes EXIF-oriented JPEGs on upload, so bytes may differ; image content is preserved.) |
| Verbb Hyper | ✅ Supported & tested | Element links (entry/category/asset/user/product/variant) made portable. |
| FreeLink (justinholtweb) | ✅ Supported & tested | Reads the relations-backed link target and rewrites it as a UID. |
| FreeNav (justinholtweb) | ✅ No handler needed | The field value is a menu handle (already portable). Migrating menu/node definitions is a separate concern, like sections. |
| Craft Commerce 5 products, variants | ✅ Supported & tested | Product type and variants (SKU, base price, dimensions, tax/shipping category, custom fields). Inventory levels, catalog pricing, and orders are out of scope. |
| Google Maps (doublesecretagency) | ✅ Supported & tested | Address field; strips environment-specific owner keys and keeps the address data. |
| SEOMatic (nystudio107) | ✅ Supported & tested | SeoSettings field rewrites SEO/OG/Twitter image asset IDs to portable UIDs and back. |
| Verbb Navigation | ✅ Supported & tested | Node elements migrate with their element links (→ UIDs), custom URLs, and nested structure; the nav is resolved by handle (it lives in Project Config). The Navigation field needs no handler (stores a nav handle). |
| Formie (verbb) | ✅ Supported & tested | Form definitions migrate via Formie’s own export/import; submissions migrate with their field values (form resolved by handle, imported first). Submission values that reference elements rely on the relevant field handler. |
| Solspace Calendar | ✅ Supported & tested | Events migrate with dates, recurrence rules (freq/interval/byDay/etc.), and author; the calendar is resolved by handle. Canonical events only (not expanded occurrences). |
| Neo (spicyweb) | ⚠️ Conditional, experimental | Block-based handler; not yet exercised against a live Neo install. |
| Super Table (verbb) | ⚠️ Conditional, experimental | Block-based handler; not yet exercised against a live Super Table install. |
What “no handler needed” means
If a field’s value is self-contained — text, numbers, dropdowns, dates, money, menu handles — it already migrates correctly through Transport’s generic field handler, which delegates to Craft’s own (de)serialization. Only fields that embed element references need a dedicated handler so those references can be rewritten as UIDs.
Adding your own
Any plugin not listed here can be supported without changing Transport. If a field’s value is self-contained it already works; only fields that embed element references need a custom handler. See the Extending guide to register element and field handlers.