同一サーバー 複数Webサイトの人気記事表示 | OFFのパソコン日記

同一サーバー 複数Webサイトの人気記事表示

同一サーバー内のWordPressの複数Webサイト(データベース)からアクセス数の多い人気記事を集計し、まとめて1つのランキング(ショートコード)として表示しています。

テーマCocoonのアクセス統計データを利用して、指定された過去の日数(デフォルト30日)の中でPV数が多い記事を抽出し、あらかじめデザインされたHTMLとして出力する仕組みです。

全体の一連の流れ(概要)

  1. 設定の読み込み・除外IDの整理
    ↓
  2. キャッシュの確認(すでにデータがあれば、即座にそれを表示して終了)
    ↓
  3. 複数のサイトのデータベースへ順番にアクセス
    ↓
  4. 各サイトからPV数の多い記事(最大30件)をSQLで取得
    ↓
  5. 全サイトの記事を1つの配列に合算し、PV数の多い順に並び替え
    ↓
  6. 上位○件(デフォルト10件)だけを切り出す
    ↓
  7. Cocoonのデザインに合わせたHTML(カード型)を作成
    ↓
  8. 次回のために結果をキャッシュに保存し、画面に出力