IMUZA.com

Xserver<<WordPress(ConoHa)<<はてなブログ

ホーム / Wordpress / WordPress Popular Posts 表示されないを解決する

WordPress Popular Posts 表示されないを解決する

2022/06/6 Wordpress

前記事で WordPress のプラグイン WordPress Popular Posts(WPP) が正しく表示されない記事を書き、解消したと思ったのですがダメでした。ですので WP Fastest Cache との関連やWPP自体のキャッシュについて調べてみました。

  • WordPress Popular Posts 表示されない(解決だが…) – IMUZA.com

  • WP Fastest Cache と WPPのAJAX化の関連
  • WPPのキャッシュとは?
  • WPPのデータキャッシュ
  • まとめ

WP Fastest Cache と WPPのAJAX化の関連

WP Fastest Cache と WPPのAJAX化の関連の結論は、WPPのAJAX化の設定によって WP Fastest Cache のキャッシュデータにWPPのデータが保存されるかどうかが変わるということです。

WP Fastest Cache はリクエストされたページ(または先読み)を htmlファイルにして /wp-content/cache/all 以下に保存します。ですので、 WPPのAJAX化が

  • 無効 …… WPPデータも html化されて保存され、そのキャッシュデータが表示される
  • 有効 …… WPPデータのキャッシュはされず、AJAXでリアルタイムのWPPデータが表示される

ということになります。

ただし、これも設定のタイミングにより、AJAX化の設定を変更しても、その時点で WP Fastest Cache のキャッシュがクリアされていなければ、そのキャッシュ内にWPPデータが保存されているかどうかにより表示データが変わるということになり、これによりトラブルの原因が特定できなくなっていると思われます。

ですので、AJAX化の設定を変更する場合は、まず WP Fastest Cache のキャッシュを削除してから変更する必要があります。

WPPのその項目の説明には

もし WP Super Cache のようなキャッシュプラグインを利用している場合、この機能を有効にすると、キャッシュ済みのデータの人気のある投稿リストとなります。

とありますが、有効と無効が逆じゃないかと思うのですがどうなんでしょう? WP Super Cache と WP Fastest Cache とは違うのでしょうか。とにかく保存されるキャッシュを調べたところこの結果でした。

WPPのキャッシュとは?

WPPのツール(ツールというより設定)に「データキャッシュ」という設定項目があります。

また、そのページの一番下に「キャッシュを空にする」「すべてのデータを削除する」というボタンがあります。

どちらも「キャッシュ」という言葉を使っていますが、これはまったく違うものです。設定項目の「データキャッシュ」は表示する場合にキャッシュデータ(データの場所は後述)を使うかどうかであり、「キャッシュを空にする」は下に説明するデータベースのひとつを空にするかどうかです。

WPPは、データベースに「wp_popularpostsdata」「wp_popularpostssummary」「wp_popularpoststransients」の3つのテーブルを持っており、「…data」には記事IDごとにアクセス数を加算していくデータを保存し(下の画像)、「…summary」には1アクセスごとに1レコードが保存されます(下の下の画像)。

ボタンの「キャッシュを空にする」をクリックしますとこの内の「…summary」テーブルが空になります。また、「すべてのデータを削除する」をクリックしますと2つのテーブルを空にします。

WPPは、この2つのテーブル(のどちらかからはまだ調査中)からアクセス数の多いランキングデータを作成し表示します。この2つのテーブルはどちらもアクセスがあれば常に保存します。ですので、設定項目の「データキャッシュ」とこの2つのテーブルとは関係がありません。

WPPのデータキャッシュ

WPPの設定項目の「データキャッシュ」を「キャッシュする」に設定しますと、それまで空だったテーブル「wp_popularpoststransients」にデータが保存されます。

このデータは WordPress に標準で導入されている Transients API というキャッシュシステムのデータへのアクセスキーで、実際のデータはデータベースの wp_options に保存されます。

  • Transients API – WordPress Codex 日本語版

ですので、WPPの設定項目の「データキャッシュ」を「キャッシュする」に設定しますと、wp_popularpoststransients からキーを読み出し、そのキーから wp_options のキャッシュデータを読みにいくとともに、wp_popularpoststransients にアクセスのあった時間を保存します。

「キャッシュする」に設定しますとその下に「キャッシュ更新間隔」が現れますが、その設定時間内であればキャッシュデータを表示するということになります。

まとめ

現時点でわかっていることは以上です。

ですので、WPPと WP Fastest Cache を併用する場合の推奨設定としては、まず WP Fastest Cache のキャッシュデータを削除し、そのうえで、WPPのAJAX化を有効にするべきです。

そして、WPPの設定項目の「データキャッシュ」は、その上で自サイトのアクセス数をみてどうするか判断すればいいと思います。たとえば、10分間に数アカウント程度でその間WPPの表示が同じでいいと考えるのであれば10分に設定すればいいということになります。

WordPress Popular Posts のトラブル、これで解決です(だと思います)。

【2022年 急速冷却ネックファン】 首掛け扇風機 羽なし ネッククーラー 携帯扇風機 USB充電式 強力 物理的な冷却 風量3段階調節 2600mAh大容量バッテリー 長時間使用 遠足 スポーツ観戦 アウトドア 熱中症対策 プレゼント 敬老の日 ギフト (ホワイト)

【2022年 急速冷却ネックファン】 首掛け扇風機 羽なし ネッククーラー 携帯扇風機 USB充電式 強力 物理的な冷却 風量3段階調節 2600mAh大容量バッテリー 長時間使用 遠足 スポーツ観戦 アウトドア 熱中症対策 プレゼント 敬老の日 ギフト (ホワイト)

  • Joyhouse

Amazon

WordPress Popular Posts 表示されない(解決だが…)
WordPress Popular Posts 他のプラグインに変えたほうがいいかも
Twitter
Facebook
ブックマーク
LINEで送る

最初のサイドバー

最新記事

2023/03/21

WordPress:メール送信にGmailのSMTPを使う(プラグインなし)

2023/03/10

WordPress:サムネイル付き次の記事/前の記事

2023/02/28

Twitterシェアリンクはintent/tweetを使おう

2023/02/21

GoogleタグマネージャーとアナリティクスGA4

2023/02/8

WordPress:人気記事を直近の期間指定で表示する

最新記事を一覧で見る

よく読まれている記事

よく読まれている記事を一覧で見る

カテゴリー

  • はてなブログ214
  • WebTips109
  • javascript98
  • Joomla!88
  • Windows68
  • Wordpress65
  • CSS63
  • Joomla!更新53
  • Linux49
  • はてなテーマ45
  • Google34
  • Plamo33
  • はてなプラグイン25
  • php22
  • Node.js18
  • Ubuntu16
  • SASS16
  • laravel415
  • Chrome11
  • cms-style10
  • iPhone9
  • ConoHa WING6
  • Git入門6
  • genesis6
  • Python5
  • Android5
  • PC全般4
  • Facebook4
  • スマートフォン4
  • 静的サイトジェネレーター3
  • Firefox3
  • SSD3
  • Blankslate3
  • Docker3
  • Twitter2
  • GitHub2
  • Mactype2
  • はてなブクマ1
  • 映画1
  • youtube1
  • rails入門1
  • Xserver1

Footer

My Web Sites

  • @半径とことこ60分
  • そんなには褒めないよ。映画評
  • IMUZA.com
  • GitHub

Related Sites

  • WordPress公式
  • WordPress関数リファレンス
  • PHPマニュアル

Contact Us

  • お問い合わせフォーム
  • Twitter
  • Facebook
  • Feedly

Copyright © 2023 · IMUZA.com