私はWordPressのテーマでcocoonを使用しているのですが、人気記事のカウントがうまくできないでいてここしばらく悩んでいました。
cocoonの作者であるわいひら氏のcocoonフォーラムも色々と読んだのですが、自分に当てはまる改善策はなく、自力でなんとかしました。
その解決策やフォーラムで読んだ内容も合わせて、人気記事のカウントが正しく表示されない場合の対処法を書いていきたいと思います。
初歩的なミスなどをしている場合
アクセス集計を有効化していない
WordPress管理画面の「Coccon設定」>「アクセス集計」を開いた画面の、「アクセス集計の有効化」のチェックを入れます。
[C] 人気記事をウィジェットに設置していない
WordPress管理画面の「外観」>「ウィジェット」を開き、左の「利用できるウィジェット」から「サイドバー」に「[C] 人気記事」を登録します。
[C] 人気記事が「使用停止中のウィジェット」に移動している
「使用停止中のウィジェット」に「[C] 人気記事」がある場合があります。「使用停止中のウィジェット」から「[C] 人気記事」を削除して元に戻してあげてください。
使用中のプラグインを停止して様子をみる
使用中のプラグインとの相性が悪くて、正常にランキングがカウントされていない場合があります。使用中のプラグインを全て停止して、2~3日経ってもランキングがカウントされない(PV数が反映されない)ようであれば、原因は他にあります。
2~3日、または数時間後にランキングがカウントされるようであれば、それはいずれかのプラグインとの相性の問題ということがわかります。ひとつずつ有効化していってどれが原因かを突き止める必要があります。
大抵の場合、キャッシュ系・高速化系のプラグインとの相性が悪くなるようです。
キャッシュが悪さをしている
キャッシュ系のプラグインやcocoonのキャッシュが悪さをしている場合があります。キャッシュ系のプラグインの場合は、そのプラグインのキャッシュを停止させてみるか、あるいはキャッシュをクリアさせて様子をみてみてください。
cocoonのキャッシュの場合ですが、WordPress管理画面の「Cocoon設定」>「キャッシュ削除」を開いて、「人気記事ウィジェットキャッシュの削除」をして、キャッシュをクリアしてみてください。
これで改善される場合があります。
データベースがおかしい場合
wp_cocoon_accessesを見る
wp_cocoon_accessesのidがAUTO_INCREMENTされていない
wp_cocoon_accessesテーブルの「構造」を見た時に、「その他」の列があると思います。「id」の行の「その他」に「AUTO_INCREMENT」の記述がない場合はAUTO_INCREMENTがされていません。
「id」の行の「変更」を押して、AUTO_INCREMENT(A_Iという記述)のチェックを入れてください。
保存ができない場合は、主キーのidの値がおかしいことが考えられます。
AUTO_INCREMENTの設定ができない
これは主キーのidが0からカウントされている場合に起こります。連番を1から振り直すことでAUTO_INCREMENTができるようになります。
連番を振り、AUTO_INCREMENTの値をリセットする解決の言葉を以下に記述します。
SET @n:=0;
UPDATE wp_cocoon_accesses SET id=@n:=@n+1;
ALTER TABLE wp_cocoon_accesses AUTO_INCREMENT = 1;
この3行をphpMyAdminのSQLを流すところから実行してください。※レンタルサーバーによってはwp**************_cocoon_accessesといったような名前になっていることがあります。(「*」は任意の英数字)
wp_cocoon_accessesのidのAUTO_INCREMENTをリセットする
wp_cocoon_accessesテーブルのidをAUTO_INCREMENTにしたあとにこの一文をphpMyAdminのSQLを流すところから実行してください。
AUTO_INCREMENTのカウントがリセットされ、正常に連番でカウントするようになります。
ALTER TABLE wp_cocoon_accesses AUTO_INCREMENT = 1;
最後に
これで大体数時間~数日見ておけば、人気記事のカウンターは正常に動き始めるのではないでしょうか?
少しでもお役に立てたなら幸いです。
ではでは、参考までに。
コメント