WordPress管理画面でファイル削除時に発生する権限エラーの原因を解説し、FTP・SSH・プラグインを使った具体的な解決方法を実案件をもとに紹介します。
「削除できません」エラーで作業が止まっていませんか?
「WordPressの管理画面でファイルを削除しようとしたら、『削除できません』のエラーが表示される…」
「メディアライブラリから不要な画像を削除しようとしても権限エラーで削除できない…」
「プラグインやテーマの削除時に『権限がありません』と表示される…」
このような悩みを抱えているWeb担当者の方は多いのではないでしょうか。権限エラーによるファイル削除の問題は、WordPressサイト運営において頻繁に発生する技術的トラブルの一つです。
当社Fivenine Designでも、クライアント様から「突然ファイルが削除できなくなった」「サイト更新作業が進まない」といったご相談を数多くいただいています。実際、先月も神奈川県内のとある企業様から「商品画像を更新しようとしたら削除エラーで作業が止まってしまった」という緊急のご依頼をいただきました。
この問題を放置すると、不要なファイルがサーバーに蓄積されてサイト表示速度が低下したり、古いコンテンツが残り続けて情報更新ができなくなったりします。しかし、適切な対処法を知っていれば、多くの場合は短時間で解決可能です。
本記事では、20年以上のWeb制作実績を持つ当社が、実際のサポート案件で使用している解決手順を具体的に解説します。
権限エラーが発生する3つの主な原因
1. ファイル・フォルダの所有権設定の問題
最も多いのが、サーバー上でのファイル所有権(オーナー)が適切に設定されていないケースです。WordPressがファイルを作成する際と、Webサーバーがファイルにアクセスする際のユーザーが異なることが原因となります。
例えば、FTPでアップロードしたファイルの所有者が「ftpuser」、WordPressの実行ユーザーが「apache」の場合、WordPressからそのファイルを削除することはできません。
2. ファイルパーミッションの設定不備
Linuxサーバーでは、各ファイルやフォルダに読み書き実行の権限が数値で設定されています。適切な権限が設定されていないと、WordPressがファイルにアクセスできずに削除操作が失敗します。
一般的な適切なパーミッション設定:
- ファイル:644または664
- フォルダ:755または775
- wp-config.php:600(セキュリティ上重要)
3. プラグインやサーバー設定による制限
セキュリティプラグインやサーバー側のセキュリティ機能により、ファイル削除操作が制限されている場合があります。また、共有サーバーでは管理者がセキュリティ強化のため特定の操作を禁止していることもあります。
段階的な解決手順:実際の対処方法
当社で実際に使用している解決手順を、簡単なものから順に説明します。
手順1:WordPress管理画面での確認と再試行
まず、基本的な確認を行います:
-
ブラウザのキャッシュクリア ブラウザの設定から閲覧履歴・キャッシュを削除し、ページを再読み込みしてください。
-
異なるブラウザでの確認 Chrome、Firefox、Safariなど別のブラウザで同じ操作を試してみてください。
-
管理者権限の確認 現在ログインしているユーザーが「管理者」権限を持っているか確認します。「ユーザー」メニューから権限レベルを確認できます。
手順2:FTPソフトを使用した直接削除
WordPress管理画面で削除できない場合、FTPソフトを使用してサーバーに直接アクセスし、ファイルを削除します。
# FTP接続情報の例
ホスト名: ftp.example.com
ユーザー名: your-ftp-username
パスワード: your-ftp-password
ポート: 21 (通常)
FTPでの削除手順:
- FTPソフト(FileZilla、WinSCP等)でサーバーに接続
- WordPressのインストールディレクトリに移動
- 削除したいファイルを右クリック→削除
- WordPress管理画面でメディアライブラリを更新
注意点: FTPで削除した場合、WordPressのデータベースには削除情報が反映されないため、管理画面上では削除されたように見えない場合があります。その際は、メディアライブラリの同期プラグインを使用するか、手動でデータベースを更新する必要があります。
手順3:パーミッションの修正
FTPソフトまたはサーバーの管理画面から、ファイルのパーミッションを確認・修正します。
# SSH接続できる場合のコマンド例
# フォルダのパーミッションを775に設定
chmod 775 /path/to/wordpress/wp-content/uploads/
# ファイルのパーミッションを664に設定
chmod 664 /path/to/wordpress/wp-content/uploads/image.jpg
# 所有者をWebサーバーユーザーに変更
chown www-data:www-data /path/to/wordpress/wp-content/uploads/image.jpg
FTPソフトでの設定方法:
- 対象のファイル・フォルダを右クリック
- 「プロパティ」または「パーミッション」を選択
- 適切な数値を入力(ファイル:644、フォルダ:755)
- 「適用」または「OK」をクリック
手順4:プラグインを使用した解決
技術的な操作が難しい場合は、ファイル管理プラグインを使用する方法もあります。
推奨プラグイン:
- File Manager:WordPress管理画面内でファイル操作が可能
- WP File Manager:直感的なインターフェースで初心者にも使いやすい
# functions.phpに追加するコード例(上級者向け)
# ファイル削除権限を強制的に有効にする
function force_file_deletion_permission($caps, $cap, $user_id, $args) {
if ($cap == 'delete_posts' || $cap == 'delete_others_posts') {
$caps = array('exist');
}
return $caps;
}
add_filter('map_meta_cap', 'force_file_deletion_permission', 10, 4);
注意: 上記のコードはセキュリティに影響するため、問題解決後は削除することを推奨します。
よくある失敗パターンと対処法
失敗パターン1:パーミッションを777に設定してしまう
「とりあえず全権限を与えれば解決するだろう」と考えて、パーミッションを777(全ユーザーに読み書き実行権限)に設定してしまうケースがあります。これは重大なセキュリティリスクを招きます。
正しい対処法:
- ファイル:644または664
- フォルダ:755または775
- 必要最小限の権限のみを付与
失敗パターン2:重要なシステムファイルを削除してしまう
FTPで直接操作する際に、WordPress本体のファイルやプラグインの重要なファイルを誤って削除してしまうケースです。
予防策:
- 削除前に必ずバックアップを取得
- wp-content/uploads以外のファイルは慎重に扱う
- 不明なファイルは削除前に調査する
失敗パターン3:データベースとファイルの不整合
FTPでファイルを削除した後、WordPressのデータベース上では該当ファイルの情報が残り続けるため、管理画面上で「ファイルが見つかりません」というエラーが発生します。
対処法:
# データベースから削除されたメディアファイルの情報を削除
# (データベース操作は十分注意して行ってください)
DELETE FROM wp_posts WHERE post_type = 'attachment' AND guid LIKE '%deleted-file-name%';
失敗パターン4:サーバー会社への確認不足
共有サーバーの場合、サーバー会社側でファイル操作を制限していることがあります。技術的な解決方法を試す前に、サーバー会社に制限の有無を確認することが重要です。
当社の実例: あるクライアント様で、どの方法を試してもファイル削除ができない事例がありました。サーバー会社に問い合わせたところ、セキュリティ強化のため特定のフォルダでのファイル削除を一時的に制限していることが判明。サーバー会社側で設定変更をしていただき、問題が解決しました。
セキュリティを考慮した予防策
定期的なバックアップの自動化
# wp-config.phpに追加する自動バックアップ設定
define('AUTOMATIC_UPDATER_DISABLED', false);
define('WP_AUTO_UPDATE_CORE', true);
ファイルアップロード制限の設定
# functions.phpに追加するアップロード制限
function restrict_file_uploads($file) {
$allowed_types = array('jpg', 'jpeg', 'png', 'gif', 'pdf', 'doc', 'docx');
$file_type = pathinfo($file['name'], PATHINFO_EXTENSION);
if (!in_array(strtolower($file_type), $allowed_types)) {
$file['error'] = 'このファイル形式はアップロードできません。';
}
return $file;
}
add_filter('wp_handle_upload_prefilter', 'restrict_file_uploads');
定期的な権限チェック
月に1回程度、重要なフォルダのパーミッション設定を確認することで、問題の早期発見が可能です。
サイトの改善、プロに任せませんか?
WordPress制作・リニューアル
更新しやすく、集客につながるサイトを構築します
※ 通常1営業日以内にご返信します
まとめと次のアクション
WordPressでファイル削除ができない権限エラーは、適切な手順で対処すれば解決可能な問題です。重要なのは、問題の根本原因を正しく把握し、段階的にアプローチすることです。
解決によって得られる効果:
- スムーズなコンテンツ更新作業
- サーバー容量の効率的な利用
- セキュリティリスクの軽減
- 作業時間の大幅な短縮
**当社のクライアント様の事例では、**権限エラーの解決により、商品画像の更新作業時間が従来の3分の1に短縮され、担当者様の作業負荷が大幅に軽減されました。また、不要なファイルの定期削除により、サイト表示速度も平均20%改善されています。
今すぐ実行すべきアクション:
**技術的な解決が困難な場合や、より根本的なWordPressのセキュリティ強化をお考えの場合は、お気軽に当社までご相談ください。**神奈川を拠点とする当社では、20年以上の実績をもとに、WordPress管理画面の権限設定からサーバーセキュリティまで、包括的なサポートを提供しています。
初回相談は無料で承っており、リモートでの技術サポートも可能です。まずは現在の状況をお聞かせいただければ、最適な解決策をご提案いたします。