WING Website Migrator

وضاحت

This plugin enables the “Easy Migration” feature for WordPress on ConoHa WING.

It allows you to migrate a WordPress site running on another server to your ConoHa WING server.

Target Users

This plugin is available free of charge for ConoHa WING subscribers.

To use the plugin, you need to enter the source WordPress site information from the ConoHa WING control panel.

Please note that this plugin will not function on servers other than ConoHa WING.

Support

For usage instructions, please refer to the ConoHa WING user guide.

ConoHa WING Customer Support: https://support.conoha.jp/wing/

انسٽاليشن

This plugin requires an active ConoHa WING subscription.

The plugin is automatically installed when you select “Use WordPress Easy Migration” from the “Application Installation” menu in the ConoHa WING control panel and start the WordPress installation after entering the required information.

FAQ

For frequently asked questions, please refer to ConoHa WING Customer Support.

ConoHa WING Customer Support: https://support.conoha.jp/wing/

جائزا

ھن پلگ ان لاءِ ڪي به رايا ناھن.

تعاون ڪندڙ & ڊولپرز

“WING Website Migrator” اوپن سورس سافٽ ويئر آهي. ھيٺين ماڻھن ھن پلگ ان ۾ حصو ورتو آھي.

تعاون ڪندڙ

ترجمو ڪريو “WING Website Migrator” توهان جي ٻولي ۾.

ڊولپمينٽ ۾ دلچسپي؟

ڪوڊ براؤز ڪريو، چيڪ ڪريو SVN مخزن، يا رڪنيت حاصل ڪريو ڊولپمينٽ لاگ پاران RSS.

لاگ تبدیل ڪريو

2.1.2

  • Fix: Backup now excludes wp-content/object-cache.php, wp-content/advanced-cache.php (WordPress drop-ins), and wp-content/mu-plugins/ from archives. Previously these were copied from source and overwrote destination-specific files — the source provider’s Redis/Memcached drop-in config would clash with the destination’s cache plugin config (PHP fatal -> 500), and source-provider-specific mu-plugins (WAF, CDN, security) would overwrite destination-provider mu-plugins that the destination hosting ships (Issue #42).
  • Fix: BackupDatabaseTask now emits mysqldump-compatible session setup at the head of the dump file (SET NAMES utf8mb4, TIME_ZONE=’+00:00′, FOREIGN_KEY_CHECKS=0, UNIQUE_CHECKS=0, SQL_MODE=’NO_AUTO_VALUE_ON_ZERO,ALLOW_INVALID_DATES’, SQL_NOTES=0) and restores @OLD_* variables in the footer. This fixes restore failures when migrating from MySQL 5.7 to 8.0, where stricter default SQL_MODE rejected 0000-00-00 dates (post_date_gmt on legacy sites) and AUTO_INCREMENT=0 rows, and where an implicit TIME_ZONE mismatch shifted datetime values between source and destination (Issue #43).

2.1.1

  • Fix: RestoreDatabaseTask now flushes the WordPress object cache after completing SQL import. Without this, update_option() on freshly restored wp_options sees stale cached values as $old_value and skips the add_option() fallback, leaving $wpdb->update() returning 0 rows. As a result, RestoreAction::save_job_info() failed to persist restore_info to the actual DB, causing GET /restore/{id} to return 404 right after restore completion (Issue #36).

2.1.0

  • Fix: restore download fully downloads multi-GB archives by looping Range-chunk reads within a single request. The loop exits when remaining time is below DOWNLOAD_TIMEOUT so it never starts a 30s wp_remote_get with only a few seconds of task budget left.
  • Fix: backup excluded the plugin’s own work directories (uploads/{brand}-backup, uploads/{brand}-restore) only via a regex that did not match brand names containing underscores (e.g., wing_mig) — rewrote to use Config::get_brand() so backups no longer pull in their own archives (snowball growth).
  • Fix: handle_backup / handle_restore now return an error if deleting a stale FAILED job fails, instead of silently proceeding to start() with leftover state.
  • API change: POST /backup and POST /restore now accept an optional backup_id / restore_id from the caller. The plugin reuses an existing job if one exists, or starts a new job with the supplied id otherwise. Omitting the id keeps the previous behavior (auto-generated id). This lets the batch layer tie a job to wordpress_migrations.backup_key so retries resume the same work directory instead of creating a new one each time.
  • Security: sanitize_job_id now rejects invalid IDs (returning empty string) instead of silently stripping disallowed characters, to prevent accidental ID collisions (e.g. a/b and ab both reducing to the same job) and path traversal via externally supplied ids.
  • Cleanup: remove the unused continue field from RestoreDownloadTask::download_chunk() now that the loop is driven by the task’s remaining time.

2.0.4

  • Remove flush_rewrite_rules() from RestoreFinishTask (delegate to batch-side wp-cli).

2.0.3

  • Improve error handling: distinguish download_not_found, extract_failed, db_import_failed error codes.
  • Add SSL certificate verification fallback for backup file download.

2.0.2

  • Rename plugin slug from “wing-wordpress-migrator” to “wing-migrator” to match WordPress.org directory slug.

2.0.1

  • Rename plugin from “Wing WP Migrator” to “WING Website Migrator”.

2.0.0

  • Security improvements and codebase overhaul.

1.2.0

  • Change Plugin Name and Description.

1.1.9

  • Change file installation function.

1.1.8

  • Change author.

1.1.7

  • Supports php8.

1.1.6

  • Added file installation function.

1.1.5

  • Bug fix.

1.1.4

  • Bug fix.

1.1.3

  • Fix restore download logic.

1.1.2

  • Bug fix.

1.1.1

  • Bug fix.

1.1.0

  • Fix backup and restore logic.

1.0.1

  • Bug fix.

1.0.0

  • Initial release.