WooCommerceの商品登録でCSVファイルがセキュリティー上の問題でアップロードできない場合の対処方法
しばらく記事の更新が滞っていました。年度末にあたり本業の仕事が忙しいのもありましたが、WooCommerceの商品登録を行う際にCSVファイルをインポートする時に、「セキュリティー上の理由によりこのファイル形式は許可されません。」と表示されインポートできなくなりました。
理由がわからず原因と対処方法を探るのに時間がかかりましたが、原因と対処方法が判明したので忘れないようにメモっておきます。今回はWooCommerceで発生しましたが、他のプラグインなどでファイルをアップロードする時に発生するかもしれません。その場合の対処方法の参考になると思います。
なお、WooCommerceで商品登録する方法は「WooCommerceを使って簡単にネットショップやアフィリエイトサイトなどのECサイトを作る方法」で詳しく解説していますのでそちらを参考にしてください。
1 セキュリティー上の理由によりこのファイルは許可されていません。
いつものようにCSVファイルを作成してアップロードしようとしたところ、「セキュリティー上の理由によりこのファイルは許可されていません。」と表示されて商品登録ができない事態に陥りました。
商品を1つずつ登録することはできたので、最悪何とかなるとは思ったのですが、非常に手間がかかるので原因と対処方法を探ることにしました。
今まで出来ていたことが出来なくなった訳ですから、その間に行ったテーマやプラグインのアップデートが原因であることは容易に想像できます。まずはプラグインを無効化したりバージョンを戻したりして、CSVファイルがアップデートできる状態を目指す訳ですが、現に公開しているサイトでそのようなことを行うと、ページが表示されなくなったり乱れたりする恐れがあるので、公開サイトを同じ環境のテストサイトで原因を探ります。
テストサイトの作成方法は「Duplicatorでテストサイトを作る方法」を参考にしてください。
すべてのプラグインを無効化してWooCommerceだけ有効化してみたり、WooCommerceのバージョンを戻してみたりしたのですが、一向にCSVファイルをアップロードできませんでした。
もしやと思い、ワードプレスのバージョンも古いものにしてみたのですが症状は改善されずお手上げ状態。。。
もう訳がわからず、時間だけが虚しく過ぎていく。
同様に困っている人がいないか、WooCommerceのフォーラムを検索したところ、CSVファイルがアップロードできないと相談している投稿を見つけました。
2 CSVファイルがアップロードできなくなった原因
フォーラムの内容を読んで状況が理解でき対処方法がわかりました。利用者が多くコミュニティーが確立されているワードプレスの強みですね。
結論から言うと、CSVファイルがアップロードできない原因は
・WooCommerceが原因ではない。
・ワードプレス5.0.1のセキュリティー対策の強化が原因である。
・ワードプレスの開発チームは問題を認識している。
というものでした。
元々はワードプレスに組み込まれているMIMEタイプのチェック機能を5.0.1で強化したことにより発生した問題で、ワードプレスのコアのバグとのことでした。
開発チームがバグを修正するまでの間として、CSVファイルをアップロードできるようにする方法を書いてありました。
・アップロードするCSVファイルをテキストファイル(.txt)にする。
・disable-real-mime-checkプラグインを使用してMIMEチェックを回避する。
とのことでした。
5.0.1のMIMEチェックは、アップロードされるファイル形式と実際のファイルの中身を比べて相違がないか確認する機能が強化されたそうです。
アップロードするCSVファイルは、文字列をダブルクォーテーションで括ったテキストファイルなのでCSVファイル形式と齟齬があるとして「セキュリティー上の理由によりこのファイル形式は許可されていません。」とエラー扱いになったようです。
フォーラムに掲載されていた回避策のうち、CSVファイルをテキストファイルとして書き出してアップロードします。
Excelで作成したデータをダブルクォーテーションで括ったCSVファイルとしてエクスポートする手順までは同じです。
保存する時に「CSVファイル」ではなく「テキストファイル」を選択してパソコン内に保存します。
このテキストファイルをWooCommerceのCSVファイルをインポートする時に選択すれば商品をアップロードすることができるようになります。
回避方法がこんなに簡単だったとは・・・。
俺の時間を返してーーー! と叫びたくなってしまいました。
3 ワードプレスのバグの改修は?
もう一つの回避方法をしてフォーラムに掲載されていたちなみに、「disable real mime checkプラグインを有効化」すれば、今まで通りCSVファイルをアップロードすることができます。
WooCommerce以外のプラグインなどでファイルをアップロードする際に、「セキュリティー上の理由によりこのファイル形式は許可されていません。」と表示される場合には、「disable real mime checkプラグイン」を試してみる価値はあると思います。
アップロードが終了したらdisable real mime checkプラグインは無効化しておいた方がいいと思います。MIMEチェック機能が無効化されているのでアップロードしない時は少しでもセキュリティーを高めておくためです。
ところで、ワードプレスのコアのバグであるMIMEチェックの問題は、ワードプレス5.1.1で対策が取られたようです。私のテストサイトのバージョンを5.1.1に上げたところCSVファイルのままアップロードすることができました。
しかし、WooCommerceのフォーラムを見ると5.1.1でも引き続き「セキュリティー上の理由によりこのファイル形式は許可されていません。」が表示されるという書き込みも見ました。5.1.1にアップデートしてもエラーになる場合は、ファイル形式を変えるかdisable real mime checkプラグインを使用してMIMEチェックを回避すればアップロードできると思います。
なお、ワードプレスのバージョンを5.1.1に上げる際には、インストールしているテーマやプラグインが5.1.1に対応しているか確認してから行うことをお勧めします。他のプラグインが不具合を引き起こしては元もこうもありませんから・・・。
WooCommerceの商品登録でCSVファイルがセキュリティー上の問題でアップロードできない場合の対処方法は以上です。
Themifyには3種類の無料テーマを含む40種類以上のテーマがありますが、Woocommerceと特に親和性が高いテーマは下の9種類です。
具体的には、Themifyの設定画面にWoocommerceに関する設定項目があり、様々なカスタマイズをコードを書くことなくドラッグ&ドロップで設定できるようになっています。
テーマ名と写真にThemifyが用意したデモサイトのリンクを貼ったので、Themify ECサイト用テーマでどのようなショップが作成できるか参考にしてください。
この記事があなたのお役に立てたら幸いです。
またこの記事がお役に立てれたならhatena・Facebook・Twitterでシェアして頂けると励みになります。