WordPressのバージョン管理により、WordPressサイトへの変更を追跡して、何が起きているかを監視し、必要に応じてそれらの変更を元に戻すことすらできます。この変更は実際には、投稿の編集といった簡単な調整であり、 コードベースの編集といった技術的な変更でもあります。

この投稿では、バージョン管理とは何か、WordPressにどのように適用されるのか、について詳しくご説明します 次に、WordPressサイトにバージョン管理を実装するために使用できるツールのいくつかを掘り下げましょう。

WordPressバージョン管理とは?

バージョン管理システムは、経時的なファイルの変更を追跡するため、状況の変化を確認し、必要に応じて前のバージョンに戻すことができます。

WordPressに適用されるバージョン管理を活用すれば、あなた、はたまた他のユーザーがサイトに加えた変更を追跡できます。

WordPressでは、バージョン管理を通して、次のようなアクションが追跡可能です。

上記のような変更を確認できるだけでなく、必要に応じて元に戻すか、前のバージョンにロールバックすることもできます。

開発の観点から言えば、バージョン管理のおかげで、メインのコードベースに「マージ」する前に、作業対象のコードのセクションを複製することにより、コードベースの変更管理が容易になります。WordPressサイトの複雑さによっては、この機能が大いに役立つことでしょう。

WordPressにおけるバージョン管理の、狭義の例を挙げるとすると、WordPressに組み込まれているリビジョン機能です。これにより、投稿またはページの変更を比較し、必要に応じて以前のバージョンを復元できます。

標準搭載のWordPressリビジョン機能
標準搭載のWordPressリビジョン機能

より堅牢なシステムを実装することもできます。使用するWordPressバージョン管理システムに応じ、サイトのファイルとデータベースの両方に対する変更を追跡できます。

WordPressバージョン管理の利点とは?

WordPressのバージョン管理を設定することで、いくつかの大きな利点が得られます。

まず、バージョン管理を使用すると、サイトをより確実に変更できます。変更を加えた結果…サイトが台無しに?そんな時でも、ご心配なく。元に戻すだけで、サイトを作業経過の前の段階に戻すことができます。

第二に、WordPressサイトを管理するスタッフのチームがいる場合、変化のすべてを追跡できるため、より効率的に共同作業を行うことができます。さらに、ブランチやマージを伴うアプローチであれば、サイトのコードの一部を複製して、それを編集し、準備ができたらそのコードをライブサイトに組み込むことができます。

最後に、バージョン管理は、サイトで何が起こっているかを監視するためにも便利です。たとえば、バージョン管理を経て、 編集者の1人が既に公開された投稿を更新したかどうかを確認できます。変更した場合、変更内容を確認し、必要に応じて簡単にロールバックすることも可能です。

サイトでのバージョン管理の設定について詳しく理解したところで、WordPressのバージョン管理を、ソリューションの観点から見てみましょう。

WordPressバージョン管理の最適なオプション

技術的な知識、そして、バージョン管理システムをどの程度包括的にするかによって、WordPressの管理のソリューションはいくつかに分かれます。

WordPressのバージョン管理ソリューションを以下に詳しくご説明します。

  • Git – Github、GitLab、Bitbucketといったホステッドリポジトリなど、WordPressでGitを使用する方法はいくつかあります。詳細については、gitとGithubの比較ガイドもご用意しています。
  • VersionPress plugin – これもGitを実装しますが、より自然な方法です。まだベータ版であることも留意すべきでしょう。
  • WP Rollback – テーマやプラグインの更新をロールバックするための非常にシンプルなシステムです。
  • Bedrock – Rootsのチームが作成したBedrockは、バージョン管理用のリポジトリを簡単に維持できるようにセットアップされています。KinstaでBedrockを使用する方法もご覧ください。

もちろん、WordPressのビルトインリビジョンシステムを使用して、変更を追跡および取り消すこともできます。

WordPressでGitを使用する方法

Gitは、2005年にLinus Torvalds氏によって作成されたオープンソースの分散型バージョン管理システムです。技術的な知識は必要になりますが、最も人気のあるバージョン管理システムの1つであり、あらゆる種類の開発者に使用されています。つまり、WordPressに固有のものではありません。

通常、GitHub、Bitbucket、GitLabなどのホステッドリポジトリで、WordPressサイトのコードを管理します。その後、必要に応じて、そのリポジトリからライブサーバーにサイトを展開できます。

WordPressでGitを使用する際には、いくつかのオプションが考えられます。

Kinstaでサイトをホストしているならば、Gitクライアントを利用できるため、GitHub、GitLab、BitbucketなどのサービスからSSHでGitリポジトリをプルできます。これについての詳細は、ナレッジベースの記事をご確認ください。

または、Gitからの展開を支援する、その他のWordPress固有の一般的なツールもあります。

WordPress固有のソリューションをお求めの場合には、以下の2つの可能性が考えられます。

  • WP Pusher – Gitリポジトリからテーマとプラグインをデプロイできます。これは特にテーマとプラグインに焦点を合わせています。
  • Revisr – WordPressで包括的にGitを使用するためのアプローチとしてどうぞ。データベースを含むサイト全体をGitリポジトリで追跡できます。WordPressダッシュボード内から変更を管理し、ファイルを元に戻したり、リモートリポジトリ(BitbucketやGitHubなど)との間で変更をプッシュ/プルすることもできます。
新しいRollbackオプション
新しいRollbackオプション

VersionPressのインターフェース

また、一般的な面では、BeanstalkDeployBotなどのツールもあります。

VersionPressでバージョン管理する方法

VersionPressは、サイトのファイルとデータベースの両方でバージョン管理し、「Gitの全機能をWordPressにもたらす」ことを目的としたオープンソースプロジェクトです。Gitに依存しているものの、VersionPressは上記の方法とは少し異なる挙動をするため、個別に扱うことにしましょう。

VersionPressのユニークな点は、あらゆる小さな変化を追跡し、何より、自然な人間の言語で行うこと。たとえば、データベースへの変更を単に記録する代わりに、VersionPressから、投稿「Hello World!が更新されました」という通知が送信されます。明らかに、GitがWordPressサイトからアクセスしやすくなっています。

たとえば、VersionPressのアクション一覧を、上記のRevisrスクリーンショットのそれと比較してみてください。違いがよくわかるはずです。

VersionPressのインターフェース
VersionPressのインターフェース

また、変更を元に戻すまたはロールバックする、サイトをバックアップするステージング環境を作成する、データベースをマージする、ホストされているGitリポジトリにプッシュする、などのオプションも用意されています。

素晴らしい機能であることに間違いありませんが、VersionPressは依然として「開発者用のプレビュー」と見なされているので、この点には注意が必要です。開発者は、本番環境では使用しないようにと言っています。

VersionPressをインストールするには、サーバーにGitをインストールし、proc_open()を有効にする必要があります。

WP Rollbackを使用して更新を元に戻す方法

WP Rollbackは、前のソリューションほど包括的ではなく、WordPress.orgのテーマとプラグインでのみ機能します。とは言え、限られた範囲では本当に役立つバージョン管理ツールです。

WordPressのテーマまたはプラグインを更新して、サイト上の何かが壊れてしまったことはありませんか?

まず、これを回避するために、ステージングサイトを使用する必要があります。ただし、ライブサイトで更新プログラムを実行しているときに何か問題が発生した場合は、少なくとも何が問題なのかがわかるまで、機能していた以前のバージョンにロールバックできると便利です。

このために、WP Rollbackはサイトのプラグインインターフェースに新しい「Rollback」ボタンを追加し、以前のバージョンにWordPressのテーマまたはプラグインを「ロールバック」できるようにしてくれます。

新しいRollbackオプション
The new Rollback option

次に、元に戻すバージョンを選択できます。

まとめ

バージョン管理により、WordPressサイトへの変更を追跡できるため、最新の状況を把握し、必要に応じてロールバックできます。

チームで作業にあたっていると仮定すると、バージョン管理は、ブランチとマージのシステムにより、効率的なワークフローを採用するのにも役立ちます。チームメンバーは、サイトの特定の部分を複製して作業を行い、プライムタイムの準備ができたら、それをメインコードに「マージ」して戻すことができます。

WordPressには、ニーズと技術に関する知識レベルに応じて、バージョン管理のオプションがいくつかあります。

開発者にとって、Gitはバージョン管理に最適な選択肢です。 KinstaはGitクライアントをサポートしており、WP Pusher(テーマとプラグイン用)、Revisr、Beanstalk、DeployBotなどのツールを使用して、GitHubなどのホステッドGitリポジトリからデプロイすることもできます。

よりシンプルに進めたい(技術的な実装を行わない)場合は、WordPressのビルトインリビジョン機能やWP Rollbackプラグインなどのオプションがあります。

最後に、まだ完全版の準備はできていませんが、VersionPressはWordPress固有のGit実装ソリューションを提供しており、注目すべき興味深いプロジェクトです。

WordPressバージョン管理を実際に開始する方法について、何かご質問がありますか?コメントからお寄せください。

Brian Jackson

Brianの最大の情熱の一つは10年以上使用してきたWordPressです。複数のプレミアムプラグインさえ開発しています。Brianの趣味はブログや映画やハイキングなどです。TwitterでBrianとつながりましょう。