WordPress 4评测:强势介入、伺机待发、迅猛成长
作为地球上最强大也最具人气的博客引擎,WordPress在新版本中带来了超越博客的更多新功能——但这一切当然需要付出成本。
软件在发展过程中往往会迎来与最初定位有所区别的前进方向。WordPress就是非常典型的例子。作为一款最初相当单纯的博客引擎,WordPress如今已经成为应用范围最广的软件方案之一、被普遍用于面向公共及内部网站的维护工作。时至今日,WordPress引擎已经不再仅仅是一套强大的博客生成引擎,它同时能够作为CMS、社交中心、论坛、反馈追踪系统以及电子商务解决方案等等。随着版本的不断更新,WordPress开始一步步成为一套通用型内容发布框架,甚至足以为业务乃至企业提供有力支持。
提起WordPress,我们首先想到的关键词就是“可以”。要让WordPress处理来自公共甚至是内部用例的高强度流量并为其提供安全保护,我们必须对其进行一定调整。而在另一方面,大部分此类调整都已经拥有现成方案可用(甚至比这还简单)——这要归功于以该产品为核心衍生出的活跃开发文化。如果大家希望利用WordPress满足自己的需求,很可能已经有人拿出过完善的解决方案,而且他们很清楚该如何为我们的需求服务。
我们首先着眼于WordPress 4.0的预发布版本。需要强调的是,目前其还处于官方beta测试阶段,其中不少元素仍然未被最终敲定。由于WordPress在进行大版本升级时会采取一些潜在限制(下面将进一步探讨这个话题),因此WordPress 4.0在实际体验中获得了相当稳定的运作表现。事实上,我们几乎可以将其直接部署在生产环境当中,而用不着再对其预览版身份过分担心。
新的与值得关注的内容
与传统认知相反,WordPress的整数发行版本并不会引入规模庞大、极具革命性意味的变化与调整。WordPress项目的开发人员会缓慢但坚定地逐步为其加入新功能,而非为了与大版本升级相符而一下子引入太多天翻地覆的变化。另外在大家意料之中的是,WordPress 4.0与之前的其它整数版本相比更适合被添加至生产环境当中。
在过去一年中,WordPress引入的最大变化——同时也是给业务与企业用户带来最大潜在影响的因素——在于该产品的开发方式。相对于原本一直向核心产品直接添加变更的作法,如今WordPress开始首先以插件方式引入新功能并以此作为测试机制。如果实际效果符合开发团队的预期,这些功能才会被最终纳入到核心产品本身。
除了能让核心代码变得更精简之外,这种开发战略还带来另一大优势。这意味着希望在实际使用中对WordPress作出定制的企业能够获得一套标准化实施流程,并且以现有插件为着眼点考量自己该如何构建定制化功能。从核心代码到插件再到模板,整套WordPress都由PHP进行构建。很明显,PHP编程语言在企业中的旺盛人气让用户能够更轻松地把WordPress作为开发平台并加以使用。
启动
WordPress广受欢迎的一大原因在于其极易安装与配置。很多Web内容供应商都提供一键式WordPress脚本安装方案,其它能够轻松实现的配置选项同样不难找到。举例来说,JumpBox提供一套WordPress VM机制,我也将在下面的评测中用到这套方案。
即使以手动方式进行安装,WordPress实例的设置过程也绝对与复杂二字无缘。创建数据库、将文件解压至文件夹中、最后最困难的部分也不过就是为该程序的文件设定权限。余下的工作完全交给WordPress本身自行解决即可。面向该程序的全部主流选项要么同样可以自动完成配置,要么只需通过基于Web的管理员面板加以设定。
同样的,整套产品——加上所有插件以及主题——都能在后台自行完成更新,这项特性相对较新。企业用户可能需要关闭该选项,从而防止其在后台中悄悄引发问题。与其它任何软件产品相比,WordPress在避免由平台本身变动而引发插件或者主题功能出错方面都更加谨慎——至少是同样谨慎。
如果大家需要向其中导入原有内容,方法之一就是将其转换为WXR文件(全称为WordPress Extended RSS),也就是WordPress自己的XML文件格式。使用WXR的一大弊端在于它并不属于正式文档;它只能作为供WordPress所使用的实际代码内容、从而实现数据导出。换句话来说,通过逆向工程解析该格式的运作机制并借此创建出实际存在的导出文件是根本不可能的。WordPress会自动获取RSS信息,不过需要对导入内容或者用户账户作出额外修改。
大家需要做出的决定之一在于是否使用WordPress的多站点模式。在典型的WordPress安装流程当中,大家往往只需要将其视为单一单元进行审视,所有页面、用户以及资产都能够统一处理。然而在更为复杂的部署流程当中——例如需要为每一个部门保留自己的独立用户库、资产列表以及博客——那么就可能需要并行部署多个WordPress实例。不过另一种更加简洁的选项在于利用多站点模式通过同一个程序实例对多个WordPress站点加以管理。不过需要注意的是,并不是所有的插件都能与多站点模式顺畅协作。事实上,要开发出一款适用于多站点模式的插件要求技术人员具备相当程度的聪明才智。
看起来不错 在过去一年中,大部分立竿见影的变化都集中在WordPress用户界面调整及功能易用性层面。举例来说,其编辑器与控制面板被重新构建为响应式设计,而主题管理系统方面的变化也使其更易于整理与排序。其中企业用户需要关注的一项原生调整在于对博文的变更可以逐步进行追踪并最终指向特定用户,从而使管理员得以了解到底是谁造成当了前问题的出现。
容纳管理系统中的各类编辑器通常非常糟糕,鼓励用户在系统之外撰写自己的文本内容并将其粘贴至系统内部。相比之下,WordPress的编辑器更倾向于推动用户直接在浏览器内进行操作。出于对设计人员的尊重,我最终也开始采取这样的使用方式。最近编辑器还迎来另一项升级,即引入了免打扰模式,就是说在我们输入内容的同时、所有非必要提示都会被隐藏起来。很多内容管理系统都只为用户提供一套位于屏幕中央的小小编辑栏,其周围环绕着一大堆控制选项,WordPress的设定显然更符合普通用户的需求。除此之外,WordPress编辑器对于移动设备同样非常友好,大家可以利用编辑控制选项对布局进行缩放与重组、进而使其在平板设备与智能手机上获得更理想的显示效果。
插件与主题构建起庞大的生态系统,从而使WordPress成为一套自成一派的平台。不过在添加插件的过程中请多加小心,不同插件的协同运作有时候会引发冲突。
在默认情况下,WordPress会在系统当中提供五种用户角色,分别为:订阅者、发布者、作者、编辑者以及管理员。其中订阅者基本上相当于管理评论内容的版主;发布者能够创建新的博文,但再无其它特权;作者可以发布博文并管理自己的媒体信息;编辑者能够修改其他用户发布的博文与媒体信息;而管理员则有权处理全部相关内容。在大多数场景中,这些角色都能确切发挥自己的作用,但我们也可以根据需求添加更多细化控制机制、从而通过用户访问管理器等第三方插件对用户行为进行监控。与此类似,大家还能够将Active Directory等现有认证授权系统与WordPress相结合。
调整与塑造
除了安装的便捷性之外,WordPress在定制化方面的便捷性同样值得关注。适用于WordPress站点的主题可以通过由WordPress控制的库或者其它来源处轻松下载,用户还可以在WordPress当中直接对其进行编辑。这些主题是可以提前进行暂时性尝试的,因此大家用不着为了查看特定主题的实际显示效果而激进地将其部署到面向公众的站点版本当中。
但WordPress在定制化与扩展性领域的真正实力源自其插件系统,其插件甚至建立起一套属于自己的软件生态系统。直观来看,WordPress当中没有任何单一层面无法利用插件进行定制处理,这自然也覆盖了其大部分功能范畴:SEO优化、内容缓存与加速、内容管理、搜索与替换、联系方式、通讯与电子邮件订阅管理乃至电子商务插件等等。
作为两款被广泛使用的插件,BuddyPress与bbPres充满显示出WordPress在灵活性方面的巨大优势。前者允许用户将WordPress转化为一套成熟的社交网络体系,后者则能够将WordPress站点带来论坛功能——只需利用WordPress用户数据库即可实现登录。我们甚至可以利用PauPress将WordPress的用户数据库构建起一套CRM系统。
当然,大家也可以找到其它一些能够将WordPress转化成实用性企业工具的插件。除了前面已经提到的Active Drectory集成方案之外,另一个不得不提的使用范例就是Secure FTP支持:WordPress本身并不支持SFTP,因此大家需要添加第三方插件使其具备这种能力。与之相似,现有插件还能将WordPress与Salesforce或者SugarCRM等平台实现跨越式集成。
需要注意什么
尽管插件系统具备极为强大的潜能,但将其与WordPress进行关联也会带来众多令人头痛的难题。由于插件能够极大改变WordPress的运作方式,因此它们之间有可能无法正常交互或者引发严重冲突、从而导致不同插件不能和平共存。同理,某些插件无法在多站点安装模式下正常起效,而且很多插件无法感知到BuddyPress或者bbPress的存在。
WordPress的浏览器内置编辑器与移动及桌面系统浏览器协作良好。其“免打扰”模式能够在用户使用编辑栏时将一切控制机制隐藏起来。
即使是对于最常见的插件而言,进行交叉测试都是一项不切实际的任务,因此最明智的做法在于尽可能利用少量必要插件完成工作。经验法则:每次添加的插件数量绝不超过一个,而且要对每款插件的方方面面进行深入测试。大家也不用指望这种情况能够发生转变。毕竟插件与主题的多样性是帮助WordPress脱颖而出的关键性因素,而由此带来的弊端恐怕只能说是一种必要之痛。
WordPress当中的另一种潜在陷阱则在于性能表现。在默认情况下,WordPress会在接收到请求后以动态方式生成每一个页面。如果大家需要以月为单位对内容加以更新,这样的处理方式的确非常理想;但对于那些使用强度较高的站点而言,负载频率的提升有可能导致页面响应缓慢。这一点在使用分区托管机制的WordPress站点身上体现得尤为明显,但有时候也会出现在专用安装模式当中。
为了解决这个难题,许多第三方插件带来了类型各异的静态内容缓存与加速交付机制。WP Super Cache就是其中一例,它能够将利用多种不同方式实现站点加速,其中包括:生成静态文件、CDN一体化以及页面压缩等等。其它一些插件(例如EM Obejct Cache)则能够通过提供数据库层面的缓存机制实现WordPress加速。
WordPress面临的另一大挑战在于安全性。事实上,该程序核心随着时间推移已经变得愈发安全,但第三方插件与主题仍然扮演着攻击活动跳板的角色、因此我们需要对其进行严密监控。Wordfence等现有插件能够帮助我们保护WordPress,但从长远角度看、此类方案会降低管理员们的警觉性。
最后,大家可能会发现WordPress在第一方与第三方支持方面可谓毫无短板。几乎每一家托管厂商——包括以企业业务为核心的Rackspace——都将WordPress列为受支持产品,并为其提供自动化设置脚本。作为WordPress的缔造者,Automattic公司自己也拿出了博主级与专业级两个托管服务版本。WP Engine等专用托管方案面向所有传统的企业级WordPress托管需求。Maintainn等第三方机制则根据用户实际需求的不同而提供不同层次的支持水平。
一方面,采用WordPress将不可避免地要求大家处理大量工作、从而保证其适用于业务流程与企业环境。导入现有内容、优化性能表现并将WordPress与所有企业运营所必需的方案相集成,这一切都要求大家付出相当可观的艰辛努力。
而在另一方面,WordPress那丰富的生态系统能够显著降低相关工作的实施强度。由于已经存在大量以WordPress为基础、为环境或者为核心的完善方案,大家能够相对更加轻松地找到自己需要的工具、进而在它们的帮助下完成任务或者利用它们构建适合自己的方案。