WordPressテーマは、WordPressサイトの最も重要な要素の一つです。サイトの外観とコンテンツの表示を管理するテーマは、あなたのサイトをモダンでプロフェッショナルでブランドに似たものにします。

そのため、テーマを最新の状態にしておき、常に正常に機能するようにすることが重要です。

しかし、それは簡単な作業でない場合もあります。WordPressテーマをカスタマイズしている場合、更新するとカスタマイズ内容が失われる危険性があります。サイトのプラグインがテーマの新しいバージョンと互換性がない場合は、更新するコードと更新しないコードを指定する必要があります。また、カスタマイズしたテーマでWooCommerceストアを運営している場合は、ストアが更新後にも機能することを確認する必要があります。

本記事では、WordPressテーマを更新するプロセスについてご説明します。次の内容をカバーします。


準備はいいですか?それでは始めましょう!

WordPressテーマを最新の状態にしておく必要がある理由

WordPressサイトのコードを最新の状態にしておくことは非常に重要です。プラグイン、テーマ、そしてWordPress自体の新しいバージョンが正当な理由でリリースされます。更新しないと、サイトが危険にさらされる可能性があります。サイトを常に最新の状態にしておくべき3つの理由であるセキュリティ、互換性、そして機能を見てみましょう。

Who wants to flush down the toilette their customizations because of a wrong update? 🚽😭Learn how to perform it safely with our guide!Click to Tweet

#1 セキュリティ

サイトのコードを常に最新の状態にしておくべき最も重要な理由はセキュリティです。

テーマ、プラグイン、そしてWordPressコアのアップデートの主な内容はセキュリティパッチです。マイナーリリースとは、セキュリティの脆弱性を修正するために設計されたものです。

WordPressはオープンソースシステムで、セキュリティの問題などの課題についてソフトウェアを監視する積極的なコミュニティがあるため、弱点は公開され、できるだけ早く修正されます。

積極的なコミュニティにのおかげで、脆弱性を迅速に特定して修正することができることはWordPressの利点の一つです。

しかし、欠点もあります。パブリックであるため、サイトを攻撃したい人は、たとえば、テーマのあるバージョンの問題を知っているということです。そのバージョンのテーマを使用しているサイトをターゲットにすることがあります。

そのため、アップデートがリリースされたらすぐに、テーマ、プラグイン、そしてWordPressコアをアップデートして、ターゲットにならないようにする必要があります。

便利なセキュリティプラグインをインストールすると、テーマの新しいバージョンがリリースされたときに通知が表示されるため、更新を実行しない理由はありません。以下では、更新中にも更新後もサイトが正常に機能するように、更新を実施する安全な方法をご案内します。

サイトを最新の状態にしておくことにより、セキュリティが強化されることをおわかりいただけたでしょうか。

#2 互換性

テーマが更新されるもう一つの理由は、WordPressの最新版との互換性が確保するためです。テーマのアップデートは、WordPressの新しいバージョンがリリースされるとすぐにまたしばらくするとリリースされます。優れたテーマ開発者は、WordPressの新しいバージョン(および作成中の開発バージョン)に対してテーマをテストし、互換性に必要な変更を加えます。

ただし、時間の経過とともに、WordPressの新しいバージョンがリリースされ、テーマに互換性の問題が発生する可能性があります。私の経験では、テーマがプラグインよりも互換性が低くなることはあまりありませんが、それでも注意すべきでしょう。

テーマを更新するときは、まずWordPressの最新版を利用しているかどうかを確認する必要があります。

#3 機能

テーマを最新の状態にしておく3つ目の理由は、開発者が追加した新しい機能を最大限に活用することです。

ユーザーが追加の機能を要求したり、テーマがWordPress自体の新しい機能(例えばGutenbergなど)を利用したりするため、テーマは新しい機能で更新される場合があります。

ご利用中のテーマがあなたのサイトを強化する新機能を持っているなら、なぜそれらの機能を利用しないのですか?

WordPressのテーマを安全に更新する方法

WordPressでのテーマの更新は非常に簡単です。 「ダッシュボード」> 「更新」に移動してテーマを選択し、「テーマの更新」ボタンをクリックするだけです。

WordPressのテーマの更新

テーマの更新

ちょっと待って!「更新」ボタンをクリックするだけだと思っているかもしれません。確かに、これでテーマが更新されます。しかし、安全に更新されるわけではありません。

WordPressウェブサイトのどの要素(テーマ、プラグイン、WordPressコア)もそうですが、更新するたびに、サイトのバックアップを作成し、更新されたソフトウェアをテストして、正常に機能しているかどうかを確認する必要があります。本番のWordPressサイトに触れずにこれを行うには、まずサイトのステージングバージョンで更新を実行する必要があります。

さて、詳細な手順を見てみましょう。

最初にバックアップを作成する

泊まれ!サイトで更新を実行する前に、必ずバックアップを作成する必要があります。アップデートによってサイトが破損した場合に、サイトを復元できるためです。

以下のアドバイスに従い、常にステージングサーバーでテストを行うと、問題が発生する可能性は非常に低くなります。結局のところ、すでにテスト済みです。安全第一です!

毎日の自動バックアップ

Kinstaの毎日の自動バックアップ

Kinstaのお客様には、サイトの毎日の自動バックアップをご利用いただけます。ただし、更新の直前に手動バックアップも作成いただけます。前回の自動バックアップ以降にサイトが変更した可能性があるため、手動バックアップの作成をお勧めします。

手動バックアップを作成には、Kinstaダッシュボードで該当するサイトに移動し、メニューの「バックアップ」を選択して、「手動」タブを選択します。最大5つの手動バックアップを作成いただけます。各バックアップは14日間保持されます。

Kinstaの手動バックアップ

Kinstaの手動バックアップ

更新中に問題が発生し、サイトを復元する必要がある場合は、ワンクリックでバックアップを復元いただけます。

Kinstaダッシュボードの「バックアップ」画面にアクセスし、バックアップを選択して「復元先:」ボタンをクリックします。ステージングサイトにも本番サイトにも復元いただけます。バックアップの作成後にサイトに加えられた変更(他のユーザーがコンテンツを追加するなど)を失わないように、これをすばやく実行しましょう。

Kinstaのお客様ではなく、ご利用のホスティング会社がサイトの簡単なバックアップ手段を提供していない場合は、バックアッププラグインを使用する必要があります。無料のUpdraft Plusプラグインでは、自動バックアップも手動バックアップも作成できるし、復元手順も比較的簡単です。一方、Kinstaのお客様である場合は、Kinstaのすべてのプランに自動バックアップが含まれているため、バックアッププラグインは不要です。

更新を実行するタイミング

まず、更新を実行するのに最適なタイミングを特定することは価値があります。サイトの訪問者のダウンタイムや混乱を最小限に抑える必要があるため、訪問者数が最も少ない時間帯(または曜日)に更新を実行することは理にかなっています。

その時間帯はあなたがサイトを使用する可能性が最も低い時間帯であると想定しないでください。海外からの訪問者がかなり多い場合は、あなたが眠っているときに訪問者数が多い場合があります。

Google Analyticsなどのツールを使用して、サイトへのアクセスが最も少ない時期を特定し、それに応じて更新のタイミングを決めましょう。

この情報を入手したら、該当の時間帯または曜日にサイトの更新のタイミングを設定できます。ステージングサイトでテストを同じタイミングで行う必要はありません。都合の良いときに行ってください。ただし、本番サイトを更新するとダウンタイムが発生するため、混乱が最も少ない時間帯に設定してください。

Easy Updates Manager プラグインのプレミアムバージョンでは、更新を自動化したり、手動で予定を設定したりできます。

Easy Updates Managerプラグイン

Easy Updates Managerプラグイン

ステージングサイトを使用した更新

テーマを更新する前に、更新が正常に機能するか、サイトのその他のコードとの互換性があるかと、サイトが更新後も機能するかをテストします。

テストには、サイトの破壊しても不当な影響を与えることのない、訪問者に表示されないコピーを使用します。

最適なテスト環境は、ステージングサイトです。なぜかというと、ステージングサイトは本番サイトと同じサーバーにあり、本番サイトのカーボンコピーであるためです。つまり、ステージングサイトで機能するものは本番サイトでも機能します。

WordPressステージング環境

Kinstaのステージング環境

Kinstaは、各サイトにワンクリックのステージング環境を提供します。テーマの更新をテストする前に、ステージングサイトを更新します。これを行うには、既存のものを削除して新しいものを作成します。または、本番サイトの先ほど作成したバックアップを使用して、ステージングサイトに復元することもできます。

MyKinstaで作成されたステージングサイト

MyKinstaで作成されたステージングサイト

本番サイトのコピーができたら、https://staging-sitename.kinsta.cloudというURLを使用します。(sitenameはあなたのサイトの名前です。)このURLにより、ログイン、更新、テストなどが可能なステージングサイトに移動します。

ステージングサイトでのテストが完了したら(その詳細は後程)、MyKinstaダッシュボードのステージング環境に戻り、「ステージングを公開へ」ボタンをクリックできます。これにより、ステージングサイトに加えたすべての変更が本番サイトにコピーされます。サイトが正常に機能しているかを確実に確認するために、本番サイトで最終確認を実行することも忘れないでください。

アップデートのテスト

ステージングサイトを作成し、テーマの更新をインストールする準備ができている段階まで来て、テストを開始したいとしましょう。次のステップは何でしょうか?

次の手順に従ってください。

  1. テーマがご利用中のWordPressバージョンと互換性があるかどうかを確認してください。そうでない場合は、WordPressを更新する必要がある場合があります。(WordPress更新を優先しましょう。)こちらのテスト手順に従って、ステージングサイトを使用し、更新をテストした上で本番環境に公開してください。
  2. WordPressの管理画面の「テーマ」画面でテーマを更新します。テーマ名の下にある「更新」リンクをクリックするか、サードパーティのプロバイダーからテーマを購入した場合は新しいバージョンをアップロードします。
  3. サイトのステージングバージョンが正常に機能するかをテストします。さまざまなコンテンツタイプ(ホームページ、個々の投稿と固定ページ、アーカイブページ、カスタム投稿タイプ、分類など)をテストします。ウィジェットメニューに問題がないことを確認します。フォームの送信や購入などのプロセスもテストします。テストの具体的な内容はサイトによって異なりますが、テストを徹底的に実施することが重要です。サイトをざっと目を通したが、すべてのコンテンツタイプやプロセスをテストしなかった場合、ユーザーが購入する際やフォームに入力する際などに、問題が発生する可能性があります。
  4. テーマの更新によりサイトが壊れた場合は、テーマのサポートフォーラムを確認して、既知の問題がないか確認してください。管理画面で「テーマ」画面を開き、該当するテーマをクリックすると、これらへのアクセス情報があります。現在のバージョンの詳細のリンクをクリックすると、右側のサイドバーに「サポートフォーラムを表示」ボタンが表示されます。他のユーザーが同じ問題を抱えていないかについてはフォーラムを確認してください。
  5. 他のユーザーが報告していない問題が発生した場合は、テーマ開発者に報告してください。これは開発者が問題を修正するのに役立ちます。そして、テーマの修正を加えた次のバージョンがリリースされたときにこちらの手順を繰り返す必要があります。
  6. すべてが正常に機能する場合は、ステージングサイトを徹底的にテストした認識を持って安全に本番サイトに公開することができます。

カスタムのWordPressテーマを更新するには

しかし、すでにテーマを編集していて、変更を失わずにテーマを更新したい場合はどうすれば良いのでしょうか?

変更内容、具体的に言えば変更したファイルを覚えている限り、これは少し難しいですが、不可能ではありません。

子テーマを使用してカスタムのWordPressテーマを更新するときの問題を回避する

カスタムのWordPressテーマを更新する最も安全な方法は、子テーマを作成して、変更内容をその子テーマに追加することです。

これを行うには、編集したテーマファイルを使用して子テーマを作成します。ステージングサイトで次の手順に従います。(100%正しく実施しない場合は、本番サイトを壊す可能性があります。)

  1. 親テーマのバックアップを作成して、ローカルマシンにコピーします。これにより、見落とした内容があって、テーマを更新した後で編集をしなければならない場合に備えて、テーマのカスタムバージョンのコピーが必ずあります。
  2. 既存のテーマの子テーマを作成します。親テーマの詳細を含むスタイルシート(上記を参照)と、親テーマからスタイルをエンキューする関数ファイルを追加します。
  3. 親テーマの関数ファイルに加えた変更を特定します。新しい関数を子テーマの関数ファイルにコピーします。
  4. 親テーマのスタイルシートに加えた変更を特定します。このコードを子テーマのスタイルシートにコピーします。これにより、親テーマの同じ要素、クラス、またはIDのスタイル設定がオーバーライドされます。
  5. 編集したテンプレートファイルまたはインクルードファイルを特定します。これらを子テーマにコピーします。ファイルがサブディレクトリにある場合は必ず同じファイル構造を使用してください。
  6. 親テーマではなく、子テーマをアクティブ化します。
  7. サイトをテストします。テーマに加えたカスタマイズ内容をすべて確認します。特に、編集してコピーしたテンプレートファイルを使用して表示されるページを確認します。
  8. ファイルを再確認して、編集したファイルを見逃していないことを確認します。
  9. 「テーマ」画面で、またはテーマディレクトリ以外の場所から取得したテーマの場合はテーマをアップロードして、ステージングサイトの親テーマを更新します。
  10. サイトを再度テストします。編集したテンプレートファイルが正常に機能しているかを確認します。不足しているものがある場合は、親テーマの編集済みバージョンのバックアップを再確認し、必要なものをすべて子テーマにコピーします。
  11. サイトを再度テストします。ステージングサイトが機能していることに満足したら、ステージングの変更内容を本番サイトに公開します。(最初に必ず本番サイトのバックアップを作成しましょう。)本番サイトをテストして、完了です。

これを一回実施すれば、次に親テーマを更新するときに二度と繰り返す必要はありません。ただし、今後はさらなる変更を加える場合は、その変更を親テーマではなく子テーマに加えましょう。変更を加える前に子テーマのバックアップを作成し、変更内容をステージングサイトでテストし、徹底的な作業のためにGithubなどのバージョン管理システムを使用しましょう。

GitHubのウェブサイト

The GitHubのウェブサイト

親テーマの更新:子テーマに変更を加える

場合によっては、親テーマを更新すると、子テーマに加えた変更が原因でサイトが破損することがあります。

変更された、または削除された親テーマのフックに関数をアタッチした可能性があります。子テーマのテンプレートファイルが親テーマのテンプレートファイルと一致していない可能性があります。つまり、子テーマによって生成されたページは、サイトの他の部分と一致していません。

この場合、次の2つの対策のいずれかを実施してください。

前者を使用する場合は、ステージングサイトでテストし、編集する前に子テーマのバックアップを必ず作成してください。繰り返しますが、Githubは各バージョンの変更内容を把握するのに役立ちます。

後者を使用して子テーマのファイルを編集する場合は、子テーマでで行った変更の内容と、親テーマで行われた変更の内容と、それらの相互作用を正確に把握する必要があります。親テーマの以前のバージョンと新しいバージョンのコード、および子テーマの以前のバージョンと新しいバージョンのコードを比較することは便利です。そうすると、問題が発生した場所を把握して修正できます。

テーマリポジトリのリリースノート、または開発者のウェブサイトにあるより詳細なドキュメントなど、親テーマの該当リリースのドキュメントをお読みください。これは、子テーマに影響を与える変更内容を特定するのに役立ちます。

繰り返しますが、バックアップを必ず作成して、徹底的にテストしてください。

今後も安全に更新できるようにWordPressのテーマをカスタマイズするには

今のところテーマをカスタマイズしていないが、今後そうしたい場合は、最初から子テーマに変更内容を追加すると楽です

テーマディレクトリまたはテーマのベンダーから直接テーマを編集する場合、テーマが更新されると、テーマに加えた変更は失われます。新しいテーマファイルは編集したファイルを上書きするため、それまでの作業は失われます。

これが、サードパーティのテーマを直接編集してはならない理由です。サードパーティのテーマを正しく編集するには、そのテーマの子テーマを作成し、子テーマを編します。

さて、子テーマの概要と、子テーマを使用してカスタムのWordPressテーマを安全に更新(および編集)する方法を詳しく見てみましょう。

子テーマを使用してテーマを更新するときの問題を回避する

子テーマは、親テーマと連絡し合ってサイトを実行するテーマです。親テーマを上書きせずに、デザイン要素や関数などの追加機能を親テーマに追加します。子テーマで特定のファイルを作成し、親テーマの同じファイル名のファイルをオーバーライドします。これをWordPressのテンプレート階層と組み合わせて、あるページを表示するために使用するテーマテンプレートファイルをWordPressに指示します。

テーマテンプレートファイルのことが分からない方のために、例を挙げて説明いたします。

既存のテーマには、アーカイブページを表示するための3つのファイルがあります。

サイトにアーカイブを表示するとき、WordPressはこの階層を順番に参照し、最初のファイルを選択します。「カテゴリ」アーカイブの場合、これはcategory.phpになります。「タグ」アーカイブの場合、テーマにはtag.phpファイルがないため、archive.phpになります。

ただし、子テーマを作成する場合、WordPressは常に、親テーマのファイルではなく、子テーマにある階層の最上位のファイルを選択します。

つまり、archive.phpファイルのある子テーマを作成すると、次のようになります。

つまり、テーマのファイルを編集する場合は、子テーマを作成し、そのファイルを親テーマから子テーマにコピーして、子テーマの方のファイルを編集します。親テーマの元のファイルは変更されないため、テーマを更新しても作業内容は失われません。また、更新後であっても、WordPressは、親テーマの更新されたarchive.phpファイルではんく、子テーマのarchive.phpファイルを使用します。

これにより、テーマを更新する際に次の2つのことが発生します。

後者については間もなく説明します。しかし、子テーマを使用して、テーマに加えたい編集内容を保存するにはどうすればよいでしょうか。詳しく見てみましょう。

  1. 子テーマを作成します。これには、親テーマのスタイルをエンキューするスタイルシートと関数ファイルが必要です。
  2. 親テーマの編集したいファイルを特定します。
  3. 編集したいファイルが関数ファイルまたはスタイルシートである場合は、その2つのファイルをコピーせずに、新しいコードを、子テーマで作成したスタイルシートおよび関数ファイルに追加します。
  4. 編集したいファイルがテンプレートファイルまたはインクルードファイルである場合は、そのファイルを子テーマに複製して、親テーマから正確にコピーします。同じファイル構造を使用してコピーします。たとえば、ループファイルがparent-theme-folder/includes/loop.phpにある場合は、child-theme-folder/includes/loop.phpにコピーします。
  5. 子テーマのファイルを編集します。
  6. WordPress管理画面で親テーマではなく、子テーマをアクティブ化します。

以上です!唯一の追加作業は、すばやく簡単にできる子テーマの作成です。これにより、テーマを変更する必要があるときは、代わりに子テーマを編集できるようになりました。そうすれば、親テーマを更新しても、作業内容が失われることはありません。

WooCommerceサイトのWordPressテーマを更新するには

WooCommerceをご利用の場合は、テーマを編集してWooCommerceと互換性があるようにしている場合があります。

これは、WooCommerceのバージョン3.3より前のバージョンを使用している場合にのみ必要です。WooCommerceのチームからのアドバイスは、プラグインをアップグレードすることです。そうすると、テーマの方の互換性を確保するための追加のコードは不要になります。

ただし、何らかの理由でWooCommerceの最新のバージョンにアップグレードできない場合は(これはお勧めできません)、テーマを更新する前に、テーマに加えた変更内容を子テーマにコピーします。

次の2つの方法のいずれかでこれに取り組むことができます。

テーマに追加のテンプレートファイルを追加して、WooCommerceのテンプレートファイルを上書きすることはより一般的なやり方でしょう。これはWooCommerceのすべてのバージョンに関連する課題です。

これを行った場合は、子テーマを作成した上で、それらのテンプレートファイルを子テーマにコピーする必要があります。必ず元のテーマと同じファイル構造を使用するようにしてください。次に、上記の手順に従って子テーマをアクティブ化し、親テーマをテストして更新します。

上記が完了したら、ストアのないサイトよりも徹底的なテストを行う必要があります。サイトを一般的にテスト(上記を参照)するだけでなく、ストアの動作をテストする必要もあります。メインショップページ、商品カテゴリのページ、個々の商品ページ、そしてチェックアウトプロセスをすべてテストします。本番サイトに変更を公開する前に、サイトが正常に機能することを確認しましょう。

まとめ

これで、WordPressのテーマを最新の状態にしておくことが重要である理由と、最も重要なことに、さまざまな状況の中でテーマを更新する方法がわかりました。最新版のテーマはより安全で、WordPressのコアと互換性がある他、新機能の恩恵も受けます。

ただし、適切に更新することが重要です。更新を実行する前に必ずバックアップを作成し(Kinstaをご利用の場合は、このことを心配する必要はありません)、最初にステージングサイトでテストし、次に変更を本番サイトに公開します。

テーマに変更を加えた場合、追加の作業が発生します。最初に子テーマを作成し、変更内容または今後必要になる変更内容をその子テーマに追加します。これにより、親テーマを更新しても変更内容が失われることはありません。


この記事が面白いと思った方は、KinstaのWordPressホスティングプラットフォームも大好きでしょう。ウェブサイトをスピードアップし、当社のベテランのWordPressチームからの24時間365日のサポートを是非ご利用ください。Google Cloudを使用したインフラストラクチャは、自動スケーリング、パフォーマンス、およびセキュリティに重点を置いています。Kinstaの魅力をご案内させてください。当社のプランをご確認ください。