PatchOn Agent

説明

PatchOn は、WordPress のプラグイン・テーマ・コアを安全に更新するソリューションです。本番に適用する前に、サイトと同じ構成をステージング環境に再現。更新を当てた状態でスクリーンショット比較 (Visual Regression Test) を実施し、不具合がないかを検証します。本プラグインは、あなたの WordPress サイトと PatchOn を接続するコネクターとして機能します。

本プラグインは PatchOn サービス (patchon.jp) を必要とし、単体では動作しません。 利用開始にアカウントは不要です。有効化した直後は外部通信を一切行わず、管理画面に同意画面が表示されます。PatchOn への外部通信は、その同意画面でユーザーが「同意して開始」ボタンを明示的にクリックした後にのみ開始され、サイトを匿名で登録します。PatchOn のアカウントが必要になるのは、ダッシュボードで詳細な検査結果を閲覧する場合か、有料プランにアップグレードする場合のみです。

主な機能

  • ステージング環境で更新をシミュレートする事前検査 (結果はダッシュボードに表示)
  • 更新適用前のサイトファイルとデータベースのバックアップ
  • 検査に合格した更新の本番反映

本プラグイン (WordPress.org で配布される無料版) は、不具合を検知してもあなたのサイトファイル (wp-contentmu-plugins、テーマディレクトリなど) に書き込みを行いませんmu-plugins やアクティブな子テーマに修正済みコードを書き込む AI 自動修正は、別途配布される PatchOn Agent Pro 拡張プラグイン (PatchOn のスタンダード / ビジネスプラン契約者が利用可能) が提供します。

送信されるデータ

ユーザーが同意画面で同意した後、「事前検査」または「更新実行」操作を実行すると、本プラグインは以下のデータを PatchOn および関連する外部サービスに送信します。詳細はプライバシーポリシーをご覧ください。

  • サイト URL / WordPress バージョン / PHP バージョン / DB バージョン
  • インストール済みのプラグイン・テーマ・MU プラグインの一覧とバージョン
  • 更新適用前のサイトファイル (子テーマ / mu-plugins / wp-config.php。バックアップに使用)
  • WordPress の debug.log の内容 (不具合検知に使用)
  • 軽量データベースダンプ (事前検査時のみ。個人情報を含むテーブル・カラムは除外)

外部サービス

本プラグインは以下の外部サービスに依存します。プラグインを有効化しただけでは外部通信は一切行われません。 通信は、初回利用時に表示される同意画面でユーザーが「同意して開始」ボタンを明示的にクリックした後にのみ開始されます。

PatchOn API (https://patchon.jp およびそのサブドメイン)

検査・修正・更新・データベースダンプの全操作のバックエンドです。2つのホスト名を使用し、いずれも Rocketa Inc. が運用し PatchOn のインフラへルーティングされます。

  • https://patchon.jp/api/* — サイト登録、事前検査の制御、更新適用の制御、課金
  • https://dump.patchon.jp/* — 事前検査時に使うデータベースダンプ制御エンドポイントと、署名付き URL によるチャンクアップロード (データベースダンプは patchon.jp/api/* 経由で送信されるデータからは除外)

提供元: Rocketa Inc. (rocketa.co.jp)

データが送信されるタイミング:

  • 「同意して開始」ボタンのクリック時 (初回のみ): 匿名でのサイト登録と UUID の発行
  • ユーザーが「事前検査」を実行したとき: プラグイン / テーマの一覧、debug.log、軽量データベースダンプ
  • ユーザーが「更新実行」を実行したとき: バックアップファイル、適用結果

送信内容: 上記「送信されるデータ」セクションを参照

  • 利用規約: https://patchon.jp/terms
  • プライバシーポリシー: https://patchon.jp/privacy-policy
  • 委託先 (Subprocessors): https://patchon.jp/subprocessors

AWS S3 (東京リージョン、PatchOn 経由でアクセス)

Storage destination for the pre-update full-site backup (zip). File uploads are performed only against pre-signed URLs issued by https://patchon.jp/api/* on a per-request basis. The customer site does not hold any S3 credentials.

  • 提供元: Amazon Web Services, Inc.
  • エンドポイント: https://*.s3.ap-northeast-1.amazonaws.com (署名付き URL のみ)
  • データ送信のタイミング: 「更新実行」の実行時
  • What is sent: pre-update site files (zip)
  • AWS のプライバシー: https://aws.amazon.com/privacy/

インストール

  1. WordPress 管理画面の「プラグイン > 新規追加」から「PatchOn」を検索してインストールします。
  2. プラグインを有効化します。この時点では外部通信は発生しません。
  3. 管理画面に同意画面 (「Welcome to PatchOn」) が表示されます。送信されるデータを確認し、「同意して開始」をクリックします。このボタンのクリックは、外部通信を開始することへの明示的な同意とみなされ、プラグインはあなたのサイトを匿名で PatchOn に登録します。
  4. これで「PatchOn > 更新管理」から事前検査の実行と更新の適用ができます。この操作にアカウントは不要です。
  5. ダッシュボードで詳細な検査結果を閲覧する、または有料プランにアップグレードするには、「PatchOn > 設定」を開いて「このサイトを PatchOn アカウントに接続」をクリックし、PatchOn で登録またはログインします。

FAQ

本プラグインの利用に料金はかかりますか?

プラグインは無料で配布され、事前検査と更新の適用は誰でも利用できます。有料プランに加入いただくと AI 自動修正・検査対象の追加・手厚いサポートを受けることができます。プランの詳細は https://patchon.jp/ をご覧ください。

フリー / スタンダード / ビジネスプランの違いは何ですか?

  • フリー: 3つの URL でのリグレッションテストと、PatchOn で詳細な結果を確認できます。不具合がない場合は、ワンクリックで本番に適用。更新前のバックアップは 7日間保持されます。
  • スタンダード (有料): AI 自動修正 (別途配布される PatchOn Agent Pro 拡張プラグインのインストールが必要)、フォームテスト、検査対象 URL の拡大、更新前バックアップの 30日間保持、メールサポートを追加します。
  • ビジネス (有料): モバイル VRT、更新前バックアップの 90日間保持、Slack Connect サポートを追加します。

最新の料金は https://patchon.jp/#pricing をご覧ください。

プラグインを有効化しただけで外部サービスにデータが送信されますか?

いいえ。有効化しただけでは外部にデータは一切送信されません。通信は、同意画面でユーザーが「同意して開始」ボタンを明示的にクリックした後にのみ開始されます。

データはどこに保存されますか?

AWS (東京リージョン) に保存されます。詳細はプライバシーポリシーをご覧ください。

プラグインを削除すると、データも削除されますか?

プラグインを削除すると、プラグインがローカルのデータベースに保存していた設定値 (接続用 UUID など) は自動的に削除されます。ただし、PatchOn の該当サイトデータは保持されます。完全削除をご希望の場合は、お問い合わせフォームからご依頼ください。

自動更新は安全ですか?

標準の WordPress 更新フローを実行する前に、本プラグインはまず同じ更新をステージング環境で試行して不具合を検知します。問題が検知された場合、更新は中止され、ダッシュボードを通じて通知されます。

評価

このプラグインにはレビューがありません。

貢献者と開発者

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

貢献者

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

“PatchOn Agent” をあなたの言語に翻訳しましょう。

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

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

変更履歴

1.1.4

  • Pre-update restore points now capture the database incrementally. Instead of re-uploading the entire database on every update, the restore point reuses the unchanged parts of the most recent pre-inspection snapshot and sends only the rows that changed, dramatically reducing the backup phase on large sites. A built-in self-verification step falls back to a full dump whenever anything looks inconsistent, so a restore point is never shipped in a partial state.
  • Dramatically faster backup archiving before pre-inspections and updates. The previous implementation rewrote the entire archive for every file added, causing quadratic I/O; archives are now built in a single pass, reducing the backup phase from minutes to seconds on sites with thousands of plugin and theme files.
  • Clearer guidance during the pre-update backup on the update screen. The screen now indicates whether a fast incremental backup (reusing the latest snapshot) or a full backup is in progress, and asks you to keep the tab open until it finishes. This replaces the previous message that incorrectly implied the resumable backup always continued after closing the tab.
  • Fixed a bug where inspection target URLs with non-ASCII slugs (such as Japanese permalinks) were corrupted on save: percent-encoded characters were stripped during input sanitization, leaving only the ASCII portion of the path. URL input is now sanitized with esc_url_raw(), which preserves percent-encoding.
  • Canceling a pre-inspection now also stops it on the backend (the staging worker), so you can re-run immediately instead of being blocked by an “a pre-inspection is already running” error. The cancel button is no longer shown during the production update step itself, where the update cannot be safely interrupted.
  • Large pre-update backups now continue on the server even if you close the browser tab. Previously the resumable backup of a large database was driven by the open admin tab and paused when you navigated away; it now self-drives via background loopback requests, with a scheduled health-check that restarts a stalled run on sites that receive traffic.
  • Fixed a bug where a plugin that was active before an update could be left deactivated after the update finished. Plugins that were active beforehand are now reactivated once their update completes.
  • Updates that require a newer PHP or WordPress version than your live site actually runs are now detected on your site and excluded from the update run, instead of being applied and silently breaking the site. The pre-inspection also reports your site’s PHP version and key limits so results better match your real environment.
  • Updates that could not be inspected (for example, when no inspection result is available) are no longer applied to your production site. Only updates that were actually inspected and verified are included in the update run.
  • Corrected the consent screen to accurately describe the data sent during a pre-inspection: it now states that your site’s files and database are sent, replacing wording that implied parts containing personal information were excluded.

1.1.3

  • すべてのプランで、更新の適用前に復元ポイント (サイトファイルとデータベースの完全ダンプ) を作成するようになりました。復元ポイントは PatchOn のクラウドストレージにプランに応じた保持期間で保存され、更新画面からダウンロードしてセルフサービスで復旧できます。この保存内容に合わせて、同意画面とプライバシーポリシーも更新しています。
  • 更新に失敗したにもかかわらず成功と誤って報告されることがある複数の不具合を修正しました (アップグレード中のコピー失敗、更新の同時実行によりメンテナンスモードが解除されない問題、更新キャッシュの古い情報、日本語サイトでのロケール依存の誤判定など)。
  • AI 修正の適用に必要な Pro 拡張プラグインを、更新画面からワンクリックでインストール・有効化できるようになりました。あわせて、ライセンスが未設定または期限切れの場合の案内をわかりやすくしました。

1.1.2

  • プラグインレビューのフィードバックを受け、WordPress コアの読み込みファイル (wp-includes/functions.phpwp-admin/includes/theme.phpwp-admin/includes/misc.php) の直接的な require_once を削除しました。
  • リクエストごとのオーバーヘッドを減らすため、頻繁に更新されるオプション (patchon_update_statepatchon_update_flashpatchon_site_uuid) のオートロードを無効化しました。
  • Late-escaping 規約に準拠するため、残りの動的出力 (三項演算子と更新 / ログの件数) をすべて esc_html() でエスケープしました。
  • 「Tested up to」を WordPress 7.0 に更新しました。

1.1.1

  • バックアップアップロード経路の直接的な cURL 呼び出しを WordPress HTTP API (wp_remote_request()) に置き換え、公式の http_api_curl フックを使って、大きなバックアップアーカイブをメモリにバッファリングせずにストリーミングアップロードできるようにしました。

1.1.0

  • ファイル書き込み機能を削除しました (wp-contentmu-plugins、テーマディレクトリへの書き込みを行わなくなりました)。これらの書き込みは、別途配布される PatchOn Agent Pro 拡張プラグインに移管されました。
  • 初回有効化時に明示的な同意画面を表示するようにしました。同意後にサイトを匿名で登録するようになり、利用開始にアカウントは不要です。
  • 細工されたリダイレクト URL によるサイト乗っ取りを防ぐため、接続フローに CSRF ノンス検証を追加しました。
  • プラン構成 (フリー / スタンダード / ビジネス) を更新し、旧エンタープライズプランをカタログから削除しました。

1.0.0

  • WordPress.org 公式ディレクトリでの初回リリース。