WordPress 是一种流行的、易于使用的、基于 PHP 的内容管理系统和博客平台。许多企业组织认为 WordPress 只是一个供小型公司、企业家、自由职业者和没有强大或复杂基础设施的公司使用的平台。但如果情况并非如此呢?
本文将讨论可帮助您利用 WordPress 易于使用的功能的五种策略。我们还将利用巨大的社区支持来开发企业WordPress站点。首先,我们将谈谈企业对在下一个企业项目中使用该平台犹豫不决的原因,以及为什么这些原因是毫无根据的。
企业犹豫
WordPress 最初是作为一个博客平台开始的,但很快就适应了一般网站的使用。今天,据估计 WordPress 可能支持互联网上多达35-40% 的网站,近 28% 的电子商务通过 WooCommerce(一个 WordPress 插件和系统)进行。然而,许多 IT 专业人士和经验丰富的开发人员仍然认为该平台仅用于博客,并认为它不适合处理企业的更大需求,这些需求可能需要与其服务集成。许多组织将他们的系统视为对 WordPress 来说“太独特”的专有系统,并认为它不适合他们的基础架构。
IT/开发人员对 WordPress 的另一个担忧是,要启动和运行站点并使用他们的系统,他们必须从头开始。不是那么回事。WordPress 在短短五分钟内完成了主平台的安装,做得非常好。此外,通过使用复杂的插件,WordPress 可以接入标准化系统、使用云服务、提供 SAML 或 OAuth2 功能等。即使您没有找到可以满足您所有需求的插件,也可以轻松构建插件并扩展平台以连接到您自己的专有系统。我们将在本文中研究其中的一些内容。
最后,人们认为 WordPress 不够安全。他们为什么会这样想?嗯,也许是因为他们看到了很多安全更新。但这不应该告诉您 WordPress 在安全方面如此活跃,以至于它在您的 IT 部门早上醒来之前就发现并解决了问题吗?由于在线世界的足迹如此之大,并且有如此多的公司在使用它,因此有成千上万的开发人员在关注核心。然后使用插件(任何人都可以编写,这是真的),我们可以应用一些基本规则来只选择最好的插件并审查我们允许的插件。一切都是开源的,所以所有插件都是一本开放的书,你可以让你的开发人员浏览它们并寻找可能影响组织的任何东西。
企业WordPress策略
既然我们已经解决了企业环境中有关 WordPress 的一些犹豫和神话,我们可以讨论一些使 WordPress 成为适用于任何规模公司的策略。虽然这些策略将涵盖许多主题,但您总能做更多的事情。
策略 1:确定您需要什么并将其锁定
这是 WordPress 的标准安全策略。
- 首先确保您使用著名的五分钟安装指南设置平台。需要注意的一件事是生成Security Salt安全盐。这非常容易做到,并且会为您提供额外的保护层。
- 设置 SSL。真的很标准。
- 保护您的
wp-config.php
文件。此文件是放置您的机密、密码、API 密钥和平台链接以及您的企业服务的好地方。我建议不要将此文件提交到您的存储库,而只是在某处保留它的备份。然后您可以将其提供给可能需要它的新开发人员。您甚至可以将此文件移动到公众无法访问的其他位置,然后引用该文件。如果您搜索有关移动的内容wp-config.php
,您可以找到有关该主题的大量信息。除了移动它,您还可以将配置添加到您的 Web 服务器配置或.htaccess
文件,以简单地拒绝直接访问该文件。 - 移动管理面板的登录页面。通常,此页面位于
https://<yoursite.com>/wp-admin
。您还可以将此 URL 更改为其他位置。有一些插件可以帮助您解决这个问题。 - 将站点置于 CDN或 CloudFlare 或 CloudFront 等服务之后,以提高安全性。
- 删除任何提及 WordPress 版本的标签。
要完成上面的第 6 点,您可以使用下面提供的这个简单代码在两个位置执行此操作,并将它们放入您的functions.php
文件中。
执行以下操作以删除标题和 RSS 中的版本号:
function remove_wp_head_version() {
return '';
}
add_filter('the_generator', 'remove_wp_head_version');
要从脚本和 CSS 文件中删除版本详细信息,请执行以下操作:
function remove_wp_styles_scripts( $src ) {
if ( strpos( $src, 'ver=' . get_bloginfo( 'version' ) ) ) {
$src = remove_query_arg( 'ver', $src );
}
return $src;
}
add_filter( 'style_loader_src', 'remove_wp_styles_scripts');
add_filter( 'script_loader_src', 'remove_wp_styles_scripts');
如果您想更进一步,请查看官方WordPress 强化指南以获取更多提示!同样,WordPress 开发社区对安全性考虑了很多。因此,请务必在您的组织希望的范围内遵循本指南。
策略 2:制定更新插件和主题的计划
既然安全的基础已经不重要了,接下来要考虑的是如何制定一个计划来更新您的站点、您的专有代码、处理插件以及允许 WordPress 在需要时进行自我更新。
- 首先确保你限制了插件的数量。添加更多插件很容易。你点击一个按钮,它就会安装。但是,每个插件都会向您网站的添加代码,并使攻击面更大。请务必限制您使用的插件数量,并选择来自受人尊敬的开发人员的插件。一定要审查开发商。他们有反应吗?他们靠这个插件谋生吗?他们自己是一家公司吗?他们是否回答了很多支持票?插件经常更新吗?如果这些问题的答案中出现危险信号,请继续尝试另一个。几乎存储库中的每个插件都有另外三四个竞争对手。我通常发现已安装的插件的神奇数量似乎在 10-15 之间。但请记住,我们将在本文后面讨论构建自定义代码。您不想为已有代码的内容安装插件。一定要明智地选择!
- 将 WordPress 置于版本控制之下。在这里,您可以根据站点的大小设置自己的版本控制策略。我通常将 WordPress 核心和插件置于版本控制之下。有时您的上传和静态资产可能太大且数量过多,因此请将它们备份到其他地方。这里的想法是,如果出现问题,您希望能够回滚核心和任何插件更改。但同样,这可以设置您的组织如何管理其存储库。
- 不要忘记你的数据库!如果您更新 WordPress 或其插件,它也可能会更改数据库。为您的数据库提供回滚策略,并确保您在那里也受到保护。我经常将 Amazon Web Services 用于数据库,因此我会在任何重大更新之前拍摄快照。
策略三:使用自己的自定义类构建类库
到目前为止,我们已经讨论了大多数 WordPress 安装的一些最佳实践和安全策略。从现在开始,我们将讨论您可以用于非常特定的专有代码的策略,您可能希望与 WordPress 一起使用。这会将 WordPress 扩展到企业领域并真正推动价值。
是时候收集你的代码了
企业通常拥有类库和函数,用于执行其产品独有的某种功能。如果您收集此代码并将其放入 Web 根目录之外的文件结构中,则可以使用 WordPress 实际访问此库并提取代码!你可以做到这一点的一种方法是创建一个简单的“必须使用插件”,这是一个插件 WordPress 将始终首先加载任何其他插件。这对于像autoloader这样的东西来说是理想的。您的插件将声明自动加载器,突然您的 WordPress 站点可以访问您的库,并且可以从任何地方引入类。建立你的库,加载它,你就可以参加比赛了!
好的,现在你已经通过自动加载器加载了你的类,接下来怎么办?嗯,WordPress 的一项强大功能是钩子(也称为操作)。当 WordPress 运行时,它会在其生命周期的各个阶段寻找要调用的回调函数。通过这些钩子,您可以调用专有库代码、创建对象、调用自定义函数和方法以及执行各种其他操作。如果您从一开始就花时间正确设计此代码,则您甚至不必重写任何内容。把它放进去,注入你的依赖,你就可以开始了。
例如,假设您有一个与 Amazon 数据仓库帐户相关联的库类。当有人登录该站点时,您希望它将该活动发送到仓库。WordPress 有一个名为wp_login
. 您可以使用此钩子来执行您的代码,收集有关刚刚登录的用户的信息,并使用您的类将该数据发送到仓库。
另一个例子是拦截该登录请求,通过REST API调用调用第三方身份验证服务,获得响应,然后如果用户通过则让用户进入。突然间,您的 WordPress 站点正在使用您自己的代码在后台检查 Okta(或类似服务)的凭据。
策略 4:锁定服务
基于策略 3,我们还可以在您的站点上创建一个特殊位置,提供可直接调用的 REST API 端点或脚本。我工作的一家公司使用了一项服务,通过产品内电话帮助设置试用软件。有人启动了一些软件并点击了一个按钮;该软件调用 WordPress 站点,该站点在 WordPress 中加载并使用专有代码来提供试用许可证。然后它将该许可证返回给用户,然后用户可以立即激活它。
此策略可用于各种 API、特殊门户、日志记录脚本等。这种策略的美妙之处在于这些服务位于 WordPress 旁边,并且可以使用您的自定义专有类和 WordPress 功能来执行额外的任务、流程和集成。如果您愿意,这些服务甚至可以向其他服务发起 webhook。
设置方法如下:
/lib <-- Custom library
/webroot
|__ /wp-admin
|__ /wp-content
|__ /wp-includes
|__ /services <-- Services directory
|__ /api <-- Service that uses lib classes
|__ /oauth
|__ /trial-system
正如您在上面看到的,我们services
的 WordPress 安装旁边有一个目录。它可以加载文件,例如wp-load.php
引入 WordPress 功能或到达上方webroot
以访问类lib
以执行我们的服务。由于这些目录作为它们自己的单独服务,并不直接与 WordPress 绑定,这就是我所说的“附加服务”。您可以删除/api
,突然间 API 不再存在。WordPress 甚至不知道有任何变化。
最后,通过拥有自己的自定义代码库,您可以为自己的自定义插件快速提取该代码!WordPress 插件非常容易上手,您无需与公众分享。您可以为自己的服务编写插件,从库中提取类和函数,并使用 WordPress 提供新功能。您可以执行一些操作,例如将部分页面锁定给特定成员、访问第三方服务以了解访问者是否可以访问他们的帐户,或从云中提供资产。这些只是一些想法,但还有更多。
策略五:高级功能文件配置
大多数 WordPress 主题的一部分是functions.php
文件。通常,谈论将一些代码放入 WordPress 的在线文章都在谈论将代码放入该文件中。但是很多人没有意识到这只是一个标准的 PHP 文件,就像其他任何文件一样。您可以使用 PHPinclude
和require
语句来引入其他文件。这些文件可以是您自己的充满专有功能代码的自定义 PHP 文件。这些文件也可能来自您的库。通过将这些文件分开并充满您自己的代码,按照您认为合适的方式进行组织,您可以将您的functions.php
文件用作您自己的代码管弦乐队中的指挥。下面是一个如何布局的示例:
include('lib/classes/oauth.php');
include('lib/functions/configuration.php');
include('lib/functions/utilities.php');
include('lib/functions/shortcodes.php');
include('lib/functions/actions.php');
include('lib/functions/filters.php');
// Here we do stuff with our code
add_action('wp_login', 'do_login_stuff');
function do_login_stuff() {
// Use Oauth to contact a third-party service
}
当您在此处混合使用高级功能文件设置、我们的自定义库和附加服务时,您可以创建协同作用,使企业可以随心所欲地扩展其代码。由于这些都不涉及实际的 WordPress 核心或第三方插件,因此您可以获得能够更新 WordPress 核心和插件而不影响您的专有代码的优势。同样,此代码也可以位于远离公众的单独位置,并且仅在需要时才引入。
总之
在本文中,我们讨论了五种简单的策略,可以将 WordPress 提升到对企业真正有用的水平。
我们从一个基本策略开始,讨论了强化平台的过程,然后我们跳到了策略 2,关于计划如何进行升级/更新。这两个主题非常通用,因为每个公司都有自己的标准和系统级别来实施这些事情。
接下来,我们进入了代码组织的发人深省的策略,以及如何通过一些巧妙的技巧来创建类库(策略 3)、锁定服务(策略 4)以及使用我们的functions
文件(策略 5)允许企业利用他们的代码与 WordPress 一起创建许多新功能。通过使用自定义库、插件、操作、过滤器等,企业开发人员可以获得构建新服务所需的工具,这些服务将与 WordPress 完美配合以创建令人惊叹的新工具。利用 WordPress 的强大功能,让您的营销团队构建页面,同时利用您来之不易的 PHP 类库代码的强大功能。
我们自己使用这些策略构建了试验系统、REST API,并与 Zendesk、AHA!、Flexnet Operations 甚至专有物理软件等工具集成。可能性是无限的!希望您发现这些策略有趣且有用!
您也许还想看看2021年企业商务网站建设必须安装的24个WordPress插件,以了解企业网站常用的WordPress插件。