BLOG

ブログ
  • Web制作

WordPress Popular Posts の人気記事ランキングがログイン中しか表示されない問題

WordPress Popular Posts の人気記事ランキングがログイン中しか表示されない問題

WordPressの人気記事表示プラグイン「WordPress Popular Posts(以下WPP)」は、アクセス数に基づいて自動的に人気記事を集計し、ウィジェットやショートコードで簡単にランキングを表示できる便利なプラグインです。

しかし、「ログイン中はランキングが表示されるのに、ログアウト状態では表示されない」という問題に直面した方も多いのではないでしょうか。

実はこの現象、セキュリティ系プラグインによるREST APIの無効化設定が原因であることが非常に多いのです。

原因:REST API(ユーザー名漏えい防御)の無効化設定

WPPは、内部的にWordPressのREST APIを使ってアクセスデータやランキング情報を取得・表示しています。

そのため、「REST APIが無効化」されていると、必要なデータの取得に失敗し、ランキングが表示されなくなってしまうのです。

ログイン中は管理者ユーザーとしてREST APIにアクセスできるため問題なく表示されますが、ログアウト状態ではREST APIがブロックされているため、ランキングが読み込めず表示されなくなるというわけです。

よくある原因となるセキュリティプラグイン

以下のようなセキュリティ系プラグインを使っている場合、REST APIの無効化が影響している可能性があります。

  • SiteGuard WP Plugin
  • CloudSecure WP Security
  • Wordfence Security

特に「REST APIアクセスを未ログインユーザーに対してブロックする」という設定が有効になっていると、WPPが正常に動作しません。

解決方法:除外プラグインとしてWPPを設定

セキュリティプラグインの設定で「REST API(ユーザー名漏えい防御)の無効化」が有効になっていたら、除外プラグインとして「WordPress Popular Posts」を設定します。

《例:SiteGuard WP Plugin》

《例:CloudSecure WP Security》

設定後、ランキング表示を確認して正常に表示されていればOKです。

まとめ

WPP のランキングがログアウト時に表示されない場合、原因の多くはREST APIの無効化です。

セキュリティ系のプラグインで「REST API(ユーザー名漏えい防御)の無効化」が有効になっている場合は、「WordPress Popular Posts」を除外プラグインとして設定することで解決できます。