ワードプレスで記事を大量に作成したいときに便利なのがデータをCSV化してインポートする方法です。
Really Simple CSV Importerというプラグインを使えばCSVのインポートが可能なのですが、条件によってはインポートエラーが出たり、文字化けが発生してしまうことがあります。
ここでは私が実際に行っている方法や、トラブルに相対した際のトラブルシューティング的なことを紹介します。
CSVデータを簡単にインポート出来るプラグイン「Really Simple CSV Importer」を使用する際のポイント
データインポート時によくあるケアレスミス
ファイルサイズとデータ数
ファイルサイズは最大2MBとなっていますが、実際にインポートする際は1MBに抑えていた方がうまくインポートが可能なようです。
これはファイルサイズというよりも、インポート記事数に関係してくるのかもしれませんが、私の経験上、100記事以内に抑えてインポートするようにしています。
あとは、サーバーのスペックにも影響されるかもしれません。
実はロリポップサーバーではインポートが途中で止まることがあったのですが、XSERVERでは途中で止まることがないので単純にサーバースペックの問題かもしれません。
文字セット
文字セットはUTF-8が必須です。
間違ってSHIFT-JISでインポートをしたことがありますが、インポートは出来ませんでした。
時間の設定
時間の設定は記事のデータで「post_date」に関する部分になるのですが、インポート時に予約投稿設定を行う際にこの「post_date」で未来の日付を指定しておき、「post_status」をpublishにすると自動的に予約投稿になります。
この時間指定の方法で、他のサイトの記事で「post_date」に日付、「post_time」に時間を入れるという風に書かれていたのですが、この方法でやると、「post_time」は有効にならずに「post_date」のみが反映され、しかも時間指定は当然していないので、すべて0時0分0秒に自動的になってしまいます。
「Really Simple CSV Importer」の解説サイトでは時間指定の部分は日付+時間という風に書かれているのでその通りにしてください。
例えば2015年9月10日の8時30分に投稿する場合は「post_date」を
2015/9/10 8:30という風に記入してください。
時間部分を省略するとすべて、0時0分になるので注意を!
特殊な条件で発生するインポートエラー
ここからは特殊な条件で実際に私が体験したインポートエラーとその対処法を備忘録的に記しておきます。
サムネイル画像をアップする際のpost_idの扱いに注意
特殊条件とは「post_id」を指定しつつ、サムネイル画像を指定してのインポート作業を行った際のエラー内容です。
上記の条件でインポートを行った際になぜか、1記事飛びにエラーが発生して記事数の半分したインポート出来ないという現象が発生しました。
エラー内容は「データベース内の既存データと一致しません。post_id:XXXXXXXX、post_type(csv):post、post_type(db):attachment」になります。
図inport-error-01
この現象で2~3週間位は悩んだのですが、解決策をWordPressフォーラムで見つけました。
実はワードプレスの仕様でCSVデータをインポートする際にサムネイル画像(フォーラムではアイキャッチ画像)を指定すると「post_id」をひとつ消費してしまい、よって「post_id」が連続しているとダブってしまうのでエラーが発生してしまうということのようです。
なのでサムネイル画像をCSVで指定する場合には「post_id」は使用しない、もしくはひとつ飛ばしの値で指定する必要があるということです。
私の場合は「post_id」を元々の値×10で使用しました。
画像サイズも考慮してデータをアップ
もう一つのインポートエラーですが、こちらもサムネイル画像を指定してのインポートの際に出たエラーですが、この場合、CSVデータのアップと一緒にサムネイル画像をメディアライブラリに登録する作業が含まれます。
これもワードプレスの仕様になると思うのですが、サムネイルは指定URLから表示するのではなく、指定URLからいったん、メディアライブラリに画像を登録し、メディアライブラリを介してサムネイル画像を表示しています。
例えば、image01.jpgという画像を複数の記事のサムネイルに使用していた場合には、メディアライブラリに複数の記事数分、同じ画像が登録されるようになっています。
その為、
サーバー容量の少ないレンタルサーバーを使う場合には注意が必要です。
最後に
今回、紹介したCSVのインポートエラーですが、通常の運用をしている場合には、あまり遭遇することがないと思いますが、普段からインポート作業を使われる方に共有してもらえればと思います。
コメント
[…] […]