サポート » プラグイン » WP-PostViews のアクセス集計を指定した日数までにしたい

  • お世話になっております。
    記事のリアルタイムのPV数をカウントして管理画面の記事一覧ページに表示してくれるプラグインとしてPostViews(https://ja.wordpress.org/plugins/wp-postviews/)を入れるのを検討しているのですが、過去の記事数が1万件以上あり、入れた途端にサイトが負荷に耐えられない可能性が出てきました。

    WP-PostViewsはプラグインを有効化してからすべての記事のアクセス数をリアルタイムで集計していきますが、この集計がカウントされるのを記事を投稿してから一週間だけというような範囲指定することはできるのでしょうか?

    例:9月20日の12:00に記事を投稿したら来週の27日12:00 までアクセス集計されて、その時間を超えた瞬間から、その記事はアクセス集計がされなくなる等・・
    もしくは時間指定ではなく、直近で投稿された10記事だけ集計される等の記事数での範囲指定でも大丈夫です。

    ご教示よろしお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 私も案件で使ったことがあるプラグインです。

    今さらっとコードを確認してきましたが、おそらく、入れただけで何か負荷がかかるようなコードではなかったと思います。
    非常にシンプルな作りで、各アクセス毎に、該当の投稿のメタ情報にviewsを追加する、既にあれば中の数字をインクリメントするという事をやっていたはずです。アクセスが無ければ何も動きませんし、特段常時負荷がかかるようなプラグインでは無いはずです。

    ですので、最終的に大きな問題になるのは同時にどれくらいのアクセスがある様なサイトなのか…ということになるかと思いますが、もし、このプラグインを入れただけで負荷が耐えられないような状態であれば、すぐさまスケールアップを検討された方が良いのではないかなと思います。
    1アクセスに対して基本的に1件のSQL実行数が増えるというイメージだと思いますので、それに耐えられない可能性がある環境での運用は危険だと思います。

    もし、何か違う点で懸念されていることがあれば、そこを踏まえて回答できる物もあるかもしれないのですが、一旦ご質問の文からわかる範囲で書いてみました。

    直接的な回答ではありませんが、結論としては、そのまま使う事で何も問題無いのではないか?ということですね。

    こんにちは

    適当なフックやオプション設定はないようです。
    wp_head アクションフックで呼ばれる、process_postviews コールバック関数を除外することでカウンター処理を停止させることはできそうです。
    ただ、この方法はあまりお勧めできません。プラグインの更新時に考慮されず動作しなくなる可能性等があります。十分考慮した上でお試しください。

    例)functions.php に、

    function remove_process_postviews() {
    	if ( is_single() || is_page() ) {
    		$days = date( 'U', (date_i18n( 'U' ) - get_the_time( 'U' ) ) ) / 86400;
    		if ( $days > 7 ) {
    			remove_action( 'wp_head', 'process_postviews' );
    		}
    	}
    }
    add_action( 'wp_head', 'remove_process_postviews', 9 );
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「WP-PostViews のアクセス集計を指定した日数までにしたい」には新たに返信することはできません。