WordPressのアップグレード - 拡張手順

このページには、アップグレード手順の詳細版が含まれています。

詳細手順

アップグレードプロセスの概要

これがアップグレードプロセスの概要です。詳細なアップグレード手順を読み続けてください。

問題が発生した場合は、以下の手順を再度読み、正しい手順に従ったことを確認し、トラブルシューティング: 一般的なインストールの問題を参照してください。

複数のバージョン間のアップグレード

以下の方法論は「安全な」アプローチですが、適切なバックアップがあれば、最初のWordPressバージョンから最新バージョンに一度のステップで直接アップグレードすることも可能です。WordPressはこのプロセスをサポートしており、この点において非常に後方互換性があります。ただし、大規模なサイトを持っている場合、アップグレードプロセスは予想以上に時間がかかることがあるため、段階的なアプローチが役立つかもしれません。常に作業中のサイトのバックアップを保持しておくことを忘れないでください。

二つ以上の主要リリース間でアップグレードする予定がある場合は、潜在的な競合を避け、データベースの損傷リスクを最小限に抑えるために、段階的にアップグレードすることを検討してください。古いバージョンのWordPressはリリースアーカイブからダウンロードできます。

WordPress 3.7では、簡単に使用できるワンボタンアップデーターが導入され、現在のバージョンに直接移動できます。この更新ステップは安全であり、3.7からその後の任意のバージョンにワンクリックで更新することが可能です。

ステップ1: データベースのバックアップを取る

データベースのバックアップを実行します。ユーザー、投稿、ページ、リンク、カテゴリなど、すべてのWordPressデータは、MySQL データベースに保存されています。このプロセスの詳細な説明については、データベースのバックアップを取るをお読みください。

アップグレードを開始する前に、データベースのバックアップを取ることが非常に重要です。何らかの理由で「古い」バージョンのWordPressに戻す必要がある場合、これらのバックアップからデータベースを復元する必要があるかもしれません。

ステップ2: すべてのWordPressファイルをバックアップする

WordPressディレクトリ内のすべてのファイルと.htaccessファイルをバックアップします。通常、このプロセスはFTPプログラムを使用して、ホストからローカルコンピュータにすべてのWordPressファイルをダウンロードすることを含みます。

詳細な説明については、WordPressサイトのバックアップを取るをお読みください。

コアのWordPressファイルに変更を加えた場合や、カスタマイズされたプラグインやテーマがある場合は、それらのファイルの良好なバックアップを保持しておく必要があります。アップグレードを開始する前にファイルのバックアップを取ることが非常に重要です。何らかの理由で「古い」バージョンのWordPressに戻す必要がある場合、これらのファイルをアップロードする必要があります。

ステップ3: バックアップを確認する

作成したバックアップが存在し、使用可能であることを確認します。これはアップグレードプロセスで最も重要なステップです!

確認プロセスは、ローカルコンピュータ(または保存した場所)でバックアップファイルが見えることを確認し、任意のサブフォルダーに移動できることを確認することを含みます。ファイルがzipファイルに含まれている場合は、zipファイルを開けることを確認してください。また、エディタ.sqlファイルを開いて、テーブルとデータが表示されているか確認することも考慮してください。

ステップ4: すべてのプラグインを無効にする

あなたの管理画面のプラグインの選択肢の下で、すべてのプラグインを無効にします。WordPressの変更により、一部のプラグインがアップグレードプロセスと競合する可能性があります。管理メニューにアクセスできない場合は、プラグインフォルダーをリセットすることで、すべてのプラグインを無効にできます。

ステップ5: 最初の4つの手順が完了していることを確認する

最初の4つの手順を完了していない場合は、停止してそれらを実行してください!最初の4つの手順を完了しない限り、アップグレードを試みないでください。

アップグレードに関する問題の最良のリソースはWordPressサポートフォーラムであり、問題が発生した場合、WordPressサポートフォーラムのボランティアは、最初の4つの手順を完了したかどうかを尋ねるでしょう。

ステップ6: WordPressパッケージをダウンロードして解凍する

WordPressパッケージをhttps://wordpress.org/download/からダウンロードして解凍します。

  • リモートウェブサーバーにWordPressをアップロードする場合は、お気に入りのウェブブラウザでWordPressパッケージをコンピュータにダウンロードし、パッケージを解凍します。
  • ウェブサーバーにshellアクセスがあり、コンソールベースのツールを使用することに慣れている場合は、WordPressを直接ウェブサーバーにダウンロードすることを検討してください。wgetlynx、または他のコンソールベースのウェブブラウザを使用して、FTPingを避けることができます。パッケージを現在のWordPressディレクトリと並行するディレクトリに配置します(例えば「uploads」など)。次に、gunzip -c wordpress-_Version_.tar.gz | tar -xf -を使用して解凍します。tar -xzvf latest.tar.gzを使用しても構いません。

WordPressパッケージは、wordpressというフォルダーに抽出されます。

ステップ7: 古いWordPressファイルを削除する

なぜ削除するのか? 一般的に、可能な限り削除することは良い考えです。なぜなら、アップロード(またはcPanelを通じてのアップグレード)プロセスが既存のファイルを正しく上書きできない可能性があり、それが後で問題を引き起こす可能性があるからです。

これらのフォルダーとファイルを削除しないでください:

  • wp-config.phpファイル;
  • wp-contentフォルダー;
  • wp-includes/languages/フォルダー - 言語ファイルを使用している場合、wp-content/languages/ではなくここにある場合は、このフォルダーを削除しないでください(将来のアップグレードを容易にするために、言語ファイルをwp-content/languages/に移動することを検討してください)。
  • .htaccessファイル - .htaccessにカスタムルールを追加した場合は削除しないでください;
  • カスタムコンテンツおよび/またはプラグイン - wp-contentフォルダー内に画像や他のカスタムコンテンツやプラグインがある場合は、削除しないでください。

これらのファイルとフォルダーを削除してください:

  • wp-*(上記のものを除く)、readme.htmlwp.phpxmlrpc.php、およびlicense.txtファイル; 通常、ルートまたはWordPressフォルダー内のファイルです。再度、wp-config.phpファイルを削除しないでください。注意: 一部のファイルは後のバージョンには存在しない場合があります。
  • wp-adminフォルダー;
  • wp-includesフォルダー;
  • wp-content/plugins/widgetsフォルダー; このフォルダーは、以前にサイドバーウィジェットプラグインをインストールした場合にのみ表示されます。サイドバーウィジェットのコードは、組み込みウィジェット機能と競合します。

削除方法は? WordPressサイトからファイルを削除する方法はいくつかあります。FTPクライアントを使用するか、SSHにアクセスできる場合はそれを使用できます。一部のホスティングプロバイダーは、ファイルやフォルダーを削除する機能も提供しています。

FTPを使用してファイルとフォルダーを削除する

アップロードに使用するのと同じFTPクライアントを使用して、ファイルとフォルダーを削除できます。FTPクライアントが空でないフォルダーを削除できないように見える場合は、FTPクライアントの利用可能なオプションを確認してください。通常、空でないフォルダーを削除するオプションが見つかります。空でないフォルダーを削除することは、古いWordPressインストールをクリーンアップする迅速かつ徹底的な方法です。削除が完了したら、安全のために元の設定に戻すことをお勧めします。

SSHを使用してファイルを削除する

コマンドラインログイン(ssh)がある場合は、必要なファイルのバックアップコピーを作成し、ディレクトリ内のWordPressファイル(および.htaccess)をのみ削除するために、次のコマンドを入力できます。``````bash
$ mkdir backup
cp wp-config.php .htaccess backup
cp -R wp-content backup
rm wp*.php .htaccess license.txt readme.html xmlrpc.php
rm -rf wp-admin wp-includes
cp backup/wp-config.php .

  1. アップグレードが完了したら、バックアップディレクトリからテンプレートやプラグインのカスタマイズを復元できます。たとえば、`````cp backup/index.php .`````を使用して`````index.php`````を復元します。
  2. または、SSHを使用して、`````wp-config.php, .htaccess`````および追加または変更したコンテンツファイルを*新しい*WordPressディレクトリにコピーできます。次に、古いものの名前を変更(アーカイブするため)し、新しいものをその場所に移動します。
  3. <a name="step-8-upload-the-new-files"></a>
  4. ##### ステップ8: 新しいファイルをアップロードする
  5. 新しいアップグレードをローカルコンピュータに持ち、[FTP](https://wordpress.org/documentation/article/glossary#ftp)を使用して、最初にWordPressをインストールしたときと同様に、新しいファイルをサイトサーバーに[アップロード](/read/wordpress/bd63dc99f66f057b.md)します。[FileZillaの使用](/read/wordpress/bd63dc99f66f057b.md)および[リモートホストへのWordPressのアップロード](https://codex.wordpress.org/Uploading_WordPress_to_a_remote_host)に関する詳細なガイドラインを参照してください。
  6. **注意: `````wp-content`````フォルダーを削除しなかった場合、アップロード中にいくつかのファイルを上書きする必要があります。**
  7. `````wp-content`````フォルダーにはWordPressテーマとプラグインが含まれています。これらは残すべきです。他のすべてを最初にアップロードし、新しい`````wp-content`````フォルダーに新しいまたは変更されたWordPressファイルのみをアップロードします。古いバージョンのデフォルトプラグインは新しいものに上書きします。
  8. WordPressのデフォルトテーマは変更されたため、`````wp-content/themes/default`````フォルダーをアップロードする必要があります。デフォルトテーマにカスタム変更がある場合は、アップグレード後にそれらの変更を確認し、インストールする必要があります。
  9. <a name="step-9-run-the-wordpress-upgrade-program"></a>
  10. ##### ステップ9: WordPressアップグレードプログラムを実行する
  11. ウェブブラウザを使用して、通常の/wp-adminの場所にあるWordPress管理ページにアクセスします。WordPressはデータベースのアップグレードが必要かどうかを確認し、必要な場合は従うべき新しいリンクを提供します。
  12. このリンクは、`````wp-admin/upgrade.php`````にアクセスしてWordPressアップグレードスクリプトを実行することにつながります。画面に表示される指示に従ってください。
  13. 注意: WordPressに登録されているデータベースユーザー名が、データベーステーブルを作成、変更、削除する権限を持っていることを確認してください。このステップを実行する前に、標準的な方法でWordPressをインストールし、それ以降何も変更がない場合は問題ありません。
  14. アップグレードスクリプトを手動で実行したい場合:
  15. - WordPressがルートディレクトリにインストールされている場合は、ブラウザを次のように指示します: https://example.com/wp-admin/upgrade.php
  16. - WordPress`````blog`````というサブディレクトリにインストールされている場合は、ブラウザを次のように指示します: https://example.com/blog/wp-admin/upgrade.php
  17. アップグレード後にログインに問題が発生した場合は、ブラウザのクッキーをクリアすることをお勧めします。
  18. <a name="step-10-update-permalinks-and-htaccess"></a>
  19. ##### ステップ10: パーマリンクと.htaccessを更新する
  20. あなたの[管理画面](https://wordpress.org/documentation/article/administration-screens/) \u0026gt; [設定](https://wordpress.org/documentation/article/administration-screens/#permalinks) \u0026gt; [パーマリンク](https://wordpress.org/documentation/article/settings-permalinks-screen/)画面で、パーマリンク構造を更新し、必要に応じて[`````.htaccess`````](https://wordpress.org/documentation/article/wordpress-glossary/#.htaccess)ファイルにルールを配置します。また、[パーマリンクの使用](https://wordpress.org/documentation/article/using-permalinks/)を参照して、パーマリンクおよび[`````.htaccess`````](https://wordpress.org/documentation/article/wordpress-glossary/#.htaccess)ファイルに関する詳細を確認してください。
  21. <a name="step-11-install-updated-plugins-and-themes"></a>
  22. ##### ステップ11: 更新されたプラグインとテーマをインストールする
  23. 各プラグインおよびテーマのページを訪問し、新しいWordPressバージョンとの互換性情報を探してください。必要に応じて、プラグインとテーマの新しいバージョンをインストールします。
  24. <a name="step-12-reactivate-plugins"></a>
  25. ##### ステップ12: プラグインを再有効化する
  26. 管理画面のプラグインを使用して、プラグインを有効化します。新しいバージョンで正しく動作するかどうか不明な場合は、各プラグインを一度に一つずつ有効化し、問題がないことを確認してから続行してください。
  27. <a name="step-13-review-what-has-changed-in-wordpress"></a>
  28. ##### ステップ13: WordPressで変更された内容を確認する
  29. WordPressの新機能を確認するために、これらのリソースをレビューしてください:
  30. - [バージョン履歴](https://codex.wordpress.org/WordPress_Versions)
  31. <a name="troubleshooting"></a>
  32. ### トラブルシューティング
  33. **レイアウトが乱れたりエラーが発生した場合**
  34. ブログが現在乱れている場合や行のエラーが発生している場合、古いプラグインが新しいコードと互換性がない可能性があります。WordPressの[管理画面](https://wordpress.org/documentation/article/administration-screens)で、WordPressにデフォルトで付属していないすべてのプラグインを無効にします。一つずつ再有効化します。
  35. **カスタム変更/ハックを行いましたか?**
  36. 他のWordPressファイルに変更を加えた場合(「ハック」したWordPress)、変更を追跡する必要があります。新しいコードに編集を転送する必要があります。[WordPressバージョン](https://codex.wordpress.org/WordPress_Versions)では、各リリースで変更されたファイルがリストされています。
  37. **古いコードの使用を避ける**
  38. アップグレードにより、最新かつ最良のコードが提供されます。どれだけカスタマイズしても、古いコードを使用することはほぼ確実に問題を引き起こします。古い修正されたコードを使用する誘惑は大きいですが、エラーの可能性ははるかに高くなります。
  39. **古いバージョンに戻ることはできますか?**
  40. 可能ですが、現在のバージョンを古いバージョンにロールバック(戻す)することは通常推奨されません。なぜなら、新しいバージョンにはセキュリティ更新が含まれていることが多く、ロールバックはサイトを危険にさらす可能性があるからです。第二に、バージョン間のデータベース構造の変更が、サイトのコンテンツ、投稿、コメント、およびデータベースに保存された情報に依存するプラグインの維持に複雑さを引き起こす可能性があります。これを行うことを強く希望する場合は、自己責任で進めてください。**アップグレードを試みる前に、サイト全体とデータベースのバックアップがない限り、成功したロールバックはほぼ不可能です。** `````wp-config`````を除くすべてのWordPressファイルを削除します。バックアップからファイルをサーバーに[アップロード](/read/wordpress/bd63dc99f66f057b.md)し、[データベースバックアップを復元](https://wordpress.org/article/restoring-your-database-from-backup/)します。ロールバックが機能するためには、良好なバックアップが必要です。古いWordPressバージョンでは、ロールバックが機能しない場合があります。
  41. **さらにヘルプを得る**
  42. アップグレード後にエラーが発生した場合は、[トラブルシューティング: 一般的なインストールの問題](7f28675e78d432a7.md#common-installation-problems)、[トラブルシューティング](https://codex.wordpress.org/Troubleshooting)、および[インストールカテゴリの記事](https://wordpress.org/documentation/category/installation/)を確認してください。答えが見つからない場合は、[WordPressサポートフォーラム](https://wordpress.org/support/forums/)に明確な質問を投稿してください。古いコードを使用したかどうか尋ねられます。その場合は、今すぐ変更するように言われるでしょう![🙂](https://cdn.hedaai.com/projects/wordpress/37fd3d044d0d862af5b0c6b985c0e8ee.svg)
  43. <a name="configuring-automatic-background-updates"></a>
  44. ## 自動バックグラウンド更新の設定
  45. <a name="update-types"></a>
  46. ### 更新の種類
  47. 自動バックグラウンド更新は、[WordPress 3.7](https://wordpress.org/documentation/wordpress-version/version-3-7/)で導入され、より良いセキュリティを促進し、全体的な更新体験を合理化することを目的としています。デフォルトでは、ほとんどのサイトでWordPressの自動更新が有効になっています。特別な場合には、プラグインやテーマも自動的に更新されることがあります。翻訳ファイルはデフォルトで自動更新されます。
  48. WordPressには、自動バックグラウンド更新の4つのタイプがあります:
  49. - 1*.* コア更新
  50. - 2*.* プラグイン更新
  51. - 3*.* テーマ更新
  52. - 4*.* 翻訳ファイル更新
  53. <a name="core-updates"></a>
  54. #### コア更新
  55. コア更新は3つのタイプに細分化されます:
  56. - 1*.* コア開発更新、いわゆる「最先端」
  57. - 2*.* マイナーコア更新、メンテナンスおよびセキュリティリリースなど
  58. - 3*.* メジャーコアリリース更新
  59. WordPress 5.6以前は、デフォルトで、すべてのサイトでマイナーコアリリースと翻訳ファイルの自動更新が有効になっていました。WordPress 5.6以降は、すべての新しいサイトでマイナーおよびメジャーリリースの自動更新が有効になっています。
  60. すでに開発バージョンを実行しているサイトも、デフォルトでさらなる開発バージョンへの自動更新が有効になっています。
  61. <a name="update-configuration"></a>
  62. ### 更新設定
  63. 自動更新は、`````wp-config.php`````で定数を定義するか、プラグインを使用してフィルターを追加することで設定できます。
  64. <a name="configuration-via-wp-config-php"></a>
  65. #### wp-config.phpによる設定
  66. `````wp-config.php`````を使用して、自動更新を完全に無効にし、コア更新を無効にするか、更新タイプに基づいて設定できます。
  67. <a name="constant-to-disable-all-updates"></a>
  68. ##### すべての更新を無効にするための定数
  69. コア開発者は、マイナーリリースと翻訳ファイルの自動更新をデフォルトで有効にするという意識的な決定を下しました。今後、これがサイトを最新かつ安全に保つための最良の方法の一つとなるため、これらの更新を無効にすることは強く推奨されません。
  70. すべてのタイプの自動更新、コアまたはその他を完全に無効にするには、`````wp-config.php`````ファイルに次の内容を追加します:
  71. ``````bash
  72. define( 'AUTOMATIC_UPDATER_DISABLED', true );

コア更新を設定するための定数

メジャーリリースや開発目的の自動更新を有効にするには、WP_AUTO_UPDATE_CORE定数から始めます。この定数を3つの方法のいずれかで定義することで、複数のコア更新タイプを一度に一括有効化または一括無効化できます。

  1. define( 'WP_AUTO_UPDATE_CORE', true );
  1. - `````true`````の値 - 開発、マイナー、メジャーのすべての更新が**有効**
  2. - `````false`````の値 - 開発、マイナー、メジャーのすべての更新が**無効**
  3. - `````'minor'`````の値 - マイナー更新が**有効**、開発およびメジャー更新が**無効**
  4. 開発バージョンをすでに実行しているサイトのみが開発更新を受け取ります。
  5. 開発サイトのデフォルト値は`````WP_AUTO_UPDATE_CORE``````````true`````です。他のサイトのデフォルト値は`````WP_AUTO_UPDATE_CORE``````````minor`````です。
  6. WordPress 5.6以降、新しいWordPressインストールのデフォルト値は`````WP_AUTO_UPDATE_CORE``````````true`````です。新しいウェブサイトのデフォルト値は`````WP_AUTO_UPDATE_CORE``````````minor`````です。
  7. <a name="configuration-via-filters"></a>
  8. #### フィルターによる設定
  9. フィルターを使用すると、自動更新の詳細な制御が可能になります。
  10. これらのフィルターを配置する最良の場所は、[必須プラグイン](/read/wordpress/08e1717ecfcbf2c1.md)です。
  11. `````add_filter()`````呼び出しを`````wp-config.php`````に直接追加しないでください。WordPressは完全に読み込まれておらず、WP-CLIなどの他のアプリケーションと競合を引き起こす可能性があります。
  12. <a name="disabling-all-updates-via-filter"></a>
  13. ##### フィルターを介してすべての更新を無効にする
  14. 次のフィルターを使用して、すべての自動更新を無効にすることもできます:
  15. ``````bash
  16. add_filter( 'automatic_updater_disabled', '__return_true' );
  17. `

フィルターを介したコア更新

コアタイプの更新のみを有効にするには、次のフィルターを使用します:

  1. add_filter( 'auto_update_core', '__return_true' );

ただし、すべての3種類のコア更新を有効または無効にするのではなく、選択的に有効または無効にしたい場合は、allow_dev_auto_core_updatesallow_minor_auto_core_updatesallow_major_auto_core_updatesフィルターが役立ちます。

WordPressには、特定のコア更新タイプを単一のコード行で有効または無効にするための2つのショートハンド関数が組み込まれています。それらは__return_true__return_falseです。以下は、いくつかの例のフィルターです:

特定のものを有効にするために(無効にする場合はfalseを使用してください):

  1. add_filter( 'allow_dev_auto_core_updates', '__return_true' ); // Enable development updates
  2. add_filter( 'allow_minor_auto_core_updates', '__return_true' ); // Enable minor updates
  3. add_filter( 'allow_major_auto_core_updates', '__return_true' ); // Enable major updates

開発者向け: WordPressディレクトリまたはその親ディレクトリにVCSフォルダー(.git、.hg、.svnなど)が見つかった場合でも、自動更新を有効にするには:

  1. add_filter( 'automatic_updates_is_vcs_checkout', '__return_false', 1 );

プラグインおよびテーマの更新をフィルターで制御

デフォルトでは、自動バックグラウンド更新は、WordPress.org APIの応答によって決定される特別な場合にのみプラグインとテーマに対して行われます。これは、WordPressセキュリティチームによって重要な脆弱性を修正するために制御されています。すべてのケースで更新を有効または無効にするには、auto_update_$typeフィルターを利用できます。ここで、$typeは「プラグイン」または「テーマ」に置き換えられます。

すべてのプラグインの自動更新

  1. add_filter( 'auto_update_plugin', '__return_true' );

すべてのテーマの自動更新:

  1. add_filter( 'auto_update_theme', '__return_true' );
  1. `````auto_update_$type`````フィルターは、更新される特定のアイテムもフィルターに渡されるため、より詳細な制御を可能にします。特定のプラグインのみの自動更新を有効にしたい場合は、次のようなコードを使用できます:
  2. ``````bash
  3. function auto_update_specific_plugins ( $update, $item ) {
  4. // Array of plugin slugs to always auto-update
  5. $plugins = array (
  6. 'akismet',
  7. 'buddypress',
  8. );
  9. if ( in_array( $item->slug, $plugins ) ) {
  10. // Always update plugins in this array
  11. return true;
  12. } else {
  13. // Else, use the normal API response to decide whether to update or not
  14. return $update;
  15. }
  16. }
  17. add_filter( 'auto_update_plugin', 'auto_update_specific_plugins', 10, 2 );
  18. `

翻訳更新をフィルターで制御

自動翻訳ファイルの更新は、マイナーコア更新と同様にデフォルトで有効になっています。

翻訳ファイルの更新を無効にするには、次のようにします:

  1. add_filter( 'auto_update_translation', '__return_false' );

フィルターを介してメールを無効にする
  1. // Disable update emails
  2. add_filter( 'auto_core_update_send_email', '__return_false' );

このフィルターは、メールの$type(成功、失敗、重大)、更新タイプオブジェクト$core_update、または$resultに応じて更新メールを操作するためにも使用できます:

  1. /* @param bool $send Whether to send the email. Default true.
  2. @param string $type The type of email to send. Can be one of 'success', 'fail', 'critical'.
  3. @param object $core_update The update offer that was attempted.
  4. @param mixed $result The result for the core update. Can be WP_Error.
  5. */
  6. apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result );

リソース

変更履歴