WP-PostViews 估计是 WordPress 中用户数量最多的文章浏览量统计插件了,该插件简单已用,只要安装、启用就可以开始统计文章浏览量了。遗憾的是,该插件在设计的时候,对性能考虑不足,当网站文章或并发用户量较多的时候,会对网站性能造成一定的影响。
本文将为您分析 WP-PostViews 对性能带来的影响和 Post Views Counter 插件对性能所做的优化,帮助您更好的理解 WordPress 性能优化,更好的选择浏览量统计插件。
WP-PostViews 对网站性能造成的负面影响
WP-PostViews 插件的数据是保存在文章自定义字段中的,在文章数量不多的时候,这不会有什么问题。当文章数量达到数千篇之后,这个插件就开始影响 WordPress 性能了,该插件对 WordPress 性能造成的影响主要来自以下两点:
- 每当有新用户浏览文章时,插件就需要更新文章自定义字段来增加该文章的浏览量统计数据。更新文章自定义字段是一个比较耗时的数据库操作,当网站并发用户量提高时,这个操作对网站性能带来的负面影响是非常可观的。
- 基于自定义字段的文章排序查询也是一个比较耗时的数据库操作,当我们使用该插件自带的小工具或者使用 views 字段进行自定义查询时,会在一定程度上对网站性能造成影响,不过这个影响可以通过缓存来解决。
为了优化数据库查询,提高网站性能。我们对比了用户量比较大的其他文章浏览量统计插件,最终决定使用 Post Views Counter 这个插件来代替 WP-PostViews 来统计和显示文章数据。
Post Views Counter 插件对性能所做的优化
Post Views Counter 是一个简单,快速且易于使用的插件,可以用来统计和显示文章、页面或自定义文章类型的浏览量。该插件对文章浏览量统计逻辑做了一些优化、来解决浏览量统计功能对数据库带来的负面影响。
- 使用自定义数据表记录文章浏览量,更新浏览量时,只需要更新一个数据表,这个操作会快很多。
- 当 WordPress 站点设置了对象缓存时,该插件会把浏览量统计数据添加到对象缓存中,隔一段时间后,再更新到数据库中。对象缓存可以是 Memcached、Redis 等内存数据库,这个操作比直接更新数据库快多了。
基于上面的两点优化,Post Views Counter 对 WordPress 站点性能带来的影响就小多了。
Post Views Counter 插件特色功能
- 支持 4 种统计浏览量数据的方法:PHP,Javascript,快速 AJAX 和 REST API,灵活性更大
- 一键导入 WP-PostViews 数据,更换插件不会丢失原有插件的数据。
- 可以设置计数间隔选项,过一段时间后重置浏览量统计数据,这个功能对于统计指定时间段的数据很有用。
- 可以设置严格模式,该模式下,插件会把访问者的 IP 地址保存到数据中,即使用户使用隐身模式或清空了 Cookie,还是会视为一次访问。可以解决刷访问量的问题。
- 可以在仪表盘显示一个浏览量统计小工具,小工具中以📈的方式显示浏览量统计数据。
- 可选对象缓存支持,如果对象缓存可用,插件会先把统计数据保存在对象缓存中,每隔一段时间同步到数据中。
- 兼容 W3 Total Cache / WP Super Cache
- 兼容 WPML 和 Polylang
- 兼容 GDPR 和 Cookie Notice Plugins
如果您的 WordPress 站点文章数量非常多,或者并发访问量比较大,又有统计文章浏览量的需求,建议您使用 Post Views Counter 代替 WP-PostViews 插件来实现文章浏览量统计功能,相信可以为网站带来一定的性能提升。
3 thoughts on “以性能的名义,使用 Post Views Counter 代替 WP-PostViews 文章浏览量统计插件”
我是直接不用这个功能。
😄,用不上更好,少操点心。
以前纠结过加不加PostViews,后来觉得用处不大就算了