ブログ運営中に、クイズ用の deck.json ファイルをアップロードしようとしたところ、こんなエラーが出ました。
「このファイルタイプは許可されていません」
調べてみると、WordPressの初期設定ではセキュリティ上の理由から JSONファイルはアップロード禁止 になっているとのこと。
今回はその解決方法をまとめます。
エラーの原因
WordPressは「画像(jpg, png, gif)」や「文書(pdf, docx)」など一般的なファイルしか許可していません。
一方で JSONファイルは任意のコードやデータを含む可能性があるため、標準ではブロック されています。
解決方法①:プラグインを使う(初心者向け)
一番簡単なのは WP Add Mime Types プラグインを使う方法です。
- 管理画面 → プラグイン → 新規追加
- 「WP Add Mime Types」を検索してインストール、有効化
- 設定 → WP Add Mime Types に進む
- 下のコードを追加して保存
json = application/json - これで JSON ファイルのアップロードが可能になります
👉 実際にこれで deck.json をアップできました。
解決方法②:functions.phpにコードを追加(中級者向け)
プラグインを増やしたくない場合は、テーマの functions.php に以下を追加する方法もあります。
function add_file_types_to_uploads($file_types){
$new_filetypes = array();
$new_filetypes['json'] = 'application/json';
return array_merge($file_types, $new_filetypes);
}
add_filter('upload_mimes', 'add_file_types_to_uploads');
注意点
- JSONは中身によってはセキュリティリスクがあるので、信頼できるファイルだけアップロードする
- 外部から拾ったJSONをそのまま使うのは危険
- 自作や公式のデータを扱う場合は安心
まとめ
- WordPressはデフォルトでJSONファイルをアップロードできない
- WP Add Mime Types を導入すれば簡単に解決できる
- プラグインを増やしたくない場合は、functions.phpにフィルターを追加する方法もある
「このファイルタイプは許可されていません」と出たときは、まずはMIMEタイプ設定を見直してみましょう。

