Swish Migrate and Backup

説明

Swish Migrate and Backup は、データベース、プラグイン、テーマ、アップロード、コアファイルを含むサイトの完全バックアップを作成できる強力な WordPress プラグインです。複数のクラウドストレージプロバイダーに対応し、サイト移行をスムーズにします。

機能

  • サイト全体のバックアップ – データベース、プラグイン、テーマ、アップロードを含む WordPress サイト全体をバックアップ
  • データベースのみバックアップ – データベースだけの軽量バックアップを作成
  • ファイルのみバックアップ – データベースを除き WordPress ファイルのみをバックアップ
  • クラウドストレージ対応 – Amazon S3、Dropbox、Google Drive にバックアップを保存
  • ローカルストレージ – サーバー上にバックアップを保持
  • サイト移行 – 自動 URL 置換でサイトを新しいドメインへ簡単に移行
  • 検索と置換 – シリアライズ対応でデータベースの検索と置換を実行
  • スケジュールバックアップ – 希望するスケジュールで自動バックアップを設定
  • チャンク処理 – メモリ問題を起こさずに大規模サイトを処理
  • 認証情報の暗号化 – クラウドストレージ認証情報を AES-256-CBC で暗号化
  • REST API – 他のツールと連携するための完全な REST API
  • WP-CLI 対応 – バックアップと移行操作用のコマンドラインインターフェース
  • マルチサイト対応 – サイトネットワーク全体のバックアップ、サイトの選択バックアップ、マルチサイト移行
  • サイト複製 – マルチサイトネットワーク内の任意のサイトを新しい URL に複製
  • 柔軟なアーカイブモード – サイトネットワーク全体を1つのアーカイブにするか、サイトごとに個別アーカイブ
  • バックアップ / 復元サイズ無制限 – バックアップや復元にファイルサイズ制限なし
  • 完全バックアップ – wp-core、wp-content、テーマ、プラグイン、アップロード、データベースを含む完全なバックアップ

リモートバックアップストレージ

  • Amazon S3
  • Dropbox
  • Google Drive

要件

  • WordPress 6.0以上
  • PHP 8.1以上
  • wp-content/uploads ディレクトリへの書き込みアクセス

Languages

The plugin is fully translated into:

  • English
  • Japanese (日本語)
  • Spanish (Español)
  • French (Français)
  • Chinese, Simplified (简体中文)
  • Arabic (العربية)

CLI バックアップコマンド

Swish Backup には、バックアップと移行操作用の WP-CLI コマンドが含まれています。WP-CLI のインストールが必要です。

バックアップコマンド:

wp swish backup --type=database - Create a database-only backup
wp swish backup --type=full - Create a full backup (database + files)
wp swish backup --type=full --include-core - Full backup including WordPress core files

インポートコマンド:

wp swish import /path/to/backup.zip - Import a backup (auto-detects old URL)
wp swish import backup.zip --old-url=https://old.com --new-url=https://new.com - Import with URL replacement
wp swish import backup.zip --skip-url-replace - Restore only, no URL replacement

ユーティリティコマンド:

wp swish status - Check active import session status
wp swish cleanup - Clean up stale import sessions

プライバシーポリシー

このプラグインは、WordPress データベース内の個人データ (ユーザーのメールアドレス、名前、コンテンツなど) を含む可能性があるバックアップファイルを保存します。バックアップはサーバー上のローカル、または設定した第三者のクラウドストレージサービスに保存されます。

クラウドストレージプロバイダー (Amazon S3、Dropbox、Google Drive) を使用する場合、バックアップデータは各プロバイダーのプライバシーポリシーに従ってサーバーへ送信され、保存されます。

このプラグインは、明示的に設定したクラウドストレージサービス以外に、プラグイン作成者やその他の第三者へデータを収集または送信しません。

スクリーンショット

インストール

  1. swish-migrate-and-backup フォルダーを/wp-content/plugins/ ディレクトリにアップロード
  2. WordPress の「プラグイン」メニューからプラグインを有効化
  3. 管理メニューの「Swish Backup」に移動してダッシュボードにアクセス
  4. 「Swish Backup」>「設定」で希望するストレージ設定を構成
  5. ダッシュボードから最初のバックアップを作成

FAQ

このプラグインはどれくらい大きなサイトを処理できますか ?

このプラグインはデータベースとファイルの両方の操作でチャンク処理を使うため、メモリ制限に達することなくほぼあらゆるサイズのサイトを扱えます。バックアップやインポートのサイズ制限はありません。

バックアップはデフォルトでどこに保存されますか ?

デフォルトでは、バックアップはローカルの wp-content/swish-backups/ に保存されます。設定で追加のクラウドストレージ保存先を構成できます。

自動バックアップをスケジュールできますか ?

はい。スケジュールページから予約バックアップを設定できます。希望する頻度 (毎時、毎日、毎週、毎月) を選択すると、プラグインが自動的にバックアップを作成します。

サイトを新しいドメインへ移行するにはどうすればよいですか ?

  1. 移行元サイトで完全バックアップを作成
  2. 移行先サイトでプラグインをインストールして有効化
  3. バックアップファイルをアップロードするか、クラウドストレージに接続
  4. 移行ツールを使って復元し、URL を自動更新

クラウドストレージの認証情報は安全ですか ?

はい。すべてのクラウドストレージ認証情報は、データベースに保存する前に AES-256-CBC 暗号化で暗号化されます。

バックアップを別のサイトに復元できますか ?

はい。バックアップをダウンロードして、このプラグインをインストール済みの任意の WordPress サイトにアップロードし、移行ツールを使って URL を更新できます。

マルチサイトをバックアップ & 移行できますか ?

はい。マルチサイトインストールでは、サイトネットワーク管理 Swish Backup からサイトネットワーク全体のバックアップ (すべてのサイトまたは選択したサイト)、マルチサイトバックアップの移行、サイトネットワーク内のサイト複製を行えます。マルチサイトバックアップから個別サイトをスタンドアロンの WordPress インストールへインポートすることもできます。

評価

2026年5月5日
Migrated a 1.9GB file, the process was a bit slow, but everything worked perfectly.
1件のレビューをすべて表示

貢献者と開発者

Swish Migrate and Backup はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Swish Migrate and Backup” は1ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“Swish Migrate and Backup” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログを RSS で購読してみてください。

変更履歴

1.4.0

  • Added full translations for Spanish (Español), French (Français), Simplified Chinese (简体中文), and Arabic (العربية); Japanese was already available via translate.wordpress.org
  • Translation files are now bundled with the plugin in the languages/ directory and loaded automatically

1.3.1

  • 修正: データベース内容のリテラル % 文字が長い {hash} プレースホルダートークンとしてバックアップに書き込まれ、復元時にシリアライズ設定 (例: 通貨形式) が壊れ、トークンが投稿コンテンツに漏れる問題
  • The plugin can now be activated in SQLite-based environments such as WordPress Playground and WordPress Studio (useful for previewing translations); a notice explains that backup, restore, and migration features require a MySQL/MariaDB database with the mysqli extension

1.3.0

  • 修正: マルチサイト移行のインポートが繰り返し500/403エラーで失敗し、実際には完了していても完了表示が出なかった問題
  • インポート進捗をファイルにもミラーし、options テーブルを置き換えるデータベース復元後も保持されるように変更
  • 復元で管理セッションが無効になっても進捗チェックが継続し、ブラウザーが最終の「インポート完了」ステータスを確実に受け取れるように変更
  • インポート進捗ダイアログが、データベース復元中にサイトへ一時的に到達できない短い時間を待ってから失敗扱いにしないように変更

1.2.1

  • 修正: フルバックアップでアーカイブが生成されない問題 – 最終処理時にストリーミングエンジンが自身の出力を削除していた (.swish パス衝突)
  • ストリーミングバックアップエンジンが本物の .swish 形式を直接書き込むように変更 (tar/gzip 中間処理なし)
  • 修正: cron とステータスポーリングが同一ジョブを同時処理すると、完了後に失敗扱いになる、または壊れることがあった問題 – ジョブ単位のデータベースロックで直列化
  • 修正: プラグイン更新後にデータベーススキーマのアップグレードが自動実行されるように変更 (更新済みインストールで steps_log カラムがなく進捗ログが壊れていた)
  • 修正: コアファイルを含めた際にファイルが二重アーカイブされ (スキャン重複)、アーカイブが最大40%肥大化していた問題
  • 修正: レガシー同期バックアップパスが圧縮ファイルをアーカイブする際の致命的な TypeError
  • マルチサイトネットワークバックアップが .swish アーカイブを生成するように変更。マルチサイトインポートは .swish とレガシー .zip の両方を受け付け
  • 修正: 非正規のコンテンツパスを持つサーバーでマルチサイトアーカイブのエントリパスが壊れていた問題
  • すべての書き込み・読み取りで .swish ヘッダーのタイムスタンプを小数に統一 (復元ファイルの更新日時を正しく保持)
  • 同期バックアップパス (WP-CLI –legacy、移行前バックアップ) がダッシュボードと同じストリーミング .swish エンジンを使用するように変更
  • 残っていた PRO バッジを削除し、個別サイトの「Pro Migration」ページを「マルチサイトインポート」に改名

1.2.0

  • すべての Pro 機能を無料プラグインに内蔵 – 別途の Pro アドオンは不要
  • マルチサイトのサイトネットワークバックアップを追加 (すべてのサイトまたは選択したサイト、個別またはサイトごとのアーカイブ)
  • マルチサイト移行を追加: サイトネットワークバックアップのインポート、またはサイトネットワークバックアップから個別サイトをスタンドアロンインストールへインポート
  • サイト複製を追加: サイトネットワーク内の任意のサイトを新しい URL に複製
  • 4GB のバックアップサイズ制限とファイルあたり500MB の制限を削除
  • レガシー Pro アドオンがまだ有効な場合は自動で無効化 (ジョブ履歴は保持)
  • セキュリティ強化: マルチサイトアーカイブ向けの署名付き期限付きダウンロード URL、インポート時のパス封じ込め、より厳格なアーカイブ展開、管理画面 UI の進捗・エラー出力のエスケープ
  • マルチサイトの REST エンドポイントは、マルチサイト上で特権管理者 (manage_network) を要求するように変更
  • PHPCS (WordPress Coding Standards) 設定を追加

1.1.11

  • 新規バックアップのアーカイブ形式を SWISH のみに変更 (設定からアーカイブ形式セレクターを削除)
  • 復元は既存の .zip と .tar.gz バックアップのサポートを継続
  • Windows (CMD/PowerShell) で curl と aria2c の CLI ダウンロードコマンドが複数コマンドとしてコピーされる問題を修正 – コマンドを1行で生成するように変更

1.1.10

  • PHP 7.4 互換性を修正 – match 式を switch 文に変換
  • ジョブキャンセルボタンで常に localStorage をクリーンアップするように修正
  • サーバーでジョブが見つからない場合に古いジョブが UI に残る問題を修正
  • バックアップ進行状況のトラブルシューティング用デバッグログを追加

1.1.9

  • 設定ドロップダウンに SWISH アーカイブ形式オプションを追加
  • SWISH 形式で真の追記サポートと再開機能を備えたストリーミングを提供

1.1.8

  • バックアップ完全性の修正

    • ファイルのインデックス化中のタイムアウトチェックを削除し、バックアップ内のファイル欠落 (例: uploads/2026 フォルダー) を修正
    • AI1WM の実証済み方式に従い、アーカイブ開始前にファイル列挙を完全に完了するように変更
    • インデックス化フェーズでは時間制限ではなく、メモリ圧迫時のみ一時中断を発生
    • シンボリックリンクと Docker 環境でのパス解決を修正 – 相対パス検出を改善
    • プラグインの vendor ディレクトリがバックアップされない問題を修正 (Yoast、WooCommerce などの破損原因)
  • サイズ上限の引き上げ

    • 無料版のバックアップサイズ上限を 2GB から 4GB に引き上げ
  • CLI バックアップのパフォーマンス

    • CLI バックアップで最適化された設定によるパイプライン方式を使用するように変更
    • CLI では反復あたりのバッチサイズを 500ファイルに増加 (HTTP タイムアウトの懸念なし)
    • CLI の時間ベースの一時中断を無効化 – メモリ圧迫時のみ一時中断
    • CLI モードでは内部チャンク化なしでファイルを完全に書き込み
    • ファイルごとのログを info から debug レベルに変更してログ記録のオーバーヘッドを削減
  • ブラウザーバックアップの最適化

    • サーバーの max_execution_time に基づく動的な時間予算 (利用可能時間の 60% を使用)
    • さまざまなホスティング環境向けに ServerLimits 検出を使用した適応型バッチサイズ
    • デフォルトのバッチサイズを1リクエストあたり50ファイルから100ファイルに増加
    • WP Engine、Kinsta、Flywheel、その他のマネージドホスティング向け自動調整
  • 設定 UI の改善

    • バックアップ作成前にすばやくアクセスできるよう、バックアップページのヘッダーに設定ボタンを追加
    • パフォーマンスコントロールとホスティングプリセットを備えた新しい設定モーダル
    • 主要オプションに絞って設定を簡略化: リクエストあたりのファイル数、バッチあたりのデータベース行数
    • 共有ホスティング、VPS / マネージド、専用サーバー向けのクイックプリセット
    • データベース、プラグイン、テーマ、アップロード、コアファイルのバックアップ内容トグル
  • ジョブ進行状況表示の修正

    • パイプラインバックアップ中にステップログが更新されない問題を修正
    • ステップログでパイプラインフェーズを正しく表示: ファイルをスキャン中 ファイルをアーカイブ中 最終処理中
    • バックアップ開始時に初期ステップを即座に表示
    • 進行状況の詳細でインデックス化フェーズと処理フェーズ中のファイル数を表示
  • インポートパイプラインの信頼性向上

    • ファイル処理が停止する可能性があるファイルキュー処理の競合状態を修正
    • 低速サーバー向けに古いセッションのタイムアウトを2分から10分に延長
    • 古い処理のクエリーを高速化するため、updated_at にデータベースインデックスを追加
    • SQL ヘッダーコメントから最初に読み取るようにテーブル接頭辞検出を修正
    • 不一致を検出するため、データベース復元後のテーブル接頭辞検証を追加
  • パフォーマンス最適化

    • 大規模データベースでのタイムアウトを防ぐチャンク単位の URL 置換を追加
    • 反復上限 (最大 10万件の transient) を設けて transient 削除ループを修正
    • キャッシュフラッシュロジックを統合する共有 CacheManager ユーティリティを作成
    • URL 置換で状態を保持しながらテーブルを段階的に処理するように変更
  • 詳細な移行進行状況インジケーター

    • 各フェーズで、一般的な「Processing」ではなく「Restoring Database」などの具体的で読みやすいラベルを表示
    • 処理済みバイト数、インポート済みテーブル、コピー済みファイルなど、実データを示す詳細な進行状況メッセージを追加
    • データベース復元で「4 MB 中 2 MB を処理済み (このチャンクで 847 クエリー)」のように表示
    • URL 置換で現在処理中のパターン、テーブル名、置換件数を表示
    • 最終処理フェーズで実行した操作を一覧表示: キャッシュのフラッシュ、セキュリティプラグインの無効化
    • クリーンアップフェーズで削除した一時ファイルのサイズを表示
  • 新しい共有コンポーネント

    • 安全対策付きでキャッシュ操作を一元化する CacheManager クラスを追加
    • 進行状況表示でテーブル数を正確に数えるための count_tables_in_sql() ヘルパーを追加
  • WP-CLI 対応

    • コマンドラインからバックアップを作成するための wp swish backup コマンドを追加
    • CLI 経由でバックアップをインポート / 移行するための wp swish import コマンドを追加
    • wp swish status と wp swish cleanup ユーティリティコマンドを追加
    • CLI コマンドですべてのバックアップタイプに対応: 完全、データベース、ファイル

1.1.7

  • curl / wget での大容量ファイルダウンロードを修正 – ダウンロードハンドラーを wp-admin 外に移動
  • ダウンロード URL で WordPress ログイン不要のトークンベース認証を使用するように変更
  • curl -C フラグによる再開可能な転送にダウンロードが対応
  • ダウンロード用の LiteSpeed X-LiteSpeed-Location を無効化 (PHP ストリーミングにフォールバック)
  • GoDaddy / LiteSpeed + Cloudflare 構成での再開可能ダウンロードを修正

1.1.6

  • REST API エンドポイントを備えた動作するスケジュールバックアップ UI を追加
  • 進行状況を正しく表示するようにバックアップジョブのステップインジケーターを修正
  • スケジュールページの空状態に「バックアップをスケジュール」ボタンを追加

1.1.5

  • PHP ストリーミングの信頼性向上のため X-Sendfile をオプトイン方式に変更
  • X-Sendfile に対応していないサーバー向けのフォールバックを強化

1.1.4

  • 信頼性の高い大容量ファイルダウンロードのため X-Sendfile / X-Accel-Redirect 対応を追加
  • Apache、Nginx、LiteSpeed サーバーでのダウンロードパフォーマンスを改善

1.1.3

  • Docker とシンボリックリンク環境での重大なバックアップ / 復元の問題を修正
  • さまざまなホスティング構成でのパス処理を改善

1.1.2

  • tar.gz バックアップの解析と復元に対応
  • バックアップファイル形式の検出を改善

1.1.1

  • 軽微なバグ修正と安定性の改善

1.1.0

  • 大規模サイト対応に向けた大幅なアーキテクチャ改善
  • データベースとファイルのバックアップ向けチャンク処理を強化
  • バックアップ操作中のメモリ管理を改善

1.0.9

  • マネージドホスティング (WP Engine など) でのタイムアウトを防ぐ非同期バックアップ処理を追加
  • 自動フォールバック付きの WP Cron によるバックグラウンドジョブ処理を追加
  • リアルタイム進行状況更新用のジョブステータスポーリングエンドポイントを追加
  • ファイルバックアップ中の ETA (推定残り時間) 表示を追加
  • admin-ajax.php でバックアップダウンロードが「0」を返す問題を修正 – 現在は admin.php を使用
  • 厳しい実行時間制限があるホスティング環境との互換性を改善

1.0.8

  • WordPress.org 準拠のため、インラインスクリプトで wp_add_inline_script() を使用するように修正
  • 適切な WordPress ファイル処理のため move_uploaded_file() を wp_handle_upload() に置換

1.0.7

  • Pro プラグインのインポート修正に対応する互換性更新
  • 軽微な安定性の改善

1.0.6

  • Pro プラグインの URL 自動検出修正に対応する互換性更新
  • 軽微な安定性の改善

1.0.5

  • Pro プラグインのサイズ推定修正に対応する互換性更新
  • 軽微な安定性の改善

1.0.4

  • Pro プラグインのインポート / 移行修正に対応する互換性更新
  • 軽微な安定性の改善

1.0.3

  • インポート機能を修正 – 続行ボタンでバックアップファイルを正しくアップロードして解析するように変更
  • 移行時の旧サイト URL 自動検出を追加 (バックアップマニフェストから事前入力)
  • バックアップ処理と同様のステージ追跡を備えた詳細な移行進行状況を追加
  • swish-backups フォルダーを常にバックアップから除外するようにバックアップ除外処理を修正
  • バックアップ保存場所を wp-content/uploads/swish-backups から wp-content/swish-backups へ移動
  • ドキュメントナビゲーションにスムーズスクロールとアクティブ状態のハイライトを追加
  • アンカーリンクナビゲーションを改善したドキュメントページ

1.0.2

  • 詳細なステージ追跡でバックアップ進行状況モーダルを強化
  • 各バックアップステージの完了を示す視覚的な進行ログを追加
  • 完了したステージには緑のチェックマーク、失敗には赤いインジケーターを表示
  • アニメーション付きステータスインジケーターで進行状況フィードバックを改善
  • バックアップ処理中のエラー処理とメッセージを改善

1.0.1

  • バックアップに WordPress コアファイルを含める / 除外するオプションを追加
  • レスポンシブデザイン対応の管理画面レイアウト向け CSS を強化
  • パフォーマンス向上のため JavaScript アセットのエンキュー処理をリファクタリング
  • 軽微なバグ修正と改善

1.0.0

  • 初回リリース
  • サイト全体、データベース、ファイルのバックアップ対応
  • ローカルストレージアダプター
  • Amazon S3 ストレージアダプター
  • Dropbox ストレージアダプター
  • Google Drive ストレージアダプター
  • URL 置換を伴うサイト移行
  • 検索と置換機能
  • スケジュールバックアップ
  • REST API エンドポイント