こんばんは。きりんです。
今回はブログの人気記事をランキング形式表示してくれるプラグイン「WordPress Popular Posts」にてVIEW数のカウントが管理者しかカウントされないという不可思議な現象に遭遇しましたので備忘録として残しておきます。
原因はSiteGuard WP Pluginでした!!
目次
現象
管理者ログインしているとVIEW数がカウントされるがログアウト状態で閲覧するとVIEW数がカウントされないというもの。
現象がおこった環境
- WordPress 6.4.3
- WordPress Popular Posts 6.4.1
試したこと:「Load popular posts list via AJAX」を有効・無効に変更。
いろいろ検索で調べてみると「Load popular posts list via AJAX」を無効に変更。
特に変化なし
試したこと:その他のプラグインを停止
その他にもキャッシュプラグインが原因という記事もありましたが、今回のサイトはキャッシュプラグインを導入していなかったので最終手段としてプラグインの競合を疑いプラグインを全停止し、WordPress Popular Postsのみ有効化し確認しました。するとカウントは開始されたのでその他のプラグインを1つずつ有効化し原因となるプラグインを絞り込みました。
結果「SiteGuard WP Plugin」が原因ということが分かりました。
原因:「SiteGuard WP Plugin」のユーザー名漏えい防御(REST API)
※REST APIとは、RESTは英語で「Representational State Transfer」の略称です。読み方は「レスト」となります。分散システムで複数のソフトウェアを連携させるための仕組みです。
ユーザー名漏えい防御にREST API無効化のチェックを入れており、これが原因というのが判明しました。
解決方法は下記添付のように除外プラグインとして「WordPress Popular Posts」を追加することで解決となります。
検証のためログインしている状態でカウントされているから完全にOKって思ってたのに~1日経ってもVIEW数が伸びず焦ったので誰かの助けになればと思います。