Popis
Easy Staging Migration by Gami gives WordPress sites a practical staging and backup workflow:
- Create a staging copy from production.
- Migrate a development or local WordPress backup into staging when the work starts outside production.
- Review updates, design changes, plugin changes, or content edits on staging.
- Keep backups available before important work.
- Use release previews to understand what would change, then publish reviewed staging changes when ready.
The plugin runs without an account or remote service. It handles production-to-staging sync, development-to-staging migration, backups, scheduled backups, imports, exports, dry-runs, staging-to-production publishing, and safety checks.
View screenshots:
https://wp-simple-staging.gami.jp/en#screenshots
Watch a short walkthrough video:
https://wp-simple-staging.gami.jp/en#demo
Included features
- One-button production-to-staging sync.
- Development, local, or test-site backup import into staging.
- Protected staging directories with Basic Auth, noindex rules, robots.txt, and staging-only safety guards.
- Complete manual backups before important work.
- Scheduled backups through WP-Cron.
- Backup restore, download, delete, and keep actions.
- Separate Migration menu for backup import and export workflows.
- Migration export that creates a backup-compatible file and starts its download automatically when ready.
- PUSH menu for plugin, core, and full-site release presets.
- Dry-runs and live release operations for files, database tables, plugins, core files, and full-site release scope.
- A simple difference review that lets you keep the production or staging version of each changed post, page, category, tag, or term before a target is replaced.
- Advanced mode for scoped file and database previews or releases.
- Progress indicators for long-running Get and release actions.
- Operation locks and preflight checks.
- WP-CLI commands for large jobs.
- Support diagnostics that are sent only when an administrator chooses to send them or enables automatic error reports.
Advanced mode
Most sites can use GET, PUSH, Migration, and Backup. Advanced settings provide selected file and database table previews, high-risk table warnings, and operation locks for long-running jobs. Release actions are previews by default. Live production releases require a backup confirmation, a confirmation checkbox, and a typed phrase.
Difference review
Before a GET refresh or production publishing workflow overwrites a target, the plugin can show posts, pages, categories, tags, and terms that changed on the target since the last sync.
The review is intentionally simple. Each changed item gets one choice: keep the production version or keep the staging version. There are no separate choices for individual fields. Metadata-only changes, such as a post’s sticky state, are detected as part of the same item-level choice.
Full-table and plugin-specific data can still be broad in scope, so keep backups available before release work.
Staging-created sites
On a site created as staging, GET and PUSH stay visible but cannot be run. Run those operations from the production WordPress admin. Migration import and export, backup creation and history, scheduled backups, restore and delete, and support diagnostics remain available on staging.
Backups
Create complete backups before important work, restore or download them, protect selected backups from retention cleanup, and configure scheduled backups. Use Migration to move backup files between environments. Managed backups are local and do not replace host-level or off-server backups.
Full Site PUSH safety
- Release safety database backups are rolling per-table backups. Each table is copied and verified individually; this is not a single point-in-time snapshot of the entire database.
- Each production table is switched with an atomic
RENAME, and the table that existed immediately before that switch is retained as a rollback table. - Full Site PUSH is destructive. Pause orders, form submissions, post updates, and other writes, then run it during a maintenance window. A concurrent write can be overwritten by staging data and may exist only in the retained rollback table; zero-downtime and zero data loss are not guaranteed.
Privacy
Easy Staging Migration by Gami stores plugin settings, operation history, and managed backup metadata locally in WordPress. Managed backups are stored on the server and can contain site files and database tables selected by an administrator.
Support reports are not sent by default. When an administrator sends a report or enables automatic error reports, safe diagnostics can be sent to the configured support recipient. The plugin is designed to exclude secrets and table contents from those diagnostics.
Snímky obrazovky




Instalace
- Install „Easy Staging Migration by Gami“ from the WordPress plugin directory, or upload the plugin ZIP in the WordPress admin.
- Activate the plugin.
- Open Easy Staging Migration by Gami from the WordPress admin menu.
- Review the staging URL, staging path, database mode, and table prefix.
- Click Get: Production -> Staging and confirm the staging update.
- To migrate work from a development or local site, import the backup into staging and review the result there.
- Review the staging site.
- Use release previews before publishing staging changes to production.
Nejčastější dotazy
-
Does the plugin require an account?
-
No. The WordPress.org plugin works without an account or external service registration.
-
What is included in the WordPress.org plugin?
-
You can create and refresh staging, migrate a development or local backup into staging, protect the staging site, create complete backups, schedule backups, import backups, restore backups, run release dry-runs, and publish reviewed staging changes to production.
-
Does the plugin overwrite production?
-
Only when an administrator explicitly runs a live release. Release actions are previews by default, and live production writes require confirmation checkboxes and a typed phrase.
-
Can I review content differences before an overwrite?
-
Yes. Before GET refreshes and publishing workflows, the plugin can list posts, pages, categories, tags, and terms that changed on the target since the last sync. For each item, choose whether to keep the production version or the staging version.
-
Is staging-to-production publishing included?
-
Yes. Administrators can review post, page, and taxonomy differences before publishing staging changes to production. Advanced release presets still require previews and live-release confirmations.
-
What can I do on a site created as staging?
-
GET and PUSH stay visible but cannot run. Migration import and export, backup creation and history, scheduled backups, restore and delete, and support diagnostics remain available.
-
Can visitors or search engines access staging sites?
-
Staging directories are protected by Basic Auth by default on Apache-compatible servers and receive noindex headers and robots.txt rules. Servers that do not honor
.htaccessmay need matching server-level rules. -
Does this replace host-level backups?
-
No. The plugin creates managed local backups for rollback support, but host-level or off-server backups are still recommended before important production releases.
-
Does the plugin send telemetry?
-
No telemetry is sent by default. Support reports are sent only when an administrator sends one manually or explicitly enables automatic error reports. Reports are designed to exclude passwords, salts, API keys, database passwords, Basic Auth passwords, user lists, and table contents.
Recenze
Pro tento plugin nejsou žádné recenze.
Autoři
Easy Staging Migration by Gami je otevřený software. Následující lidé přispěli k vývoji tohoto pluginu.
SpolupracovníciPřeložte “Easy Staging Migration by Gami” 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.8.19
- Lowers the minimum required PHP version from 7.4 to 7.0 after the PHP files passed PHP 7.0 syntax and compatibility checks.
0.8.18
- Fixes an interrupted Get that could repeatedly redirect to review and never finish.
- Keeps multi-request Get progress notices, the plugin’s own Live Push license and operation state, and known transient and session-cache prefixes out of the source database snapshot, so large or resource-limited Get operations do not review these runtime updates as external changes or copy them to staging.
- Safely completes or rolls back partial staging database work before starting a new review.
- Preserves existing staging tables and foreign-key relationships unless their pre-Get absence is proven.
- Blocks changed file-copy settings after an interrupted Get may already have modified staging files, with regression coverage for recovery paths.
- Stops PUSH for review if a queued or active production directory changes while stale files are being removed, preventing files added after that directory was queued from being deleted as missing from staging.
- Resumes large file copies and cross-filesystem installation from persisted, bounded exact-comparison checkpoints, and finalizes an already-installed target without requiring the staging source to remain present.
- Authenticates disk-backed PUSH deletion plans and queues, revalidates file and directory identities immediately before removal, bounds malformed record reads, and preserves entries created after planning.
- Stops resumable PUSH for review when production content changes between database requests, before the next table replacement starts.
- Writes production URLs, core settings, production-only active plugins, and protected runtime options into the replacement options table before a resumable PUSH swap, so Live Push can resume in the production context even if PHP stops immediately after the swap.
- Creates and revalidates a rolling per-table release safety backup before production writes, retains the pre-switch production table at each atomic database cutover, and documents the maintenance window required for destructive Full Site PUSH operations.
- Exports large databases with stable-key keyset pagination, using an owned immutable spool for tables without a safe unique key so duplicate and keyless rows resume safely; resumable Get and Push database transfers use the same keyset cursors and spools, old pagination checkpoints restart without retaining partial SQL, and tests cover 100,001 rows, composite keys, duplicate keyless rows, binary NUL, unsigned BIGINT, and interruption/resume.
- Renders all retained array-form Backup History records instead of stopping after 12 entries, keeps actionable entries ahead of historical entries, and excludes corrupt scalar-form values from display, with retention still configurable from 1 to 500 and defaulting to 100.
- Raises Import’s default ZIP compression-ratio threshold from 1000 to 1100 so valid zero-filled Deflate streams near 1030:1 are not falsely rejected, while entry-count, expanded-size, per-entry and aggregate compression-ratio, free-space, metadata, duplicate-path, byte-count, and path-traversal checks all remain in force.
- Expands Full Site PUSH protection from orders and subscriptions to implemented booking, appointment, and EDD post types, preserving implemented production stock, rating, review-count, sales, and coupon-usage metadata plus related comments, and widening high-risk matching for WCS, EDD, and booking/appointment/reservation tables.
- Synchronizes the plugin-managed portable .htaccess block on installations where the WordPress core root and public root differ, rewriting the corresponding production RewriteBase without copying an arbitrary complete .htaccess file.
- Before Live PUSH, a signed safety backup captures only plugin-managed portable .htaccess blocks; rollback pins restore-start definitions, restores original order and placement, preserves unambiguous surrounding third-party additions, and stops before writing when concurrent edits are ambiguous.
- Makes the WP-CLI live release refuse –skip-managed-backup, block overlapping core or Live Push extension release operations, resume only an unfinished exact scope, and reauthorize review when required.
- Refreshes the existing core and Live Push extension PO/MO catalogs for 132 WordPress locales with the new 0.8.18 and 0.2.7 strings.
0.8.17
- Hardens migrations between root, WordPress-subdirectory, and full-subdirectory installations by rewriting URLs and filesystem paths with source-aware boundaries.
- Preserves PHPDoc, CSS comments, and Gutenberg block markup while rewriting root-relative URLs, including escaped, percent-encoded, serialized, base64, and CRLF forms.
- Improves resumable imports and history restores with owner- and context-bound state, cross-operation locking, chunk fingerprints, and reliable cleanup.
- Preserves database charset and emoji data, normalizes Windows-to-POSIX paths, and keeps staging-only files and runtime plugin aliases out of production restores.
- Rejects destructive multisite operations early and expands regression coverage for large archives, interrupted operations, and cross-topology restores.
Older release notes are kept in changelog.txt.