请输入函数名称或遇到的问题来搜索:
内容管理插件

以性能的名义,使用 Post Views Counter 代替 WP-PostViews 文章浏览量统计插件

发布于:
更新时间:2019-11-11

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 插件
注意:为了永久保存文章浏览量数据,请把「Rest Data Inteval」设置为 0,否则隔一段时候,插件会自动重置浏览量统计数据。

如果您的 WordPress 站点文章数量非常多,或者并发访问量比较大,又有统计文章浏览量的需求,建议您使用 Post Views Counter 代替 WP-PostViews 插件来实现文章浏览量统计功能,相信可以为网站带来一定的性能提升。

我们提供 WordPress主题和插件定制开发服务

本站长期承接 WordPress主题、插件、基于 WooCommerce 的商店商城开发业务。 我们有 10 年WordPress开发经验,如果你想 用WordPress开发网站, 请联系微信: iwillhappy1314,或邮箱: amos@wpcio.com 咨询。

3 thoughts on “以性能的名义,使用 Post Views Counter 代替 WP-PostViews 文章浏览量统计插件

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*

有网站建设需求?需要开发WordPress主题或插件?在使用WordPress时遇到了问题?所有与WordPress相关的问题我们都可以帮您解决。