SiteCargo

Popis

WordPress full-site-editing structure — patterns, templates, template parts, global styles, and navigation — lives in the database. Moving some of it from staging to production today means either a full database sync (which is destructive to production-only data like orders, users, and form entries) or tedious manual copy-paste.

SiteCargo packs exactly what you choose into a portable, reviewable bundle and applies it to another site with stable identity, ID remapping, and media handling — never touching the data you didn’t select.

It is currently a WP-CLI tool (an admin user interface is on the roadmap).

How it works

  • Export the entity types you choose into a self-describing bundle (a folder containing a manifest, one JSON file per entity, and the referenced media).
  • Diff a bundle against a target site to preview exactly what would be created, updated, or left unchanged — without writing anything.
  • Apply the bundle to the target: standalone posts (patterns, navigation) are matched by a stable identifier so re-applying updates the same item instead of duplicating it; templates, parts, and global styles are matched by theme and slug. Numeric IDs baked into block markup (images, reusable-block and navigation references) are remapped to the target site, and referenced media is imported and de-duplicated by content hash.

Supported entity types

  • Patterns (wp_block)
  • Templates (wp_template)
  • Template parts (wp_template_part)
  • Global styles (wp_global_styles)
  • Navigation menus (wp_navigation)

Only templates/parts that have been customized in the database are exported; unedited theme-file templates already ship with the theme.

External services

This plugin does not connect to any external service, send any data off-site, or phone home. Bundles are plain files on your own server that you move between environments however you like.

Instalace

  1. Upload the sitecargo folder to the /wp-content/plugins/ directory, or install through the Plugins screen.
  2. Activate the plugin through the Plugins screen.
  3. Use WP-CLI to run commands, for example:

    wp sitecargo export –all –dir=my-bundle
    wp sitecargo diff –dir=my-bundle
    wp sitecargo apply –dir=my-bundle –yes

Exported bundles are always written inside wp-content/uploads/sitecargo/; --dir is the folder name, not an arbitrary filesystem path.

WP-CLI is required to use this plugin.

Nejčastější dotazy

Does this replace WP Migrate or a full database export?

No. SiteCargo is deliberately selective — it promotes specific structure and content and leaves everything else (orders, users, comments, options) untouched. Use a full migration tool when you genuinely want to overwrite a whole site.

Will applying a bundle create duplicates if I run it twice?

No. Applying is idempotent: patterns and navigation are matched by a stable identifier stored in post meta, and templates/parts/global styles are matched by theme and slug. A second apply updates the same items.

Does it move my media?

Yes. Referenced media is included in the bundle and imported into the target’s media library, de-duplicated by content hash, with the relevant block markup (IDs and URLs) rewritten to point at the target’s copy.

Is it safe to run on production?

Always run wp sitecargo diff first to preview changes, and keep a backup. This is early (alpha) software.

Recenze

Pro tento plugin nejsou žádné recenze.

Autoři

SiteCargo je otevřený software. Následující lidé přispěli k vývoji tohoto pluginu.

Spolupracovníci

Přeložte “SiteCargo” do svého jazyka.

Zajímá vás vývoj?

Prohledejte kód, podívejte se do SVN repozitáře, nebo se přihlaste k odběru protokolu vývoje pomocí RSS.

Přehled změn

0.1.2

  • Hardening: exported bundles are now always written inside wp-content/uploads/sitecargo/. --dir is treated as a folder name (path separators and .. traversal are stripped) and can no longer point writes at arbitrary locations on disk or the plugin folder.
  • diff/apply resolve a bare --dir name against uploads/sitecargo/, while still accepting a full path to a bundle copied from another environment.
  • Namespaced all PHP under the unique ItzmeKhokan\SiteCargo prefix to avoid conflicts with other plugins and themes.

0.1.1

  • Renamed the plugin to SiteCargo.
  • Exports now default to the uploads directory (wp-content/uploads/sitecargo/) instead of the working directory; --dir still overrides.

0.1.0

  • Initial release.
  • Export / diff / apply for patterns, templates, template parts, global styles, and navigation.
  • Stable cross-environment identity, block reference remapping, and content-hash media sideloading.
  • diff reports create / update / unchanged per entity.