WordPress の投稿記事一覧をデータベースから取得してファイルに出力する方法

更新日: 公開日:2016/02/02
WordPress

WordPress の投稿記事リストを Excel 上で管理するため、次のような項目を出力した一覧を取得します。

  • ID
  • 公開日
  • 最終更新日
  • 記事 URL
  • 記事タイトル

URL リストがあれば、Google Analytics からエクスポートしたデータと突合させて、アクエス数0のページを抽出することも可能です。他にも毎月の記事投稿数チェックや月々のアクセス数の変化など、1つのファイルにまとめておくことで、様々な情報が得られるようになります。

投稿記事のリストは WordPress のデータが格納されている MySQL のデータベースから取得します。

MySQL のデータベースから一覧を抽出する方法

まずはデータベースサーバーの phpMyAdmin にアクセスします。各レンタルサーバーによってアクセス方法が異なるので、phpMyAdmin の開き方については割愛させていただきます。

なおバージョンによって画面デザインが少し異なりますが、手順はほぼ同じです。ここでは MySQL 5.7 の画面を用いて説明していきます。

phpMyAdmin での操作

phpMyAdmin へログイン後、左側のツリーから対象のデータベースを選択します。WordPress の情報が入っているデータベースを選択してください。画面上にデータが格納されているテーブル一覧が表示されるので、画面上部にある SQL を選択します。

対象データベースの選択

SQL とは、データベースに格納されているデータを抽出するためのプログラムです。あまり詳しくなければ、遷移した入力画面で次の SQL をそのまま貼り付けて実行してください。これで対象の記事リストが抽出されます。

データ取得用 SQL
select
  ID,
  post_date,
  post_modified,
  concat('/', post_name, '/') as post_name,
  post_title
from
  wp_posts
where
  post_status = 'publish'
  and post_type in ('post', 'page')
order by
  post_date

パーマリンクの指定方法により、5行目のコードを変更しないと適切な URL が取得できません。例えば URL が「?p=123」のようになっている場合など、利用しているパーマリンクの形式に合わせて、次のように内容を変更してください。

パーマリンク形式SQL内容
/%postname%/concat(‘/’, post_name, ‘/’) as post_name,
/?p=123concat(‘?p=’, ID) as post_name,
/archives/123

concat(‘/archives/’, ID) as post_name,

上記 SQL は Google Analytics との比較を目的としているので、URL の情報にドメイン部分を含んでいません。もしドメイン情報から必要な場合は、concat 関数の最初の引数にドメイン情報を加えてあげることで、フルパスでの URL が取得できます。

concat('https://webllica.com/', post_name, '/') as post_name,

ロリポップユーザーはテーブル名が「wp_posts」でなく、wp の後ろに数値が入っている場合があるので注意が必要です。もし数値がくっついていたら、SQL の8行目を書き換えれば正しく抽出できるようになります。

抽出データをエクスポート

発行した SQL に問題が無ければ、抽出結果が次のように一覧表示されます。ここでもしエラーになったら、発行した SQL の構文を見直してください。

phpMyAdmin における SQL 実行結果

抽出データは画面上に表示されているだけなので、ここからファイルへ落とす作業を行います。そのまま画面の下までいくとクエリ結果操作のメニュー群があるので、そこから「エクスポート」を選択します。

抽出データのエクスポート実行

エクスポート時のオプションとして、ファイルのフォーマットや文字コードを指定できます。旧バージョンには直接 Excel 形式でエクスポートできる機能があったのですが、バージョン 5.7 では基本的に CSV 形式となっています。

ただ CSV 形式は Excel での使い勝手が悪いので、僕は Microsoft Word 2000 形式で出力しています。

エクスポートの出力フォーマットを選択

Word 形式であれば、一度 Word でファイルを開いて表の部分をコピーすれば、そのまま Excel に貼り付けることができます。

出力形式を選択したら、実行ボタンをクリックしてファイルをダウンロードします。これでエクスポート処理は完了です。

以上、WordPress の投稿記事一覧をデータベースから取得する方法でした。

最新の更新情報は、Twitter、Facebook、Freedly にてお届け!

NJ-CLUCKER RSS

このブログの運営者

NJ

元システムエンジニアから、個人事業主として独立。Web サイト運営、動画制作など活動の場を広げています。このブログでは、困ってたどり着いた人に、分かりやすく答えを提供できるように心掛けています。

更新情報は、Twitter や Facebook ページを参照ください。フォローお待ちしています。