WP-PostViews 估計是 WordPress 中用戶數(shù)量最多的文章瀏覽量統(tǒng)計插件了,該插件簡單已用,只要安裝、啟用就可以開始統(tǒng)計文章瀏覽量了。遺憾的是,該插件在設(shè)計的時候,對性能考慮不足,當(dāng)網(wǎng)站文章或并發(fā)用戶量較多的時候,會對網(wǎng)站性能造成一定的影響。
本文將為您分析 WP-PostViews 對性能帶來的影響和 Post Views Counter 插件對性能所做的優(yōu)化,幫助您更好的理解 WordPress 性能優(yōu)化,更好的選擇瀏覽量統(tǒng)計插件。
WP-PostViews 對網(wǎng)站性能造成的負(fù)面影響
WP-PostViews 插件的數(shù)據(jù)是保存在文章自定義字段中的,在文章數(shù)量不多的時候,這不會有什么問題。當(dāng)文章數(shù)量達(dá)到數(shù)千篇之后,這個插件就開始影響 WordPress 性能了,該插件對 WordPress 性能造成的影響主要來自以下兩點:
- 每當(dāng)有新用戶瀏覽文章時,插件就需要更新文章自定義字段來增加該文章的瀏覽量統(tǒng)計數(shù)據(jù)。更新文章自定義字段是一個比較耗時的數(shù)據(jù)庫操作,當(dāng)網(wǎng)站并發(fā)用戶量提高時,這個操作對網(wǎng)站性能帶來的負(fù)面影響是非常可觀的。
- 基于自定義字段的文章排序查詢也是一個比較耗時的數(shù)據(jù)庫操作,當(dāng)我們使用該插件自帶的小工具或者使用 views 字段進(jìn)行自定義查詢時,會在一定程度上對網(wǎng)站性能造成影響,不過這個影響可以通過緩存來解決。
為了優(yōu)化數(shù)據(jù)庫查詢,提高網(wǎng)站性能。我們對比了用戶量比較大的其他文章瀏覽量統(tǒng)計插件,最終決定使用 Post Views Counter 這個插件來代替 WP-PostViews 來統(tǒng)計和顯示文章數(shù)據(jù)。
Post Views Counter 插件對性能所做的優(yōu)化
Post Views Counter 是一個簡單,快速且易于使用的插件,可以用來統(tǒng)計和顯示文章、頁面或自定義文章類型的瀏覽量。該插件對文章瀏覽量統(tǒng)計邏輯做了一些優(yōu)化、來解決瀏覽量統(tǒng)計功能對數(shù)據(jù)庫帶來的負(fù)面影響。
- 使用自定義數(shù)據(jù)表記錄文章瀏覽量,更新瀏覽量時,只需要更新一個數(shù)據(jù)表,這個操作會快很多。
- 當(dāng) WordPress 站點設(shè)置了對象緩存時,該插件會把瀏覽量統(tǒng)計數(shù)據(jù)添加到對象緩存中,隔一段時間后,再更新到數(shù)據(jù)庫中。對象緩存可以是 Memcached、Redis 等內(nèi)存數(shù)據(jù)庫,這個操作比直接更新數(shù)據(jù)庫快多了。
基于上面的兩點優(yōu)化,Post Views Counter 對 WordPress 站點性能帶來的影響就小多了。
Post Views Counter 插件特色功能
- 支持 4 種統(tǒng)計瀏覽量數(shù)據(jù)的方法:PHP,Javascript,快速 AJAX 和 REST API,靈活性更大
- 一鍵導(dǎo)入 WP-PostViews 數(shù)據(jù),更換插件不會丟失原有插件的數(shù)據(jù)。
- 可以設(shè)置計數(shù)間隔選項,過一段時間后重置瀏覽量統(tǒng)計數(shù)據(jù),這個功能對于統(tǒng)計指定時間段的數(shù)據(jù)很有用。
- 可以設(shè)置嚴(yán)格模式,該模式下,插件會把訪問者的 IP 地址保存到數(shù)據(jù)中,即使用戶使用隱身模式或清空了 Cookie,還是會視為一次訪問??梢越鉀Q刷訪問量的問題。
- 可以在儀表盤顯示一個瀏覽量統(tǒng)計小工具,小工具中以??的方式顯示瀏覽量統(tǒng)計數(shù)據(jù)。
- 可選對象緩存支持,如果對象緩存可用,插件會先把統(tǒng)計數(shù)據(jù)保存在對象緩存中,每隔一段時間同步到數(shù)據(jù)中。
- 兼容 W3 Total Cache / WP Super Cache
- 兼容 WPML 和 Polylang
- 兼容 GDPR 和 Cookie Notice 插件

如果您的 WordPress 站點文章數(shù)量非常多,或者并發(fā)訪問量比較大,又有統(tǒng)計文章瀏覽量的需求,建議您使用 Post Views Counter 代替 WP-PostViews 插件來實現(xiàn)文章瀏覽量統(tǒng)計功能,相信可以為網(wǎng)站帶來一定的性能提升。



我是直接不用這個功能。