Bingdada 技术博客Bingdada 技术博客
首页博客SEOGEOAI工具关于
登录注册
Logo

Bingdada 技术博客

专注于SEO搜索引擎优化和GEO生成式引擎优化以及未来人工智能发展趋势的技术博客

快速链接

  • 首页
  • 博客文章
  • 关于我们

联系方式

  • 398848662@qq.com

订阅我们的 Newsletter,获取最新的 SEO 和 GEO 技术资讯。

© 2024 Bingdada 技术博客. All rights reserved.

首页博客SEO基础Yoast SEO 27.8 更新:为大型网站带来显著性能优化
Yoast SEO 27.8 更新:为大型网站带来显著性能优化
SEO基础

Yoast SEO 27.8 更新:为大型网站带来显著性能优化

bingdadabingdada
八月 2, 20267 次阅读约 5 分钟阅读
快速回答

Yoast SEO 27.8 版本针对大型网站推出了显著的性能优化,包括根站点地图和作者站点地图的加载时间大幅缩短。通过优化数据库查询逻辑,在拥有200万用户的测试站点上,根站点地图加载时间从超过300秒降至25毫秒。

核心要点
  • 大幅降低拥有大量用户的网站根站点地图加载时间
  • 降低拥有大量用户的网站作者站点地图加载时间
  • 其他性能改进
目录

目录

  • 引言
  • 大幅降低拥有大量用户的网站根站点地图加载时间
  • 降低拥有大量用户的网站作者站点地图加载时间
  • 其他性能改进
  • 结论

引言

在最新的 Yoast SEO 27.8 版本中,我们引入了一系列性能优化措施,旨在全面减少插件各功能的加载时间。这些优化对于拥有大量文章和用户的大型网站效果尤为显著。

注意: 本文包含技术细节和实现说明,适合开发者和高级用户阅读。

Yoast 开发团队始终将提供低服务器开销、快速加载的精良软件作为首要目标。然而,Yoast SEO 安装在全球数百万个网站上,我们必须针对各种不同的配置进行优化。这意味着我们需要持续寻找插件性能优化的空间。我们过去一直这样做,例如在 2023年2月改进数据库系统 时。

27.8 版本正是这些针对性审查的成果之一。我们特意选择了那些在规模扩展时性能瓶颈最明显的功能,并对它们进行了精简和加速改造。从修改查询以加速拥有大量用户的网站页面,到削减管理后台中针对大量文章站点的繁重操作,再到减少对数据库的多次往返调用,并普遍应用性能最佳实践——这个版本旨在全面提升 Yoast SEO 插件中的用户体验和开发者体验。

我们还将在此提供本版本改进的技术摘要,深入探讨其细节,因为提高对性能最佳实践的认识总是有益的(更不用说讨论代码本身就是一件有趣的事)。

大幅降低拥有大量用户的网站根站点地图加载时间

背景:为了让 Yoast SEO 在输出根站点地图时计算作者站点地图的最后修改时间(Last Modified),它需要用到所有有资格被包含在作者站点地图中的用户的 usermeta。

传统上,计算符合条件的用户是通过检查用户权限(capability)来实现的。这通过在 get_users() 调用中添加 'capability' => ['edit_posts'] 参数来完成。结果,这触发了一个非常繁重的查询,包含多个 JOIN 且没有使用数据库索引。

具体来说,生成的查询会添加如下子句:

AND ((((mt1.meta_key = 'wp_capabilities'
        AND mt1.meta_value LIKE '%"edit\\_posts"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"administrator"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"editor"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"author"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"contributor"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"wpseo\\_manager"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"wpseo\\_editor"%'))))

由于 LIKE '%...%' 无法使用任何 B-tree 索引,MySQL 必须完整读取每个匹配的 wp_capabilities 行,并对每行进行七次序列化 PHP meta_value 的子字符串扫描。

通过将计算条件从检查权限改为查找拥有已发布文章的用户(使用 'has_published_posts' => true 参数),我们立即将生成的查询转换为使用索引的查询,从而在拥有大量用户的网站上表现更佳。

事实上,在我们的一次测试中,在一个拥有约 200 万用户的网站上,每次查询完成的时间(即根站点地图渲染所需的时间)从超过 300 秒下降到仅 25 毫秒!这意味着,这一改变有望在类似网站上大幅缩短根站点地图的加载时间。

最后,考虑到 'has_published_posts' => true 参数已在站点地图生成的后续阶段中使用,此更改对功能的实际影响微乎其微,甚至没有负面影响。

降低拥有大量用户的网站作者站点地图加载时间

对于 Yoast SEO 渲染作者站点地图,它需要计算符合条件的用户。在拥有大量用户的网站上,这可能是一个非常繁重的操作。除了上述优化之外,我们还注意到,当 Yoast SEO 计算符合条件的用户时,它还会添加一个元查询(meta query)来检查每个用户的 user_level 是否大于 0。

结果发现,这是旧时代的遗留物,因为 自 WordPress 3.0 起,user_level 框架已被 WP 核心弃用(参见 WordPress User Levels 文档)。虽然这并没有破坏我们的站点地图功能,但它不必要地在生成的查询中添加了一个 INNER JOIN,在拥有非常庞大的 user 和 usermeta 表的网站上,这会降低性能。因此,我们移除了这个不必要的 JOIN。

其他性能改进

除了上述两项核心优化外,27.8 版本还包含以下改进:

  • 减少对数据库的多次往返调用:对于多个功能,我们合并或优化了数据库查询,减少不必要的往返次数。
  • 优化管理后台操作:对于拥有大量文章的网站,我们削减了后台操作中的繁重计算。
  • 应用性能最佳实践:在整个插件中普遍应用了缓存、延迟加载等性能最佳实践。

结论

Yoast SEO 27.8 版本专注于为大型网站提供更快的加载速度和更低的服务器负载。通过针对性地优化根站点地图和作者站点地图的查询逻辑,我们实现了显著的性能提升。这些改进不仅提升了用户体验,也为开发者提供了更高效的代码基础。

我们鼓励所有用户更新到最新版本,尤其是那些运营大型网站的站长。如果您有任何反馈或问题,请随时联系我们的支持团队。

目录

  • 引言
  • 大幅降低拥有大量用户的网站根站点地图加载时间
  • 降低拥有大量用户的网站作者站点地图加载时间
  • 其他性能改进
  • 结论
黄金广告位 · 限时招商
广告位招商中

把品牌放进读者的阅读流

文章内广告位,高注意力场景,适合新品发布与活动招募。

商务合作

标签

#性能优化#Yoast SEO#大型网站#站点地图#WordPress
bingdada

bingdada

SEO & GEO 技术探索者,专注于搜索引擎优化和生成式引擎优化。

相关文章

WordPress 7.0 发布:七大亮点深度解析
SEO基础

WordPress 7.0 发布:七大亮点深度解析

WordPress 7.0 于2026年5月发布,带来七大核心更新:现代化后台界面、可视化版本修订、新增区块、响应式设计控制、智能模板编辑、AI工具集成及插件过滤功能。本文深入解析每项亮点,并探讨其对Yoast SEO用户的实用价值。

8月 2约 6 分钟阅读
AI品牌提及与引用:Yoast SEO教你区分与优化策略
SEO基础

AI品牌提及与引用:Yoast SEO教你区分与优化策略

本文深入解析AI品牌提及与引用的核心区别,以及如何利用Yoast SEO优化策略提升品牌在AI搜索中的曝光度和权威性。

8月 2约 6 分钟阅读
Yoast 2026年4月SEO更新回顾:AI代理、谷歌核心更新与搜索信任信号
SEO基础

Yoast 2026年4月SEO更新回顾:AI代理、谷歌核心更新与搜索信任信号

Yoast 2026年4月SEO更新回顾:AI代理、谷歌核心更新与搜索信任信号。了解谷歌新推出的AI代理基础设施、结构化数据演进、核心更新收紧,以及为什么单纯发布更多内容已不再有效。获得可操作建议,优化你的网站以适应AI优先搜索。

8月 2约 5 分钟阅读

订阅我们的 Newsletter

获取最新的 SEO 与 GEO 技术资讯。

我们尊重您的隐私,随时可以取消订阅。

评论 ({count}) (0)

登录后即可参与讨论

登录注册
还没有评论,来抢沙发吧