前言:
在 WordPress 平台上,一旦网站的文章数量突破十万大关,无论服务器配置多么高端,网站加载速度都可能变得迟缓。面对这种情况,网站优化就显得尤为必要。
WordPress 在查询文章列表时,默认会同时查询文章总数。对于文章数量较少的网站,这种默认设置不会造成太大影响。然而,对于拥有大量文章的网站来说,这种查询方式会导致查询速度变慢,影响用户体验。据汇站网的用户反馈,一个拥有四十万篇文章的网站,首页加载可能需要一两分钟,甚至首页和文章页有时会完全无法打开。
WordPress 网站查询速度慢的原因主要在于,WordPress 在查询帖子列表时,默认会查询帖子总数。这主要通过 get_posts、query_posts 和 WP_Query 这三个方法实现。虽然从 4.6.1 版本开始,get_posts 不再使用 SQL_CALC_FOUND_ROWS,但 query_posts 和 WP_Query 仍然会使用,因此需要进行优化。
那么,如何有效解决 WordPress 文章过多导致的网站加载慢问题呢?
方法一:完全禁用 SQL_CALC_FOUND_ROWS。具体操作是,在functions.php文件中添加以下代码:
方法二、如果您还需要查询文章数,请使用更高效的 EXPLAIN 方法代替 SQL_CALC_FOUND_ROWS,以更高效的方式禁用 SQL_CALC_FOUND_ROWS。这里我们使用 EXPLAIN 方法。
具体代码如下,将以下的代码放在 functions.php 文件中。