こんにちは!オンスタ運営、ヤマンサと申します!
自分は現在webエンジニアとして、日々日々いろんな案件に携わりながら業務に勤しんでいます。
最近データの移行作業ということで、既存のwebサイトにあった大量の記事を整形し、データ移行用のcsvファイルを作成、それを使って一気にWordPress のカスタム投稿へ流し込むということをやったので、「WordPressへ、作成したCSVファイルを使って記事データを流し込む」といった内容の記事を書いてみました!
今回はプラグインとして「Really Simple CSV Importer」を使いました!
WordPressに大量のデータを流し込むシチュエーション全般で利用できるので、興味のある方は是非一度試してみてください!
用意するもの
- 動作中のWordPress
- Really simple csv Importer(WordPressプラグイン)のインストール
- データ流し込み用csv(Really simple csv Importerのフォーマットにのっとったもの)を用意する
- 流し込み前準備
- いざ流し込み!
以上です!
順番に解説していきます!
動作中のWordPress
いわずもがな、現在利用中、もしくは色々テスト中のWordPressなど、なんでも構いません。
動いているWordPressをご準備ください!
Really Simple CSV Importer(WordPressプラグイン)
WordPressにはデフォルトでインポート機能がついていますが、csvでの流し込みをデフォルトで用意していないようです。
なのでプラグインを使って流し込めるようにしましょう!
今回利用するプラグインはこちら!「Really Simple CSV Importer」
作者は日本の方ですね!csvでデータ流し込むといったらまずは最初に検討するって人も多い、昔から人気のプラグインです!こちらをインストールして、有効化しておきましょう!
データ流し込み用CSVファイル(Really Simple CSV Importerのフォーマットにのっとったもの)を用意する
最後にデータを流し込むためのCSVを作成しましょう!
流し込むためにはReally Simple CSV Importerのフォーマットに従う必要があります。
まずは基本からということで、基本系の雛形を用意しましたのでこちらをダウンロードしてください。
「カスタムフィールドやカスタムタクソノミーとかはどうなるの?」といった疑問も湧くかと思いますが、こちらに関しては今回割愛いたします。
※配布するCSVファイルはあくまでサンプル。Really Simple CSV Importerでちゃんとサンプル用のCSVが用意されていますので、慣れてきたら後述するインポート画面からダウンロードしていただいて構いません。
文字コードについて
今回はデータをインポートする用のCSVを作成します。ですので編集後など、最終的なCSVファイルの文字コードは必ずUTF-8にしてください。shift_JISなどで行うと文字化けを起こしますので、インポートするCSVファイルは必ずUTF-8で作成するようにしましょう!
CSVの項目の解説
さて、先ほど配布したCSVをダウンロードしていただいたと思いますが、「ここにデータを記述すればよい。。。」ということまではわかるものの、「一体項目が何を指しているか」が、ある程度わからないと入力できないですよね。
というわけで、まずはCSVの項目について順次解説していきます。以下がCSVファイルのを開いている画面です。
※ヤマンサはMacユーザーで、画面はnumbers(Microsoft がexcelなら、Appleはnumbers。。みたいな感じのソフトでexcel の代用です)でcsvを開いた画面です。
こちらの表の、上部にあるグレーの背景箇所(ヘッダ行)に英語が記述されています。
詳しくは割愛いたしますが、要するこの名前の箇所に順次入れ込みたいデータを記述するという程度の理解で一旦オーケーです!
post_id
投稿IDです。通常投稿記事にはWordPressが自動でIDを割り振ります。IDをこちらで適当に記載してもいいのですが、IDが元々ある記事とかぶると、なんと記事が上書きされてしまいますので注意が必要です。
空欄で問題なければ、空欄にしておきましょう。今回は空欄です。
post_name
スラッグ名を入力する箇所です。ここも必要なければ空欄に、必要であれば入力しましょう。
※空欄でパーマリンク設定をpost_nameにしていると記事のタイトルが自動で挿入されたURLが生成されますので、そこは念頭においておきましょう!
post_author
投稿者のユーザー名を入力します。不要でしたらここも空欄で大丈夫です!
post_date
公開日の入力欄です。公開日のフォーマットは決まっていて、時刻まで入力できます。
時刻を空欄にもできるので任意に入力してください。
※入力例) 2013/9/13 0:00、2013/9/13など。
post_type(必須)
流し込むデータの投稿タイプを入力します。投稿であれば「post」を入力します。カスタム投稿への流し込みを検討されているようでしたらカスタム投稿のpost_typeを入力しましょう。
post_status
公開設定です。publishとすると表示設定が「公開状態」でデータが流し込まれます。基本はpublishとしておきましょう。ここも空欄でも大丈夫です。
post_title(必須)
記事のタイトルです。テンプレート側で呼び出す際のthe_title()に相当します。こちらは必須項目ですので、必ず入力してください。
post_content
記事の本文です。テンプレート側でのthe_content()に相当します。もちろんhtmlタグも挿入できます。
なんらかweb上で利用していたものを流し込む場合はhtmlタグもセットだと思いますので、その場合通常のテキストと変わらず、ここへ挿入してください。
htmlタグごと流し込まれます。画像もimgタグなどと一緒に記述しましょう。
post_category
カテゴリーを流し込みます。記述するのはカテゴリーのスラッグ名です。複数ある場合は「,(カンマ)」区切りで入力します。
こちらに入力しておくと、自動でチェックが入って流し込まれます。
post_tags
タグを流し込みます。もし入力されるのであれば、カテゴリーと同じ要領で入力してください。
menu_order
記事の順番を指定できます。通常使いませんが、並び替えなどを利用する投稿、もしくは投稿タイプであれば、こちらに数字を入力してください。
番号順でデータが流し込まれます。
その他注意点
必須項目とそうでないもの
必須項目以外は空欄でも大丈夫です。必須項目は「post_type」「post_title」です。
post_content内の画像について
デフォルトでは画像がパスで入ってしまいますが、リニューアルなどで画像のファイルパスが変わる場合もあると思います。
そのような場合は、拡張版があるのでそちらを併用しましょう。
以下をダウンロードしてプラグインフォルダに入れ、管理画面から有効化しましょう。
Really Simple CSV Importer Media Plus
有効化した状態で、csvを流し込むと自動で画像がカスタムフィールドへ登録されます。
画像のファイルパスでどうしても調整が必要な場合は、別フォルダに画像を格納、それをパスとして登録した方が早いかもしれません。
任意に調整してください。
アイキャッチ画像について
今回は行なっていませんが、アイキャッチ画像も流し込むことができます。
アイキャッチ画像は「post_thumbnail」という列を追加してそちらへ画像のフルパスを入力することで流し込むことができます。
流し込み前準備
ここまできたら後は流し込みです。
流し込み前にいくつか準備、知っておいて欲しいことがありますので、必ず目を通しておきましょう!
準備すること
流し込む前に必ずデータベースのバックアップをとっておくようにしましょう。
流し込みに失敗した場合、大量のデータが入ってあとから調整が面倒。。。なんてことも発生してしまうかもしれません。
なので失敗した場合に復旧できるよう、必ず直前にバックアップをとるようにしましょう。
知っておいて欲しいこと
「Really Simple CSV Importer Media Plus」を利用している場合、画像がダウンロードされてきますが、失敗するたびにデータベースを復元してやり直したりすると、都度画像をダウンロードしてきます。なので、失敗した場合はwp-uploadsのフォルダを確認し、一度綺麗にしてからトライしましょう!そうしないと画像の容量でサーバーが圧迫されてしまいます。
いざ流し込み
さぁいざ流し込みです。流し込みは以下の要領で行います。
ツールからCSVを選択、インポーターを実行
左メニューから「ツール」を選択、そのまま「インポーター」を選択してください。
WordPress内のツール選択メニュー画面に出ます。
こちらの画面を見たことがある人からすると見慣れないメニュー「CSV」が追加されています。
これはReally Simple CSV Importerを有効化していると現れるメニューです。こちらの「インポーターを実行」というテキストリンクをクリックしてください。
インポートするCSVファイルを選択、インポートを開始する
クリック後にインポートするCSVファイルを選択する画面が表示されます。
「サンプルCSVファイルをダウンロード」というテキストリンクから、先ほどお出ししたsample_default.csvファイルの原型ファイルがダウンロードできますので、慣れてきたらこちらからCSVファイルをダウンロードするといいでしょう。
そのまま「ファイルを選択」ボタンがありますのでそちらをクリックし、ファイルアップローダーを立ち上げ、作成したcsvファイルを選択します。
すると最後の「ファイルをアップロードしてインポート」という青いボタンがクリックできるようになりますので、そちらをクリックして、アップロードとCSVのアップロードを開始します。
CSVからデータのインポートが完了
アップロードが完了したら以下のように表示されます。
このような画面が表示されれば正常終了、成功です!
この画面でエラーがでるようなら、異常のある箇所を教えてくれるのでそちらを参考にファイルを手直していきましょう!
データのインポートという作業を行ってみた感想
今回サンプルで提示したsample_default.csvファイルを使ってデータを流し込むと、投稿一覧に以下のような画面が表示されているかなと思いますが、いかがでしょう?
詳細画面は以下のような感じです。
どうですか?うまくいきましたか?
こういったデータのインポート系の作業はトライ&エラーになりますので、満足のいく結果が得られるまで根気がいりますが、一度成功すれば次からも応用が効きます!うまくいかなくても大丈夫!「これも学びの一環だ」ということでくじけずにトライしていきましょう!
以上、ヤマンサでしたー!
Udemyを実際に体験した方の感想記事もぜひご覧ください♪