继续分享WordPress网站维护教程。最近一个客户的网站出现了如上图所示是问题,刚开始我以为是插件冲突或PHP错误,但并不是,在网站后台操作一通都没有反应,问题依旧。
检查问题
后台登陆了Siteground才问题具体问题。如上图所示,原因是客户的网站mysql数据库使用超出限制了,所以Siteground从服务器端做了限制,唯一的解决方法就是清理数据库。(当然也可以花钱升级套餐,但不建议)
登陆phpmyadmin检查,发现postmeta和posts两个表特别大,加起来确实超过1G了。正常情况下普通wordpress网站的数据库占用不应该这么大才对。
问题分析
一般情况下,普通的wordpress网站数据库都非常小的,比如悦然wordpress建站官网,运营几年了,目前也才10多M而已。客户的网站数据库之所以这么大,是因为使用了elementor和woocommerce,同时他们还使用了其它几个扩展插件,而且他们的网站整体做的比较复杂,各种elementor元素和模块嵌套,这些操作都会使数据库变大。
还有一个原因是他们关闭了缓存,没有缓存的话,数据库的负担也会变大。
处理问题
知道了原因就好办了。这里分享3种处理思路。
1.使用缓存插件。wp rocket、litespeed cache等都可以,这些虽然是缓存插件,但它们都自带的数据库清理功能,直接去清理就可以了。
2.使用数据库清理插件。同类插件很多,比如WP-Sweep就很不错,大家直接在wordpress网站后台搜索安装即可。
安装后如上图所示,直接去清理占用多的数据库表就可以了。
3.如果你对数据库熟悉,可以直接进入phpmyadmin,命令行操作。这里就不多说了,会的都会,不会的也不建议用这种方法,风险较大。
注意:清理数据库之前请一定记得对网站进行备份,如果实在搞不清理,或害怕误操作,可以找技术处理。
在phpmyadmin中,清理之后过会变会看到变化,但是在Siteground后台的mysql中,数据刷新没那么多,大家可以等上半小时左右,然后再进去就可以发现数据库占用变小了,如上图所示。
如何预防这种情况
这类问题的罪魁祸首虽然一般都是elementor和woocommerce,但我们又不可能不用这两个插件,因为它们确实很好用,有些应用场景还不得不用。所以出现问题不要怪插件,得从网站本身和自己的使用习惯找原因。比如一些不必要的插件,能不装就别装,能用自带的元素和模块就用自带的。还有网站的结构不要太搞得太复杂,比如各种元素的嵌套,这种样不仅会使数据库占用变大,还可能出现一些其它不可预知的错误。当然,具体怎么用还是要结合具体的建站需求和使用场景来,经验也很重要。
最后,网站最好把缓存开启,一般情况下网站开启缓存后都会缓解不少,这类问题可能也就不太容易遇到了。