We were frustrated by view counter plugins that bloated the database, fought with caching, and looked like they were built in 2012. So we built the one we wanted.
Every popular views plugin we tried had the same problem: it stored view counts in wp_postmeta. That's a table designed for arbitrary post metadata, not high-write analytics data.
On a site with 50,000 posts and consistent traffic, this causes real performance problems — bloated queries, slow admin pages, and backups that grow out of control.
PulseViews uses four dedicated, properly indexed database tables. A small architectural decision that makes a massive difference at scale.
INSERT INTO wp_postmeta
(post_id, meta_key, meta_value)
VALUES (42, 'views', 1284);
INSERT INTO pv_views
(post_id, ip_hash, is_bot, viewed_at)
VALUES (42, 'a3f4...', 0, NOW());
We typically respond within one business day.