WordPressでFTPの認証情報を求められて、プラグインが更新できないときの対処法

WordPress

【結論】FTP認証が求められたらまずやるべきこと

WordPressでFTPの認証情報を求められて、プラグインが更新できないときの対処法

WordPressの管理画面からプラグインのインストールやテーマの更新をしようとしたとき、突然「FTP情報(ホスト名・ユーザー名・パスワード)」の入力を求められることがあります。

この画面が表示された場合、WordPressがサーバー上のファイルに直接アクセスできていないという状態です。
多くのケースでは、以下の方法で即座に解決できます。

最も簡単な対処法:wp-config.php に1行追加

最も簡単な対処法:wp-config.php に1行追加

WordPressがファイルを直接操作できるように、wp-config.php に以下のコードを追記します。

define('FS_METHOD', 'direct');
/* That's all, stop editing! Happy publishing. */ の上に追加する

この1行で、WordPressはFTP経由ではなく、直接サーバー上のファイルを書き換えるモードに切り替わり、FTPの認証画面は表示されなくなります。

注意点

この方法は万能ではありません

  • サーバーの設定や環境によっては、FS_METHOD を指定しても動作しない場合があります。
  • セキュリティ対策でファイル操作に制限があるサーバーでは、別の対処が必要です。
  • 一時的な応急処置として使い、根本的にはファイル所有者やパーミッションの見直しが重要です(次章で詳しく解説します)。
チェック項目内容
WordPressがFTP情報を要求するFS_METHODdirect に設定
効果がなかった→ 所有者やパーミッションの確認が必要
共有サーバーを使用中→ ホスティング会社に問い合わせも検討

なぜWordPressがFTP情報を要求するのか?

WordPressは、プラグインのインストールやテーマの更新などの操作を行う際、サーバー上のファイルを直接書き換える権限を必要とします。
このとき、WordPressが自動的にファイルシステムへアクセスできないと、「FTP認証情報を入力してください」という画面が表示される仕組みになっています。

WordPressがファイルに直接アクセスできない状態になる主な原因は次の通りです。

原因1:サーバー上のファイルの所有者(オーナー)が異なる

もっとも多い原因は、WordPressの実行ユーザーとファイル所有者が一致していないことです。

どういうこと?
  • WordPressは通常「Apache」や「nginx」などのWebサーバーのユーザーとして動作します(例:www-data)。
  • しかし、FTPソフトなどで手動アップロードされたファイルは、別のユーザー(例:ftpuser)の所有になっている場合があります。
  • 所有者が違うと、WordPressがそのファイルにアクセスできず、代わりに「FTP情報を使って操作してください」と求めてきます。

原因2:ファイルやディレクトリのパーミッション(権限)設定が厳しすぎる

原因2:ファイルやディレクトリのパーミッション(権限)設定が厳しすぎる

ファイルやフォルダのパーミッションが厳しすぎると、WordPressが必要な処理を行えず、FTP認証が求められることがあります。

例えば
  • wp-content フォルダのパーミッションが「700」などになっていると、WordPressがアクセスできません。
  • 通常、ディレクトリは「755」、ファイルは「644」に設定するのが一般的です。

原因3:FS_METHOD の設定が明示されていない

wp-config.phpdefine('FS_METHOD', 'direct'); の記述がない場合、WordPressは「直接アクセスできるか」を自動で判断し、できなければFTPモードを選択します。

このため、環境によってはFTP認証が必要と判断されてしまうことがあります。

原因4:セキュリティ強化されたサーバー環境や共有サーバーを使用している

レンタルサーバー(特にエックスサーバーやロリポップなどの共有サーバー)では、セキュリティの観点からファイルの書き換えに制限がかかっている場合があります。

このようなサーバーでは、管理者権限の範囲でしかファイル操作ができないよう制御されているため、FTP情報が必要になるケースが多いです。

まとめ

原因解説
所有者の違いWebサーバーのユーザーとファイルの所有者が一致していない
パーミッションの設定アクセス権が厳しすぎてWordPressが操作できない
FS_METHOD 未設定明示的に「direct」を指定しないとFTPを求められることがある
サーバーの仕様特定のホスティング環境では意図的にFTPが必須にされている

原因別の対処法【初心者でもできる手順つき】

WordPressがFTP認証情報を求めてくる原因がわかったところで、ここではそれぞれの原因に応じた具体的な対処法を紹介します。
初心者の方でもなるべく迷わず対応できるよう、手順も丁寧に解説します。

対処法1:wp-config.phpにFS_METHODを追記する(もっとも簡単)

冒頭にも記載しましたが、FTP認証を回避する最も手軽な方法は、wp-config.php に以下の1行を追記して、ファイルシステムへの直接アクセスを明示的に許可することです。

  1. WordPressのインストールフォルダ内にある wp-config.php を開く
  2. 以下のコードを、/* That's all, stop editing! Happy publishing. */直前に追加する
  3. 保存してアップロード(またはサーバー上で編集した場合は保存のみ)
define('FS_METHOD', 'direct');

この設定により、WordPressはFTPを使わず直接ファイル操作を試みます。
ただし、パーミッションや所有者が原因の場合はこれだけでは解決しないこともあります。

対処法2:ファイルとフォルダのパーミッションを見直す

適切なパーミッションに設定することで、WordPressが必要なファイルにアクセスできるようになります。

推奨パーミッション設定
  • フォルダ:755
  • ファイル:644
  1. FTPソフト(FileZilla など)でサーバーに接続
  2. wp-contentwp-content/plugins フォルダなどを右クリック → 「ファイルのパーミッション」
  3. 数値を 755 に設定し、「サブディレクトリにも適用」にチェックしてOK
  4. 同様に、ファイルは 644 に設定

対処法3:ファイルの所有者をWebサーバーユーザーに変更(上級者向け)

サーバーにSSHでアクセスできる場合は、chown コマンドでファイル所有者をWebサーバーユーザーに変更することで解決できます。

sudo chown -R www-data:www-data /var/www/html

※これはLinuxサーバー環境での例です。
共有レンタルサーバーでは使えないことが多いため、代わりに FTP設定やサーバーサポートへの相談を検討してください。

対処法4:使用しているサーバーの仕様を確認し、FTP情報を登録する

特に共有レンタルサーバーでは、セキュリティ上FTP情報の入力を求める仕様になっていることがあります。

  1. WordPress管理画面でFTP認証画面が表示されたら、サーバー会社から提供されているFTP情報を入力
    - ホスト名:通常は「ftp.example.com」や「サーバーIP」
    - ユーザー名/パスワード:FTPアカウント情報
  2. [接続]を押してインストールや更新を進める

WordPressの機能としてはFTP認証でも問題ありませんが、頻繁に聞かれるのは煩わしいので、できればFS_METHODによる解決を目指しましょう。

対処法5:サーバー会社のサポートに相談する(どうしても解決しないとき)

上記の方法を試しても解決しない場合は、サーバー会社のサポートに相談しましょう。
状況を説明すれば、適切な対応方法や設定の見直しを提案してくれることが多いです。

まとめ:原因に応じた対処法を選ぼう

原因対処法
FS_METHOD 未設定wp-config.phpdefine('FS_METHOD', 'direct'); を追加
パーミッションの問題フォルダ:755/ファイル:644 に設定し直す
所有者の違いchownでWebサーバーユーザーに変更(SSH接続できる場合)
サーバーの仕様FTP情報を入力 or サポートに相談

よくある疑問

WordPressでFTP認証が求められたときに、よく疑問に思うことをまとめました。
初心者の方でも安心して対処できるように、解説します。

なぜ急にFTP認証を求められるようになった?

サーバー環境の変化や、WordPressのバージョンアップ、プラグインのインストールなどにより、ファイルの書き込み権限や所有者の設定が変わったことが原因で、FTP経由でのアクセスが必要と判断された可能性があります。

特に以下のようなタイミングで起こりやすいです。

  • WordPress本体やプラグインの更新直後
  • サーバーのPHPバージョン変更後
  • 新しいテーマをアップロードしたとき

wp-config.phpにFS_METHODを書いても直らない…

define('FS_METHOD', 'direct'); を記述しても改善しない場合は、ファイルのパーミッションや所有者に問題がある可能性が高いです。

その場合は、次のような手順で対応してください:

  1. FTPで wp-content フォルダなどのパーミッションを見直す(755/644)
  2. SSHが使えるなら、所有者をWebサーバー用ユーザー(例:www-data)に変更
  3. それでもダメなら、サーバー会社に問い合わせましょう

FS_METHODを設定してもセキュリティ的に問題ない?

通常の運用であれば問題ありませんが、サーバー設定によってはセキュリティリスクを伴う場合もあります

たとえば、他のユーザーと共用しているレンタルサーバーでは、FS_METHODdirectに設定することで、他ユーザーの影響を受ける可能性もゼロではありません。
不安な場合は、サーバー会社に相談の上、適切な設定を選びましょう。

そもそもFTP情報ってどこで確認できる?

サーバー契約時に送られてきた「アカウント設定完了メール」や、サーバー管理画面(例:エックスサーバーのサーバーパネル、ConoHa WINGのコントロールパネル)から確認できます。

通常、必要な情報は以下の通りです。

  • FTPホスト名(例:ftp.example.com)
  • FTPユーザー名
  • FTPパスワード
  • ポート番号(通常は21)

ずっとFTP情報を入力しなくても済むようにするには?

wp-config.phpFS_METHOD を追記して、なおかつファイル・フォルダのパーミッションと所有者が正しく設定されていれば、FTP認証なしでWordPressの更新やプラグインの追加ができるようになります。

そのために以下をチェックしましょう。

  • FS_METHODdirect に設定されている
  • フォルダは 755、ファイルは 644
  • 所有者がWebサーバーユーザーになっている(必要な場合)

まとめ

FTP認証の画面が出てくると焦ってしまいがちですが、落ち着いて原因を確認し、順を追って対応すればほとんどの場合は解決可能です。

特に「FS_METHOD を追記してみる」「パーミッションを確認する」だけでも、FTP認証を回避できるケースは多いです。
どうしても不安なときや解決しない場合は、遠慮なくサーバー会社に相談してみてください。
サポートが必ず解決策を指南してくれるはずです。

この記事を書いた人
管理人

2012年にWebデザインの勉強を始め、2013年より制作会社に勤務。
これまでに500件以上のWebサイト制作・運用に携わってきました。
現在も制作会社に勤務しながら、Webデザインスクールのトレーナーとしても後進の育成に取り組んでいます。
WordPressやデザインの実践的なノウハウを、初心者にもわかりやすく発信できるよう試行錯誤しています。

管理人をフォローする
WordPress
管理人をフォローする

コメント

タイトルとURLをコピーしました