loopress★ GitHub

compare

Loopress, next to what you use today.

Most WordPress devs already have a way to move changes between sites. Here is where each one fits, and where Loopress does something different.

What it does

Leaves the site layout as isACF field groups in GitMenus and options in GitDiff before you shipContent stays untouchedNo SSH
Loopressyesyesyesyes, per filealwaysyes
ACF Local JSONthe built-in optionyesyesnoin the theme's Git historyyesyes
WP Staging and Duplicatorstaging and migration pluginsyesnononoonly if you exclude tablesyes
WP Migratedatabase syncyesnononoonly if you exclude tablesyes
Roots Bedrocka project structurenononocode onlyyesTrellis needs it
VersionPressarchivedyesyesyesyesno, versioned tooyes

What Loopress doesn't do

Full site backupsClone or move a whole siteMove content, posts and mediaWordPress core version in code
Loopressnononono
ACF Local JSONthe built-in optionnononono
WP Staging and Duplicatorstaging and migration pluginsyesyesyesno
WP Migratedatabase syncdatabase exportyesyesno
Roots Bedrocka project structurenononoyes, via Composer
VersionPressarchivednonoversioned in Gitno

loopress moves configuration and code, nothing else. keep your backup and migration tools, they do a different job.

The short version

  • ACF Local JSON: ACF can already save field groups as JSON in your theme. If field groups are all you need in Git, that may be enough. Loopress starts where it stops.
  • WP Staging and Duplicator: Staging and migration plugins copy a whole site, database included. Loopress moves only the configuration and code you changed, and never the content.
  • WP Migrate: WP Migrate pushes and pulls databases between environments, with find and replace on URLs. Loopress moves configuration as files, one resource at a time.
  • Roots Bedrock: Bedrock restructures a WordPress project around Composer. Loopress leaves the site as it is and puts its configuration and code in Git.
  • VersionPress: VersionPress tried to put the whole database in Git, content included. Loopress takes the opposite constraint.