(Macで)WordPressの複数記事をCSVインポートする手順

はい、ごめんください。
最近はホームページの制作もしている小杉です。おかげで、WordPress ネタがたまってきました。

複数の記事を CSV で WordPress に一括インポートする方法は比較的有名ですね。エクセルでまとめた記事を CSV に書き出し、それを「Really Simple CSV Importer」でインポートする方法です。

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

ただ、各項目は半角ダブルクォーテーション(” ←コレ)で囲む必要があり、エクセルの CSV 書き出しでは囲んでくれません。

Windows なら、ダブルクォーテーションで囲んで書き出すためのアドインもあるのですが、Mac だとそうもいかない。

色々格闘しましたが、結果的には正規表現の使えるテキストエディタ(Sublime Text や Atom など)を使って、サクッと置換するのが一番簡単だという結論に至りました。

そうやって投稿までなんとかするための手順をまとめました。備忘録とも言います。

CSV で一括インポートするためのプラグイン

CSV でのインポートが大前提の話なので、まずは使えるようにしておきましょう。

私は Really Simple CSV Importer というプラグインを使っています。

公式プラグインなので、[プラグイン]→[新規追加]から「Really Simple CSV Importer」を検索したほうが早いでしょう。インストールして、有効化します。

そうすると、[ツール]→[インポート]から CSV を選べるようになり、以下のようにファイルを選択できるようになります。

CSV インポート画面

この画面の、「サンプルCSVファイルをダウンロード: 」とある「csv」をダウンロードすると、サンプルファイルが手に入ります。(右クリックすると「リンク先を保存」などでダウンロードできます)

サンプルファイルをエクセルで開いた時の注意点

sample.csv をダウンロードできたら、エクセルで開くことになりますが、心の絶叫とともに、文字化けに悩まされるかもしれません。

原因は、文字のエンコードが UTF-8 になっているためです。

その場合は、一旦テキストエディタなどで開いて Shift-JIS に保存しなおしてから、エクセルで開いてみてください。

文字化けしていなければ、問題ありません。
ちなみに、サンプルファイルが英語なのは、文字化けしているわけではありません。

文字化けするのは日本語が含まれているためなので、サンプルファイルを開いても問題ない可能性のほうが高いですが、日本語で編集した CSV ファイルを開く際には、このことを思い出してくださいね。

各項目に入力する内容

せっかくエクセルを使うのですから、エクセルの機能も使いながら入力しましょう。

post_id

記事のIDが入ります。サンプルは空の行もありますが、入力する記事が決まっていたら、番号を振っておく方がオススメです。

[投稿]→[新規追加]で「プレビュー」にマウスを乗せると最新の ID がわかるので、その数値を A2 に入力したら、以降は A2+1 で良いですね。

post_name

いわゆる「スラッグ」です。ID =スラッグの場合は、B2 以降には =A2 といれておきました。

個別のスラッグを使いたい場合は、そのように入力しておきましょう。

post_author

存在するユーザー名を入れておきましょう。

経験はないですが、間違っていると余計なデータを作ってしまうか、エラーになるかと思われます。

すべての記事にユーザー名を設定しておくと間違いありません。

post_date

投稿日時を YYYY/mm/dd HH:ii の形式で入れておきましょう。特に指定のない場合は、インポート時刻が適用されると思われます。

なお、ステータスが「下書き」の場合、この日時は無視されます。

「この日を公開日時としておきたい」という場合は post_status にご注意ください。

post_type

ブログなら「post」、固定ページなら「page」です。

それ以外はカスタム投稿タイプで設定した投稿タイプが使えます。

post_status

インポートした後で確認したいという場合は、「private(非公開)」がオススメです。

特に投稿日時の指定がなければ、「pending(レビュー待ち)」や「draft(下書き)」でも良いでしょう。

公開済みにしておきたい場合は「publish」を設定しておきましょう。

post_title

記事のタイトルが入ります。機種依存文字は避けておいたほうが良いでしょう。

post_content

記事の本文が入ります。同じく、機種依存文字は避けておいたほうが良いでしょう。

私の場合、短い本文をインポートしてから写真を設定するという作業を行っていますので、改行を除いてインポートしたあとで、記事を確認しながら適宜改行しています。

最初に使う画像のイメージタグが入っているなら、Auto Post Thumbnail と組み合わせると、サムネイル設定まで対応できるかもしれません。未確認ですが。

post_category

カテゴリー名を入力します。半角カンマ(,←コレ)で複数のカテゴリーを設定できます。

post_tags

タグ名を入力します。カテゴリーと同じく、半角カンマ(,←コレ)で複数のタグを設定できます。

custom_field

カスタムフィールドを扱えます。

ここは上級者向けなので、作者のページをご覧ください。

参考:Really Simple CSV Importer が Smart Custom Fields に対応しました

エクセルから CSV に変換して保存する

エクセルで、上記のルールに従って記事を書いたあとは、CSV に変換して保存します。

「UTF-8」での書き出しが前提ですが、状況によって区切り方法が違います。

Windows なら Excel CSV I/O も使ってみては?

Windows で エクセル 2007 以降を使っているなら、便利なアドインがあるようです。各セルの内容をダブルクォーテーション(” ←コレ)で囲んで、半角カンマ区切りで書き出すことができます。

参考:Excel CSV I/Oの詳細情報 : Vector ソフトを探す!

Mac でも導入まではいきましたが、やっぱり動きませんでした。

Windows なら、このアドインでサクッとダブルクォーテーションのついた CSV ファイルを取得できそうですね。

それ以外は正規表現の置換でがんばろう

エクセルのバージョンが違ったり、そもそも Mac でエクセルを使っている場合には、お世話になっているテキストエディタに頼るのが一番です。

正規表現を使えることが前提なので、Sublime Text Atom などで対応できます。

エクセルから半角カンマではなく「タブ」で区切って生成した CSV ファイルを、これらのテキストエディタでひらき、以下のように置換します。

対象:

([0-9]*)\t([0-9]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)\t([^\t]*)\n

変換:

"$1","$2","$3","$4","$5","$6","$7","$8","$9","$10","$11"\n

タブのままなのは、もし文中に半角カンマが入っていたら対応できないためです。逆に、本文中にタブが含まれていたら、意図しない状況になるかもしれません。

その際は臨機応援に編集してくださいね。

これで、インポートできる CSV の準備ができました。

インポートしてから間違えた!と思ったら

[ツール]→[インポート]→「CSV」からサンプルをダウンロードした画面を表示し、作成した CSV を選んで[ファイルをアップロードしてインポート]を行ないます。

しばらく待っていると、インポート結果が表示されます。

エラーになることも多いので、どの記事がエラーになったかを確認しましょう。

機種依存文字が文字化けを招いていたり、カンマが足りなかったり、ダブルクォーテーションが入っていなかったりする場合があります。

その場合、修正した CSV をアップロードしてインポートすれば良いのですが、post_id がすでに存在するなら、その記事は上書きされます。

エラーになった!
カテゴリー間違えた!!

という場合でも、post_id が入っていれば何度でも直せます。

カテゴリーを間違えると、不要なカテゴリーが増えるので、あとから編集するのも忘れずに。

まとめ

  • Really Simple CSV Importer を使おう
  • 正規表現の使えるテキストエディタを用意しておこう
  • 文字エンコードは UTF-8 で
  • エクセルでゴリゴリ作ったら CSV(タブ区切り)として書きだそう
  • テキストエディタで、タブをカンマとダブルクォーテーションに置換しよう
  • インポートしたあとの修正して、再度インポートした場合、post_id で上書きされる

この流れで投稿はできたのですが、次の確認作業が待っている今日このごろです。

最近は WordPress 初心者向けの、丁寧な本が増えてきた印象。カスタマイズ本はある程度仕組みのわかる、脱初心者にオススメです。

それでは、ごめんください。

ウェブの心理戦略家。WordPressの勉強会(WordBench新潟・長岡藩)も主催。顧客の心理と分析を裏付けるデータを元に、心理学に基づいたライティングとWordPressでのサイト構築が得意。新潟県長岡市在住。2013年4月には新潟県で初のウェブ解析士マスターになり、同年6月よりコスギスとして活動。夫と子ども2人をこよなく愛す。おやつはプリン。

どれでシェアする?