SiteCargo

Àpèjúwe

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Ìtumọ̀ Yorùbá: ’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.

Ìgbéwọlẹ̀

  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 Ìtumọ̀ Yorùbá: –all Ìtumọ̀ Yorùbá: –dir=my-bundle
    wp sitecargo diff Ìtumọ̀ Yorùbá: –dir=my-bundle
    wp sitecargo apply Ìtumọ̀ Yorùbá: –dir=my-bundle Ìtumọ̀ Yorùbá: –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.

FAQ

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Ìtumọ̀ Yorùbá: ’s media library, de-duplicated by content hash, with the relevant block markup (IDs and URLs) rewritten to point at the targetÌtumọ̀ Yorùbá: ’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.

Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

Àwọn Olùkópa & Olùgbéejáde

“SiteCargo” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti ṣe ìkópa sí plugin yìí.

Àwọn Olùkópa

Túmọ̀ “SiteCargo” sí èdè rẹ.

Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

Ṣàwárí koodu, ṣàyẹ̀wò ibi ìpamọ́ SVN, tàbí ṣe àgbékalẹ̀ sí àkọsílẹ̀ ìdàgbàsókè nípasẹ̀ RSS.

Àkọsílẹ̀ àwọn àyípadà

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.