WordPress:記事を一括で作成・更新する(Really Simple CSV Importer)

WordPressで記事を作成していると、たまにたくさんの記事を一気に作成・更新したいときがあります。そんなときに、ひとつずつ記事を作成・更新していては時間がいくらあっても足りません。

そこで、ここでは記事の一括作成・更新をラクチンにしてれるWordPressプラグイン「Really Simple CSV Importer」を紹介します。

動作環境

この記事は、以下の環境で実行した結果をもとにしています。各ソフトウェアのバージョンにより、動作結果や表示が異なる場合があることをご了承ください。

ソフトウェア(プラグイン) バージョン
Really Simple CSV Importer 1.3
WordPress本体 4.9.6

「Really Simple CSV Importer」とは

「Really Simple CSV Importer」は、投稿・固定ページ・カスタム投稿などをCSVファイルからインポート・更新できます。また、投稿に関連する様々な設定(カテゴリー、タグ、カスタムフィールド、公開、アイキャッチなど)も設定することができ、一括投稿や一括更新が簡単にできます。

2018年5月現在、3年間更新されていませんが、最新のWordPressでも問題なく動作しており、一括投稿・更新でオススメのプラグインです。

設定

プラグインのインストール方法は、一般的なプラグインと同じなのでここでは割愛させていただきます。また、このプラグインには設定画面はありません。

CSVファイルの作成

最初に、インポートするデータをCSV形式で作成します。

注意事項

このプラグインでは、正しい設定のCSVファイルを作成することが重要です。特に、何十件、何百件とインポートするときに、誤った設定のCSVファイルでインポートしてしまうと、インポートされない記事が発生したり、想定どおりにインポートされないことがあります。

基本は、上の画面にも表示されているように以下の点に注意ます。

  • 作成するCSVファイルの文字コードは「UTF-8(BOMなし)」を使用
  • フィールド区切り文字は「 ,(カンマ)」 を使用
  • 各フィールドは「"(ダブルクォート)」で囲う

CSVファイルの書式

CSVファイルで使用できる主なフィールドは、次のとおりです。

フィールド名 説明
post_id 新規投稿の場合は空白、既存の記事を編集する場合は記事IDを入力
post_name 投稿スラッグを設定する場合は入力
post_title 投稿タイトルを入力
post_content 投稿内容を入力
post_author 投稿ユーザー名またはユーザーIDを指定する場合は入力
post_type 投稿タイプを入力(投稿:post 固定ページ:page)(必須項目)
※カスタム投稿タイプにも対応しています。
post_status 投稿時のステータスを入力(下書き:draft 公開:publish)
※予約投稿する場合は「publish」にして、post_dateを未来の日付にします。
post_date 投稿の日付を入力(入力例:2018/06/05 11:00:00)
post_category 投稿のカテゴリーをスラッグで入力
※複数入力する場合はカンマ区切りで入力
post_tags 投稿のタグをスラッグで入力
※複数入力する場合はカンマ区切りで入力
post_excerpt 投稿の抜粋を入力
post_thumbnail アイキャッチに表示する画像のURLを入力

上記以外で利用可能なフィールドについては、作者ホームページを参照ください。

Really Simple CSV Importer 日本語解説&カスタマイズ例

最初は、「CSVをインポート」画面の「サンプルCSVをダウンロード」から、サンプルCSVファイルをダウンロードして、このファイルをもとにしてCSVファイルを作成するのが良いと思います。サンプルCSVファイルには、入力例も記載されているので入力のコツがつかめるかと思います。

インポート方法

CSVファイルの作成が完了したら、管理画面の「ツール」>「インポート」に「CSV」という項目が表示されるので「インポーターの実行」をクリックします。

「CSVをインポート」画面が表示されるので「ファイルを選択」ボタンをクリックして、インポートするCSVファイルを選択後「ファイルをアップロードしてインポート」ボタンをクリックすれば、インポートが開始されます。

後はインポートが完了するまで、待つだけです。

インポート時にエラーが出るときは

私の環境では、一度に100件を超える記事をインポートしようとすると、インポート時に「504 Gateway Timeout」エラーが発生し、インポートできませんでした。Webサーバー(Nginx)のログを見てみると「upstream timed out」というエラーが発生していました。

そこで、WordPressを動かしているWebサーバー(Nginx)の設定を一部変更することで正常にインポートが可能になりました。

変更点は、Nginx設定ファイルのserverディレクティブ内に、パラメーター「fastcgi_read_timeout」を追記し、サービスを再起動するだけです。

fastcgi_read_timeout 300;

私は「fastcgi_read_timeout」の値を「300秒」に設定しましたが、環境に応じて値は調整すればよいかと思います。ちなみに既定値は「60秒」です。

このプラグインに限った話ではありませんが、処理に時間がかかるFastCGIプロセスを実行する場合は、この値を変更することで「upstream timed out」エラーを回避できるようです。

まとめ

WordPressで効率よく記事を作成・更新作ったWebサイトを、効率よく運営するには欠かせないプラグインです。

スポンサーリンク