WordPressサイトでエラーが発生すると、業務の妨げになり、訪問者もスムーズにサイトを利用できなくなる可能性があります。今回取り上げる「ディレクトリを作成できませんでした」というエラーメッセージの場合は、サイトの主要な機能が動作しなくなることがあります。

幸いこのエラーの解決は非常に簡単です。設定を微調整するだけで、WordPressプラグインまたはWordPressテーマをすぐに修正することができます。

今回は、「ディレクトリを作成できませんでした」エラーの原因と関連するエラーについて、そしてエラーの解決方法を3種類ご紹介します。

「ディレクトリを作成できませんでした」エラーの原因

WordPressの「ディレクトリを作成できませんでした」エラーが発生するシナリオは、以下の3通りがあります。

  1. WordPress管理画面でテーマプラグインをインストール時
  2. テーマやプラグインの更新中
  3. サーバーのwp-contentディレクトリへのファイルアップロード時

いずれの状況でも根本の原因は同じです。各シナリオごとにもう少し掘り下げてみましょう。

サイトに新しいテーマまたはプラグインをインストールする

WordPressサイトは、データベース、サーバー上のフォルダまたはディレクトリに保存されているファイルの2つの要素で構成されています。WordPressのインストーラーを使用してサイトにテーマまたはプラグインを追加する場合、ファイルを保存するディレクトリが新規作成されます。

インストールしようとしているプラグインまたはテーマに、サイトのルートディレクトリへの書き込み権限を持たない場合、ディレクトリを作成することができません。この時、「ディレクトリを作成できませんでした」というエラーメッセージが表示されます。

これはサイトのファイルを変更することが許可されていないということを示しており、該当のプラグインやテーマを追加してサイトのファイルを変更することは許可されていないことを伝えようとします。これは最近立ち上げたWordPressサイトで発生するのが通例です。

また、あまり知られていませんが、このエラーの原因はもう1つあり、サーバーでサイトのファイルを保存するためのディスク容量が不足している可能性があります。WordPressのディスク使用状況の確認方法はこちらでご紹介しています。

古いバックアップファイルが削除されていない、または利用しているサーバープランのリソースが足りていない可能性も考えられます。後者の場合は、プランのアップグレードを検討することをおすすめします。

既存のテーマまたはプラグインの更新

サイトに既にインストールしているWordPressテーマやプラグインを更新しようとして、「更新に失敗しました。ディレクトリを作成できませんでした」というエラーメッセージが表示されることもあります。

この場合も発生原因は同じで、WordPressプラグインまたはテーマの更新には、サイトのサーバー上で該当のファイルを書き換える必要があります。アクセス権限の設定に誤りがある場合、または十分なディスク容量がない場合は、適切なファイルにアクセスしたり、新規ファイルをアップロードしたりすることができません。

wp-contentディレクトリへのファイルのアップロード

サーバーのファイルアクセス権は、許可されていないユーザーによるサイトの変更や機密情報の盗用を防ぐためにサーバーが導入しているセキュリティ対策の1つです。

この設定に誤りがある場合、自分のサイトのファイルにアクセスできなくなることがあります。

したがって、WordPress管理画面の「ディレクトリを作成できませんでした」エラーを回避するためにプラグインまたはテーマのファイルをサーバーのwp-contentディレクトリに直接アップロードしても、同じエラーが発生する可能性があります。これはWordPressではなく、サーバーの問題に起因します。

また、このエラーは全てのメディアファイルが保存されているwp-content/uploadsサブディレクトリにも影響を及ぼすことがあります。画像や動画などのコンテンツをサーバーに保存してサイトに追加するプロセスは、プラグインやテーマを新たにインストールするプロセスと同じになります。

ルートディレクトリに書き込む権限がなくても、wp-content/uploadsにコンテンツをアップロードすると、このエラーが発生します。このエラーを解決するにはサーバー設定の調整が必要です。

「ディレクトリを作成できませんでした」エラーのとラブルシューティング方法

このエラーの解決は比較的簡単で、多くの場合はアクセス権の設定を修正するだけでOKです。ただし、設定の調整を行う前に、原因を特定し、本当に設定を調整する必要があるかどうかを確認しましょう。

以下、このエラーがアクセス権関連のものであるかどうかを判断する2つの方法をご紹介します。

1. WordPressのサイトヘルスツールを使用する

WordPress 5.2では、サイトヘルス機能が導入されました。パフォーマンステストの結果、セキュリティチェック、WordPress設定データなど、WordPressサイトに関する貴重な情報を確認することができます。

WordPress管理画面から「ツール」>「サイトヘルス」に移動し、「情報」タブを開きます。

WordPressのサイトヘルス機能
WordPressのサイトヘルス機能 

情報」タブを開いたら、下にスクロールして「ファイルシステムパーミッション」を開きます。

WordPressサイトヘルスの「情報」タブ
WordPressサイトヘルスの「情報」タブ

展開すると、プラグインとテーマのディレクトリなどの主要なWordPressファイルが一覧表示されます。いずれも「書き込み可能」となっているのが正常です。

WordPressサイトヘルスのファイルシステムパーミッションを確認
WordPressサイトヘルスのファイルシステムパーミッションを確認

権限が正しく設定されていない場合、該当のフォルダーの横に「書き込み不可」と表示されます。これで、ファイルアクセス権を修正する必要があることがわかりました。

2. サーバーのエラーログを確認する

または、サーバーのエラーログを確認する手もあります。正しくないファイルアクセス権だけでなく、すべてのエラーが表示されるため、より効率的かもしれません。エラーログには、ご利用のサーバーのコントロールパネルからアクセスできるはずです。

Kinstaをご利用の場合は、MyKinstaにログイン後、「WordPressサイト」を開きます。

MyKinstaのダッシュボード
MyKinstaのダッシュボード

「ディレクトリを作成できませんでした」エラーが発生しているサイト名をクリックしたら、左サイドバーから「ログ」を選択します。

MyKinstaのログビューア
MyKinstaのログビューア

ドロップダウンメニューから「error.log」を選択すると、エラーの原因となっている可能性のあるファイルアクセス権やディスク容量不足など、サーバーで発生した最近のエラーが一覧表示されます。

関連するエラーが表示される場合は、ファイルアクセス権を調整するか、必要に応じてサーバープランのアップグレードを検討してください。

「ディレクトリを作成できませんでした」エラーの解決方法

サイトのアクセス権設定が原因で「ディレクトリを作成できませんでした」エラーが発生している場合は、アクセス権をリセットして解決することができます。これにはFTPクライアントを使用して、ファイル転送プロトコル(FTP)経由でサーバーに接続します。

なお、サイトのファイルに変更を加える際は、万が一の事態に備えてバックアップを作成してください。続いて、サーバーアカウントでFTP認証情報を参照します。

Kinstaをご利用の場合は、MyKinstaのサイトの「情報」画面で確認できます。

MyKinstaでSFTP/SSH情報を確認
MyKinstaでSFTP/SSH情報を確認

FileZillaなどのクライアントを開き、情報を入力します。サーバーに接続されると、public_htmlフォルダが表示されます。ダブルクリックすると、WordPressファイルが表示されます。

FTP経由でpublic_htmlディレクトリにアクセス
FTP経由でpublic_htmlディレクトリにアクセス

その後、wp_contentwp_includeswp_adminフォルダを選択して右クリックし、「File Permissions」(ファイルアクセス権)を選択します。

FTP経由でファイルアクセス権を選択
FTP経由でファイルアクセス権を選択

すると、以下のような設定ウィンドウが表示されます。

FTP経由で正しいファイルアクセス権を設定
FTP経由で正しいファイルアクセス権を設定

この設定が以下の値に設定されていることを確認しましょう。

  • Owner Permissions:ReadWriteExecute(所有者のアクセス権:読み取り、書き込み、実行)
  • Group Permissions:ReadExecute(グループのアクセス権:読み取り、実行)
  • Public Permissions:ReadExecute(パブリックアクセス権:読み取り、実行)
  • Numeric value:755(数値:755)
  • Recurse into subdirectories(サブディレクトリに反映)を選択
  • Apply to directories only(ディレクトリにのみ適用)を選択

設定を調整したら、「OK」をクリックして設定を保存します。 次に、public_html内の他のすべてのファイルを選択し、「File Permissions」(ファイルのアクセス権)を開いて、以下のように設定を変更してください。

  • Owner Permissions:ReadWriteExecute(所有者のアクセス権:読み取り、書き込み、実行)
  • Group Permissions:ReadExecute(グループのアクセス権:読み取り、実行)
  • Public Permissions:ReadExecute(パブリックアクセス権:読み取り、実行)
  • Numeric value:644(数値:644)
  • Recurse into subdirectories(サブディレクトリに反映)を選択
  • Apply to files only(ファイルにのみ適用)を選択

OK」をクリックして設定を保存したら、サイトにアクセスし、プラグインやテーマのインストールまたは更新を再度実行してみてください。

cPanelを採用するサーバーを含む一部サーバーでは、FTPを使用せずに設定を変更できる可能性があります。アカウントにログインし、エラーが発生しているサイトを開いて、ファイルマネージャーを探してみてください。

まとめ

WordPressサイトのプラグインとテーマは、重要な機能を提供する不可欠な要素ですが、インストール時や更新中にエラーが発生すると厄介です。

プラグインやテーマのインストールエラーの原因がファイルアクセス権にあるかどうかを判断するには、サイトヘルス機能を使用するか、サーバーのエラーログを確認してみてください。その後、必要に応じてFTP経由(またはサーバーコントロールパネルの設定画面)でアクセス権を調整しましょう。数分でエラーを解決することができます。