WordPress 插件更新噩梦(我自己的故事)和解决方案

已发表: 2022-09-15
目录隐藏
1.一切顺利……
2.东西坏了……
3.生意岌岌可危……
4.谁该受责备?
5.真可惜……
6.吸取的教训……
7.更新困境:是还是不是??
8.更新 WordPress 的终极指南——核心、插件和主题
9.分享您的故事/最佳实践……

这是我自己的——噩梦般的——更新 WordPress 的故事——以及吸取的教训。 我还在结尾处包含了一些指导方针,所以你不会陷入像我们这样的情况!

一切进展顺利……

您可能知道我们有一个电子商务分析业务——Putler。 我们使用 WooCommerce 和订阅扩展以及许多其他插件来运行它的后端。 我们使用自己的插件将 WooCommerce 数据与 Putler 同步,因此我可以在 Putler 中获得所有高级报告。

大约三年前我建立了 Putler 网站,之后更新了 3-4 次,一切都很顺利。 到目前为止,一切都很好。

东西坏了……

东西坏了...

有一天,一位客户说他无法登录到 Putler,尽管他已经订阅了。

虽然听起来很奇怪,但事实确实如此。 他的 PayPal 订阅处于活动状态,我们每月收到付款,但在 WooCommerce 中,他的订阅显示为“未收到付款”/“待取消”。

我们找不到发生这种情况的具体原因,因此将其称为异常,并手动将他的订阅标记为“活动”。

几天后,另一位订户提出了类似的问题。 我们也手动纠正了这个问题,并要求我们的服务器管理员查看服务器上的任何问题。

服务器管理员说一切都很好。 我们收到付款很好,大多数订阅在 WooCommerce 中显示为活跃。所以我耸了耸肩,认为这是一个“临时”问题。

生意岌岌可危……

一周后,当我查看月度收入数字时,我发现我们的月度收入下降了 20% 。 这对于经常性业务来说是不寻常的,所以我开始仔细查看订单。

原来,在过去的两周里,许多经常性订单没有得到处理。 PayPal 正在发送成功收款通知,但它们未能与系统中的实际订阅链接。 最终,这些订阅由于逾期付款而被取消。

自动取消订阅是一个大问题。 如果我们没有找到并纠正这一点,我们将失去所有业务,因为系统将在适当的时候取消所有订阅。

我们着火了。

我们着火了!

谁该受责备?

我们立即将责任归咎于订阅插件。 几天前我们更新了它,我们认为新版本正在破坏它。 我们开始了广泛的调试,并检查了 PHP 错误日志、WooCommerce 日志、IPN 日志等等。 我们可以达到破坏的确切功能。 每当收到 PayPal 通知时,处理过程都很顺利,直到某个点,然后一切都静默了。

我很生气。 开始诅咒订阅插件布伦特。 Prospress 的 Brent Shepherd——Subscriptions 插件的制造商——实际上是一个好朋友,因此责备他很容易!!

然后我想到了寻求他的帮助——他毕竟是朋友。 所以在 Slack 上采访了 Gabor Javorszky(来自 Prospress)并描述了我们的问题。 他说 PayPal 问题很常见,并要求我发送所有日志。 他还建议另一个插件可能会导致问题。

距离第一次投诉已经过去了两周,距离问题开始还有将近一个月的时间。 我将问题升级为最高优先级,并要求对所有内容进行广泛审计。

两天后,我们找到了真正的罪魁祸首。

多可惜…

这是 WooCommerce Putler 连接器插件。 我们自己的插件之一。

耻辱!!

事实上,连接器插件的最后一次更新解决了这个确切的问题。 我们没有在我们自己的网站上更新到最新版本!

那是更大的耻辱!

学过的知识…

仅仅因为我们错过了插件更新,我们就损失了一大笔收入、两周的时间和许多付费客户。 如果我们不能尽快解决问题,损失将是严重的。

是的,我们都遇到过在更新 WordPress 核心、插件或主题后事情变得糟糕的情况。 我们已经看到了“死亡的白屏”。 执行更新后,我们在实时网站上遇到了危机。

但这并不意味着我们可以在没有更新的情况下离开我们的网站。

是的,不要妄下结论! (对不起布伦特!)

更新困境:成为还是不成为?

在您的实时站点上执行更新可能很危险。 不更新您的网站可能同样 - 如果不是更多 - 危险。 所以你会怎么做?

更新还是不更新?

首先,让我们回顾一下为什么我们应该让我们的网站保持最新……

  • 安全更新——当然,我们不想被黑客入侵
  • 错误修复、兼容性更新——我们也需要这些
  • 新功能——非常有用,可以节省时间
  • 支持——大多数高级插件只为付费用户提供支持

现在让我们看看为什么我们不更新我们的网站:

  • 频繁更新——某些或其他的东西总是在更新!
  • 缺乏时间——忙于其他职责,更新多个站点可能非常耗时
  • 更新破坏网站的风险——重大更新肯定需要在上线前进行测试,小更新也可能导致网站崩溃
  • 开发人员不可用- 如果其他人正在管理您的网站,他们的可用性和成本也将是一个因素
  • 现场直播; 如果它没有坏,就不要修复它——有道理——或者是吗?

更新 WordPress 的终极指南——核心、插件和主题

那么应该如何更新WordPress呢?

以下是我们自己遵循的一些准则

  • 定期备份WordPress 文件和数据库
  • 查看变更日志以确定它是次要更新还是主要更新
  • 如果是次要更新,请继续执行(仍然,先备份)
  • 一次更新一个插件
  • 在试运行现场之前,先在登台服务器上测试任何主要内容
  • 确认更新顺利
  • 如果有任何自定义代码,请确保在更新之前它可以与新版本一起使用
  • 如果使用子主题,切勿直接在实时站点上更新父主题。 首先在暂存环境中进行测试。
  • WordPress 核心更新通常是安全的!
  • 在确保您使用的 WC 插件是最新的之后,应进行WooCommerce升级。 最好在上线之前在本地/临时环境上进行测试——尤其是在重大更新之间。
  • 永远不要将备份存储在 wp-content 甚至 public_html 文件夹中
  • 我们可以通过定期执行更新来最小化影响

一些关于执行 WP 更新的优秀文章

  • 在 WPMU Dev 上更新 WP 和 Multisite 的终极指南
  • 在 SitePoint 上更新 WordPress 的指南
  • 升级 WordPress – WP Codex 的扩展说明
  • 如何在设计墙上更新 WP 主题

分享您的故事/最佳实践……

希望我的故事能帮助你避免这样的问题。经常更新,小心更新!

你有任何关于更新 WordPress 的恐怖故事吗? 你是如何从他们那里恢复过来的?

您现在遵循哪些“最佳实践”来更新 WordPress/WooCommerce/插件/主题?

通过在下面发表评论来分享它们! 您的评论将帮助许多其他人。

图片来源:Helgi Halldorsson,Pixabay,维基媒体,Giphy