精简WordPress:优化您的CMS指南

尚无读者喜欢这篇文章。
Wordpress open source content management system

CC0 公共领域

一个快速的网站更具可持续性,通常效率更高,用户更满意,他们可以快速轻松地找到所需内容。然而,仅仅因为一个网站不快速,并不意味着它易于维护。您如何平衡速度的需求与易于维护的便利性?在这篇文章中,我们将讨论如何优化WordPress,一个开源内容管理系统(CMS),以满足这两种需求。 

CMS 的便利性... 但可能需要付出代价

内容管理系统为创建和管理网站内容的复杂任务带来了极大的便利性。但是,如果未进行适当的优化,它们也可能带来显著的开销,从而减慢页面加载速度、响应速度等。它们的可扩展架构为用户带来了灵活性,但这通常以性能和可靠性为代价。在这里,我们将介绍 WordPress,截至撰写本文时,在前 100 万个网站中,54% 的 CMS 使用率都归它所有。

WordPress 提供了数千个可用的插件(其中许多插件在 GPL 许可下可用),它们处理从安全性到搜索引擎优化,从商务到联系表单等各种事务。您能想象到的大多数网络功能可能都已转化为插件,只需点击几下即可安装。它们的简单性是这些插件吸引人的部分原因。使用它们可能非常诱人。 

但是,在这些插件和模块内部潜藏着一些潜在的陷阱

  1. 每个插件通常都带有多个 CSS 和 JavaScript 文件,这些文件可能是冗余的,并且会增加网站性能的开销。
  2. 更新 CMS 或其他模块和插件可能会破坏您的整个网站,使其离线。 

虽然普通前端用户可能不会注意到从单个插件加载的一些额外脚本,但每一点都会累积起来。安装几个插件后,您的网站可能会出现性能障碍,这些障碍会被注意到。

如果您不小心,上面第 2 点中提到的升级路径会带来更大的损害。出于安全考虑,保持网站更新非常重要。由于这些系统旨在易于使用,因此更新它们理所当然地应该是一个简单的过程。但是,如果不考虑后果就进行更新,您可能会发现自己陷入困境...或者至少需要费力地将您的网站回滚到昨天的备份。

Wordpress upgrade alert

在 WordPress 中,当有可用更新时,仪表板中会显示警报。由于警报位于您登录时仪表板的左上方,因此它是您首先看到的内容,并且点击更新按钮的诱惑是显而易见的。不明就里的内容创建者通常没有意识到,这些看似简单的升级可能会很快使您的网站离线。仅仅因为有新的 CMS 可用,并不一定意味着您使用的插件将与新更新一起使用。插件通常滞后于 CMS 更新,因此务必确保您已使用的工具在更新后可以协同工作。否则,看似简单的过程可能会使您快速走向网站瘫痪。

从可持续性的角度来看,这很重要,因为无法预料的故障、错误、黑客攻击等会占用资源来修复。避免它们可以节省时间和精力。很简单,对吧?

WordPress 专属优化

让我们来谈谈 WordPress 可以优化的两个关键领域:插件和主题。我们还将简要讨论评论如何降低网站性能。

此外,这绝不是一个全面的列表,而仅代表了一些更常见的 WordPress 优化技术。您可以通过执行数百项网页设计和开发任务来优化网站。有价值的设计师和开发人员还将遵循优化前端、面向用户的资产(如图像、类型和交互)以及通用网络性能优化技术的指南,例如Yahoo!Google所倡导的技术。 

您的 WordPress 插件

Wordpress plugins screenshot

对于现有 WordPress 网站上的插件,首先要做的是停用任何未使用的插件。活动的插件会加载资源(并发出 HTTP 请求),从而为加载的每个页面增加开销。如果未使用插件,请将其关闭。 

话虽如此,请记住,插件的每个实例都会加载自己的开销,下面是一些可以帮助您提高 WordPress 性能的特定插件。

  • 性能分析: 如果您的网站速度较慢,P3 Plugin Performance Profiler 将告诉您哪些插件加载时间最长、它们使用多少数据以及其他有用的指标。从那里开始。
  • 安全性: 如上所述,保持网站安全并免受恶意黑客攻击非常重要。诸如 WordfenceSucuri SecurityAll in One WordPress Security and Firewall 之类的插件可以对此有所帮助。
  • 合并脚本: Autoptimize 将您的所有 CSS、HTML 和 JavaScript 合并到一个文件中,这可以加快加载时间。 
  • 缓存:W3 Total Cache 这样的优秀缓存插件可以通过绕过已缓存在用户浏览器中的元素来加快页面加载时间。 
  • 优化数据库: 诸如 WP-OptimizeYoast Optimize DBWP DB Manager 之类的插件可以通过优化数据库元素来减少网站数据库的开销。
  • 延迟加载图像: “延迟加载” 图像可防止帖子图像在用户滚动并且它们进入浏览器视口之前加载。这加快了页面初始加载所需的时间。我在 Mightybytes 共事的开发人员 Davo Hynds 创建了 Lazy Load XT,这是一个 WordPress 插件,它在可配置性和轻量级开销之间取得了平衡。其他延迟加载插件包括 Lazy LoadBJ Lazy Load
  • 压缩图像: 当然,您可以使用您最喜欢的图像编辑器压缩照片。诸如 WP Smushit 之类的插件可以通过扫描您上传到 WordPress 的每张图像并剥离隐藏的、臃肿的信息来添加额外的压缩层,从而在不损失质量的情况下减小文件大小。
  • 版本控制: 如果不加限制,WordPress 将保存您发布的每篇文章的每个草稿,从而创建存储在数据库中的不必要的信息。诸如 Revision Control 之类的插件可以帮助您设置要保存的特定修订版本数量。关键是在不丢失您的工作(即零修订)和避免数据库混乱之间找到平衡。

现在,关于某些插件的警告。

ShareThis、AddThis、DumpThis

社交媒体分享插件,那些无处不在的按钮,每次您访问博客文章时,它们都会恳求您在社交渠道上分享内容,这些插件也会给您的页面增加显著的负担。 

2013 年,UX 设计师 James Christie 进行了一项实验,以 выяснить 这些小部件给典型页面增加了多少负担。他发现,在网页上添加四个社交小部件还会额外增加 64 个 HTTP 请求,并导致他的页面从 80 kb 膨胀到 480 kb。加载小部件过多的页面也花费了超过 6 秒的时间。Christie 进一步计算指出,如果有 100 万人加载该页面,将导致 1727 小时或 71 天的集体浪费时间等待数据加载。此外,这 71 天还额外增加了 379.8 GB 的数据传输,并且根据他的计算,产生了约 7.41 吨的温室气体排放,这与四次跨大西洋航班的排放量大致相同。 

尽管如此,您的营销部门还是希望人们分享您的内容,并且他们不相信人们有能力复制和粘贴 URL 到 Facebook 或 Twitter。您该怎么办? 

一些网站已开始简单地在内容页面上为其首选社交网络添加超文本链接。这种方法不是发出不必要的额外 HTTP 请求并在页面加载时自动加载每个单独网络的窗口小部件代码和图像,而是将决定权交给了用户。结果是页面重量大大减轻,仅在用户选择他们想要分享内容的网络时才加载分享数据。

或者您可以相信用户知道如何复制和粘贴。

您的 WordPress 主题

在 WordPress 主题方面,渐进增强的概念是一种更可持续的策略。在这种情况下,更易访问意味着更可持续。渐进增强的 WordPress 主题会将基本内容显示给功能较少或带宽较低的浏览器,然后在用户代理允许的情况下添加其他功能。诸如 Thesis Theme FrameworkLucid 之类的高级主题功能丰富且响应迅速,而不会降低网站速度。但也有许多其他主题。

一个好的主题还使用有效的 HTML,它可以在各种浏览器和设备上快速加载。不幸的是,某些主题可能包含垃圾邮件或恶意软件。您可以使用诸如 WordPress Authenticity CheckerExploit Scanner 之类的插件来检查您正在使用的主题的有效性。您还可以使用 W3C 的 Markup Validation Service 来检查基本代码是否符合标准。

接下来,检查您的主题使用的资源

  • 查询数量: 是否可以将静态元素硬编码到主题中?这将减少 HTTP 请求的数量。这可能与静态菜单、网站标题等相关。
  • 图像: 是否有不必要的图像?正在使用的图像是否已正确压缩?它们的格式是否正确?(JPG、GIF、PNG 等)
  • 文件数量: 您是否可以通过将显示页面所需的 CSS、JavaScript 等文件合并到一个经过优化的、最小化的文件中来减少文件数量?(注意:随着 HTTP/2 的更广泛采用,这种方法可能会发生变化。)

当然,每个网站都有不同的需求和要求,因此适用于一个 WordPress 网站的方法可能不适用于另一个网站。在创建和编辑主题时牢记上述注意事项可以帮助减少开销并加快加载时间。

评论、pingback 和 trackback

在 WordPress 中禁用 pingback 和 trackback 功能可以简化您的网站在跟踪谁提及您的帖子方面所做的工作量。人们仍然可以链接到您。这些链接只是不会添加到您的 WordPress 数据库中。考虑到垃圾邮件的数量,这可能会对性能产生重大影响。自动垃圾邮件评论可能会开始占用您的 MySQL 数据库。正如 SEOChat 的人们指出的那样,“如果您一直忽略这一点,您可能会注意到您的网站已关闭,或者您将无法发布帖子,因为您的 MySQL 磁盘空间已超出其配额。”

如果您的网站不 heavily 依赖用户评论,您不妨考虑完全禁用评论功能。监控、审核和与评论(以及创建它们的垃圾邮件发送者)互动可能是一个资源密集型的过程。 

如果您使用第三方评论系统(如 DisqusLivefyre 等),评论可能会尤其成问题。在我们在 Mightybytes 博客运行的测试中,我们的评论系统为使用它的每个页面额外增加了 14 个 HTTP 请求、34 个 MySQL 查询和 0.4 MB。这也转化为大约半秒的额外加载时间,或者如果 100 万人从我们包含评论系统的网站下载页面,则总共需要 69 个半小时和 400 GB 的额外不必要流量。这将比 James Christie 上述计算中指出的四次跨大西洋航班的温室气体排放量略多。

所有这些都说明了,评论肯定有其存在的意义。我并不是主张每个博客都删除评论以拯救地球。评论允许用户进行以内容为中心的对话、分享想法(和链接)并建立联系。对于某些网站或产品,这绝对是必要的。对于其他博客,评论部分在不知不觉中成为了垃圾邮件的存储库,仅此而已。您应该权衡评论的价值与它们给您的网站带来的开销之间的选择。 

更多资源

仅在 WordPress.org 上就有超过 42,000 个插件可用,向您的 WordPress 网站添加功能可能很容易,但也可能带来意想不到的后果。仔细考虑这些后果非常重要。网站速度较慢会导致用户沮丧、放弃率更高,在某些情况下还会造成收入损失。没有人希望这样。最好(也是最可持续的)的网站是那些平衡用户对速度和可靠性的需求与易于维护的结构(提供简洁性和稳定性)的网站。如果您使用 WordPress,希望本文中概述的技巧将帮助您创建更可持续的网站。 

有兴趣了解更多关于网站速度和可靠性如何影响用户体验和网站可持续性的信息吗?Ecograder 将根据 Sustainable Web Design 网站概述的可持续性标准评估网站性能。诸如 Google 的 PageSpeed InsightsPingdom Tools 之类的其他工具提供了旨在专门提高网站性能的有用操作项。如果您想更深入地了解,请查看 Designing for Sustainability: A Guide to Creating Greener Digital Products and Services (由我为 O'Reilly Media 撰写;高级电子书副本刚刚发布)。Pete Markiewicz 还在他的博客 Sustainable Virtual Design 上发表了一系列关于 CMS 可持续性的文章。

最后,首届 Sustainable UX 虚拟会议将于 2 月 9 日举行。它是免费的,并且是在线的。在此处获取门票。 

标签
User profile image.
芝加哥数字机构和 B Corp Mightybytes 的创始人。作家、演讲者、教育家。目前正在创作我的第四本书,《Designing for Sustainability: A Guide to Creating Greener Digital Products and Services》(由 O'Reilly Media 出版)。气候之旅 (Climate Ride) 的董事会主席,该组织举办长距离耐力赛事,为环保事业筹集资金。

3 条评论

很棒的文章!信息量很大,并且有一些出色的资源。谢谢

很棒的文章,谢谢!我对本文中的一些事实感到非常惊讶,特别是与社交媒体插件相关的事实,因为 47% 的消费者希望网页在 2 秒或更短的时间内加载完毕,而 40% 的人在网站加载时间超过 3 秒时会放弃访问。迫不及待想看到您关于 wordpress 的另一篇文章,因为它在超过 6600 万个网站中用作 CMS!

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.