WordPressでファイルをアップロードしようとしたら「このファイルタイプはセキュリティ上の理由から、許可されていません」もしくは「このファイルタイプをアップロードする権限がありません」と表示されてアップロードできなかったことがないでしょうか。
今回は、なぜこのようなエラーが出てしまうのか、どうやって対処すればいいのか解説していきます。
WordPressはアップロードできるファイルの拡張子の種類が決められている
WordPressは不要なセキュリティにトラブルが起きないようにアップロードできるファイルの種類を制限しています。
デフォルト設定ではpng・jpeg・gif・ico・svg・mp4・mp3などの一般的なリソースファイルのみであり、exeファイル、phpファイルなどはアップロードできないようになっています。

WordPressの脆弱性を突かれて勝手にファイルをアップロードされてスクリプトを実行、乗っ取りが起きないようにこのような対策がされていますが、アプリやデータの配布などを行いたい人にとっては割と困る問題です。
ここからは、デフォルト設定でアップロードできない形式のファイルをアップロードするための方法を解説していきます。
アップロードできないファイルをアップロードできるようにする方法
一番カンタンなのは、『WP Extra File Types』というプラグインを使用する方法です。
『WP Extra File Types』はアップロードできるファイル形式を制御できるプラグインであり、プログラミングできない人でもカンタンにアップロードを許可する形式を管理できます。
『WP Extra File Types』の使い方


ファイル形式一覧が表示されるので、アップロードを許可したい形式にチェックを入れます。

一覧にない形式のファイル形式のアップロードを許可したい場合は、設定画面一番下の[Add your custom file types]
の[+]
をクリックしてファイル形式を追加します。

File Extension
に入力する拡張子名には.
が含まないので注意。
例えば.zip
だとzip
だけを入力してください。
ファイル拡張子とMIMEタイプの両方を指定する必要があるので、アップロードしたいファイル形式のMIMEタイプを別で調べるようにしてください。
ファイルの種類 (File Extension) | MIMEタイプ |
---|---|
zip | application/x-zip-compressed |
rar | application/x-rar |
gzip | application/x-gzip |
svg | image/svg+xml |
exe | application/x-dosexec |
mp4 | video/mp4 |
mp4 | audio/mp4 |
MIME設定を追加してもアップロードできない場合
WordPressへのファイルのアップロードは、拡張子とMIMEタイプが一致して初めて成功します。
正しく拡張子・MIMEタイプを設定してアップロードを許可したにもかかわらずアップロードできない場合は、一度アップロードに失敗するファイルのMIMEタイプを調べてみてください。
ファイルのMIMEタイプは『MagicFile』というフリーソフトで調べることが可能です。

WordPressのデフォルト設定ではアップロードできないファイルをアップロードしたい場合は、『WP Extra File Types』やを使って許可してみてください。