WordPress文章过多导致网站缓慢堵塞的优化方法 - 汇站网

WordPress文章过多导致网站缓慢堵塞的优化方法

2023-11-10 0 549

前言:

优化网站速度是一个重要的任务,特别是当你的 WordPress 网站上有大量的文章时。文章过多可能导致网站变得慢卡顿,影响用户体验。为了解决这个问题,有几种方法可以帮助你优化网站速度。

首先,你可以使用缓存插件来提高网站的加载速度。缓存插件可以将你的网站内容存储在用户的浏览器中,这样当用户再次访问你的网站时,就可以直接从缓存中加载内容,而不需要重新从服务器下载。这可以大大减少网站的加载时间。

其次,你可以优化你的数据库。WordPress 文章存储在数据库中,如果数据库变得庞大而杂乱,会导致网站变慢。你可以使用数据库优化插件来清理和优化数据库,删除不必要的数据和修复数据库表。

另外,你还可以使用图片压缩插件来减小图片的文件大小。大型图片文件会增加网站的加载时间,因此压缩图片可以帮助你减少网站的负载时间。

最后,你可以考虑使用内容分发网络(CDN)。CDN 是一种将你的网站内容分发到全球各地服务器的技术,这样用户可以从离他们最近的服务器加载内容,从而提高网站的加载速度。

通过采取这些优化方法,你可以改善你的 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文件中:

 add_action('pre_get_posts', 'wndt_post_filter');
function wndt_post_filter($query) {
if (is_admin() or !$query->is_main_query()) {return $query;
}

// 禁止查询 SQL_CALC_FOUND_ROWS
$query->set('no_found_rows', true);
}  

EXPLAIN 方法代替 WordPress 的 SQL_CALC_FOUND_ROWS

如果您还需要查询文章数,请使用更高效的 EXPLAIN 方法代替 SQL_CALC_FOUND_ROWS,以更高效的方式禁用 SQL_CALC_FOUND_ROWS。这里我们使用 EXPLAIN 方法。具体代码如下,将以下的代码放在 functions.php 文件中。

 if ( ! function_exists( 'zjck_set_no_found_rows' ) ) {
/**
* 设置 WP_Query 的 'no_found_rows' 属性为 true,禁用 SQL_CALC_FOUND_ROWS
*
* @param WP_Query $wp_query WP_Query 实例
* @return void
*/
function zjck_set_no_found_rows(\WP_Query $wp_query)
{
$wp_query->set('no_found_rows', true);
}
}
add_filter( 'pre_get_posts', 'zjck_set_no_found_rows', 10, 1 );

if ( ! function_exists( 'zjck_set_found_posts' ) ) {
/**
* 使用 EXPLAIN 方式重构
*/
function zjck_set_found_posts($clauses, \WP_Query $wp_query)
{
// Don't proceed if it's a singular page.
if ($wp_query->is_singular()) {
return $clauses;
}

global $wpdb;

$where = isset($clauses['where']) ? $clauses['where'] : '';
$join = isset($clauses['join']) ? $clauses['join'] : '';
$distinct = isset($clauses['distinct']) ? $clauses['distinct'] : '';

$wp_query->found_posts = (int)$wpdb->get_row("EXPLAIN SELECT $distinct * FROM {$wpdb->posts} $join WHERE 1=1 $where")->rows;

$posts_per_page = (!empty($wp_query->query_vars['posts_per_page']) ? absint($wp_query->query_vars['posts_per_page']) : absint(get_option('posts_per_page')));

$wp_query->max_num_pages = ceil($wp_query->found_posts / $posts_per_page);

return $clauses;
}
}
add_filter( 'posts_clauses', 'zjck_set_found_posts', 10, 2 );  

转载请注明:汇站网 » WordPress 文章过多导致网站缓慢堵塞的优化方法

收藏 (0)

微信扫一扫

支付宝扫一扫

点赞 (0)

感谢您的来访,获取更多精彩资源请收藏本站。

本站声明

本资源仅用于个人学习和研究使用,禁止用于任何商业环境!

 1.  本网站名称:汇站网
 2.  本站永久网址:https://www.huizhanii.com/
 3.  本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
 4.  未经原版权作者许可,禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
 5.  为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
 6.  若资源侵犯了您的合法权益, 请持您的版权证书和相关原作品信息来信通知我们请来信     通知我们我们会及时删除,给您带来的不便,我们深表歉意!
 7.  如下载链接失效、广告或者压缩包问题请联系站长处理!
 8.  如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
 9.  本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
 10.  因源码具有可复制性,一经赞助 ,不得以任何形式退款。
 11.  更多详情请点击查看

汇站网 WordPress教程 WordPress文章过多导致网站缓慢堵塞的优化方法 https://www.huizhanii.com/33713.html

汇站

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

发表评论
暂无评论
  随机评论 表情开关按钮图片
表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情
登录后评论
联系官方客服

为您解决烦忧 - 24小时在线 专业服务

(汇站网)一个专注站长资源的平台网站,提供最新的网站模板和整站源码,内容包含各类精品网页模板,企业网站模板,网站模板,DIV+CSS模板,织梦模板,帝国cms模板,discuz模板,wordpress模板,个人博客论坛模板,上千种免费网页模板下载尽在汇站网.找源码上汇站.huizhanii.com

终身SVIP限时特惠


为回馈新老会员对本站的支持与厚爱

推出原价598元 现在仅需99元 有效期为永久

可享有免费下载本站98%VIP资源

即时活动 即时优惠 错过就再等一年

汇站网(huizhanii.com)

2024年即日


点我关闭