使用过时WordPress主题的风险

主题同样是代码。过时的WordPress主题与过时的插件存在同样的风险,而它得到的关…

A laptop computer representing the risks of running an outdated WordPress theme

WordPress网站所有者往往专注于插件和核心的更新,却对当前启用的主题关注较少。插件列表在后台一目了然,而主题往往是多年前安装、此后再没留意过的东西。问题在于,主题同样是代码。它们与插件存在同样的风险,一个过时的主题,可能和你网站上任何一个未打补丁的插件一样危险。

安全风险

主题包含PHP代码,每次页面加载时都会运行。它们自带 functions.php,其中往往有处理表单、AJAX请求和各类集成的自定义辅助代码。这些代码中的任何漏洞,都和插件中的漏洞一样,可以从公开的网络被触及。

常见的主题漏洞包括:未经身份验证、且不加校验就接收用户输入的AJAX端点;缺乏适当净化处理的文件上传功能;以及未针对跨站脚本进行审查的联系表单或评论处理程序。捆绑了插件的高级主题同样存在风险,因为这些被捆绑的插件版本通常被锁定,在上游插件修补漏洞时却很少随之更新。

如果你的主题已经一年多没有更新,请将其视为一个警示信号。如果两年多没有更新,则基本可以视为已被弃置。

兼容性风险

主题是针对特定的WordPress核心版本、PHP版本以及一组相关插件而设计的。随着这些组件不断向前演进,缺乏维护的主题就会以各种细微的方式开始出问题:区块编辑器的呈现发生变化、现代区块无法正确显示、错误日志中出现PHP警告、移动端布局在较新的浏览器上表现异常,而Core Web Vitals得分也会下降,因为主题产生的布局偏移会被当今浏览器以更严格的标准来衡量。

这些问题在第一天都不会显得很严重。它是一个曾经运行良好的网站缓慢侵蚀的过程。

性能风险

老旧主题通常会加载超出实际需要的资源:多个版本的 jQuery;即便网站只用到寥寥几个图标,也照样加载整套 Font Awesome 图标;以及当初只为首页某个横幅而购买、却从未优化过的轮播库。这些资源会出现在每一次页面加载中,把Core Web Vitals得分往下拉。

为区块编辑器构建的现代主题通常更为精简,只有当相关区块出现在页面上时才加载对应资源。一个2020年的主题,与一个当下精心构建的区块主题之间,性能差距相当可观。

盗版主题问题

另一个值得单独点明的风险,是从非官方渠道下载高级主题的做法。在种子站或共享站上获取的一份价值上百美元主题的免费副本,几乎总是被植入了后门。所有者安装该主题,后门在首次请求时即被激活,攻击者随即获得对网站的完全访问权限。

这种情形普遍得令人沮丧。在主题授权费上省下的钱,与不可避免之事发生时的清理成本相比,只是九牛一毛。请始终从官方供应商处购买主题,或使用 WordPress.org 的主题库。

主题定制带来的问题

我们见到的最大单一错误,就是直接编辑主题文件。开发者为修复布局问题而改动 header.php,或在 functions.php 中添加一个函数来处理某项定制需求。一旦主题更新,这些改动就会被抹去。

正确的做法是使用子主题。子主题继承父主题的一切,让你能够覆盖特定文件或添加特定函数,而无需改动父主题。当父主题更新时,你的定制内容得以保留。

如果你当前的主题被直接编辑过,现在就是修正它的最佳时机。把这些改动迁移到子主题中,之后你就可以安全地更新父主题了。

如何评估你的主题

在WordPress后台打开主题页面,记下主题名称、版本、作者以及最近一次更新的日期。在 WordPress.org 或供应商网站上查找该主题。如果最新版本比你的版本领先了不止几个小版本,就该规划一次更新;如果最近一次更新已是一年多以前,则应规划迁移、放弃该主题。

检查该主题是否为区块编辑器而构建。较旧的主题以经典编辑器为前提,在现代WordPress中会显得越来越笨重。而区块主题则与平台未来的发展方向保持向前兼容。

如何安全地更新主题

安全的做法与任何重大的WordPress变更相同:先备份;在staging(预发布)环境中测试;查阅更新日志,留意可能破坏兼容性的改动;在staging环境更新后,把网站从头到尾走一遍,修复任何移位之处,再在低流量时段把变更推送到生产环境。

对于包含设计变动的大版本更新,预计要花一些时间来调整子主题的覆盖内容;而对于小版本更新,这一过程通常是无感的。原则始终一致:预发布、测试、部署。

何时迁移才是正确答案

有时候,一个老旧主题落后得太远,更新它比迁移更让人头疼。原开发者已不知所踪,主题不再有人维护,代码里满是另一个时代的 jQuery——此时,与其继续给旧主题打补丁,一个全新的区块主题反而能为网站打下更好的基础。

一次规划周密的、迁移到当下区块主题的过程,通常能够在替换底层根基的同时,保留网站原有的外观与质感。成本集中在前期,但节省的开销会在未来每一年的维护中不断累积。

需要帮忙吗?

如果你希望有人为你审查WordPress主题、就更新还是迁移给出建议,并安全地执行其中任一方案,Defyn团队可以为你提供帮助。主题是整个网站的根基,值得把它做对。

Claire Smith 的头像
Sponsored Loved this story? Defyn turns articles like this into the websites your competitors wish they had. Talk to us → defyn.com.au