如何在不破坏您的网上商店的情况下安全地更新 WooCommerce?

已发表: 2018-04-25
update WooCommerce

最后更新 - 2020 年 9 月 8 日

WooCommerce 更新是常见现象。 更新为 WooCommerce 带来了所需的更改。 当您更新 WooCommerce 时,预计它会比以前的版本更好,并且应该会添加更多功能。 如果您拥有 WooCommerce 商店,您应该响应所有最新更新。 最近的 WooCommerce 更新可能会导致特定插件或主题无响应。 这意味着您也需要更新它们。 您可以手动和自动将 WooCommerce 更新到最新版本。 如果你有它在自动化,你可以期待顺利的自动更新。

但在某些情况下,更新可能会破坏您的网站。 突然之间,您可能会面对客户投诉订单完成、付款处理过程中的拒绝等。 为了避免出现任何此类不需要的情况,您需要一个紧急替代解决方案,在您修复由于最近更新引起的问题时,该解决方案将作为备份。 因此,在本文中,您将找到有效更新 WooCommerce 并阻止您的 WooCommerce 网站潜在中断的方法。

WooCommerce 很特别

您必须记住,WooCommerce 不是您安装并激活以开始使用它的典型插件或 WordPress 扩展。 从技术上讲,WooCommerce 是一个插件,它是一个复杂的工具,它具有单独的 API 和显示,并且与各种其他 WooCommerce 和第三方扩展具有高度的兼容性。

考虑到其中一个发布插件在更新后无法正常工作,这可能不会在很大程度上影响您的业务。 或者如果支付网关在更新后无法运行,您的客户仍然可以通过选择不同的支付选项来完成订单。 现在考虑在最近的 WooCommerce 更新后,您的整个商店都无法正常运行。 这种情况可能会动摇您的基础,最终您可能会失去很多客户。 如您所见,具有特定功能的插件无法与无响应的更新 WooCommerce 相提并论。 您可以参考最近的 WooCommerce 3.0.0 更新,它让世界各地的商店出现了一些问题。

当您希望更新 WooCommerce 时,您应该遵循计划好的策略。 首先寻找来自 WooCommerce 团队的警告。 遵守任何警告将使您免于任何严重的情况。 其次,确定最新功能是否影响您的业务。 您还应该确保已安装的插件和扩展能够与 WooCommerce 的最新更新正常工作。 因此,请等到您的大部分插件在最新的 WooCommerce 更新上进行测试。

禁用 WooCommerce 自动更新

更新 WooCommerce

所以你需要记住的第一点是寻找 WooCommerce 的开发日志。 您可以在最新版本中找到细微的更改,可以忽略。

例如,WooCommerce 3.3 发布了一个小更新。 由于自动更新功能,许多店主响应更新并最终陷入困境。 因此,建议您在下一次重大更新之前不要更新您的 WooCommerce。

目前的趋势是,您将在主要更新的接下来几天看到一些额外的小更新。 由于 WooCommerce 现在遵循语义版本控制,因此从 3.1 到 3.2 的更新必须考虑为次要版本。

更新环境

这肯定是指您决定首先更新 WooCommerce 商店的环境。 更新实时站点不应该是您的首选。 因此,如果您了解最近的 WooCommerce 更新,请确保您不会立即在实时站点上更新 WooCommerce。 在测试环境中安装更新可能会花费您一些时间,但它会为您节省巨大的业务损失。

使用测试环境

如果您真的对 WooCommerce 的小更新感到好奇,您可以选择并在测试环境中测试更新 WooCommerce。 确保测试环境在各个方面都类似于您的实时商店。

因此,由于测试站点将具有与现场站点相似的所有信息和内容,因此可以认为是测试的正确选择。 您应该非常小心测试环境中已经测试过的主题、插件和其他扩展版本。 更多类似的数据将是更好的性能。

换句话说,如果测试环境在各方面都与您的直播网站不相似,这本质上意味着您在直播网站上安装最新更新时无法期待类似的结果。

暂存测试环境

示例暂存子域

您可以轻松创建/暂存测试环境。 例如,如果您的网站域是 learnwoo.com,则使用您的临时站点,例如 staging.learnwoo.com。 您可能认为 learnwoo.com/staging 是一个不错的选择。 但这就是您创建子目录的方式。 如果您使用第二个作为地址,这最终将创建一个子目录,并将您的网站副本保存在实时商店中。 如果您错误地创建了 learnwoo.com/staging 作为测试环境地址,则很可能会出现以下问题。

  • 测试站点中的任何问题都会破坏实时站点。
  • 由于在同一网站上复制/重复的内容,会占用大量不必要的内存。

因此,以 staging.learnwoo.com 的形式创建临时站点,以避免不必要的不​​便。

使用托管 cPanel

使用托管服务创建子域变得容易得多。 您可以登录到您的主机控制面板并通过单击子域创建一个子域(下面的屏幕截图)。

单击子域后,您可以通过在子域部分输入“staging”来命名它,然后单击创建。 现在您需要将您的实时网站复制到 subdomian。

在测试环境上克隆直播网站

我们将看到将整个实时网站复制到测试环境的各种方法。 您可以使用上述任何一种方法来做到这一点。

  • 使用插件的目的
  • 手动
  • 选择服务提供商
使用暂存插件

您可以免费找到最好的暂存插件。 很少有流行且功能强大的插件是 Duplicator、WP staging 和 WP Migrate DB。 这些插件使您能够将副本或克隆从一个站点移动到另一个站点。 使用这些插件中的任何一个,您都可以下载实时网站并在您的本地主机中创建一个副本,而不会延迟。 因此,您可以使用这些插件中的任何一个并将实时网站复制到临时区域,反之亦然。

手动

手动复制仍然需要备份您的网站,因为这将使您保持安全。 如果您擅长基本站点管理并认为您了解备份或复制站点数据,则可以手动执行暂存操作。 当然,这需要时间并对你的能力构成挑战。 您可以从托管 cPanel 本身执行大多数功能。 所以让我们继续复制网站。

  • 转到 cPanel > 文件管理器
  • 找到网站的根目录
  • 选择根目录的全部内容并复制它们
  • 在提示中分配目标暂存子域以保存复制的文件(下面的屏幕截图)

如有任何困惑,请不要犹豫,并联系您的托管服务提供商。

  • 现在,转到 Hosting cPanel > MySQL Database Wizard来设置数据库
  • 分配登台数据库名称,创建用户和密码
  • 再次浏览到托管后端的控制面板,然后单击phpMyAdmin

这将带您进入实时网站数据库。 现在选择带有复制表的实时 WordPress 数据库。 系统将再次提示您选择目标文件夹。 在这里选择暂存站点的数据库以复制那里的实时数据库。

  • 这需要更改登台网站的 wp-config.php 中的数据库详细信息
  • 最后,将数据库中的站点 URL 从www.learnwoo.com替换为staging.learnwoo.com。
要记住的要点
  • 如有任何混淆,请联系托管服务支持。
  • 替换 .sql 文件中的数据库时要小心。
  • 确保输入正确的网站 URL。 如果您没有 SSL 证书,则不要在 https 中包含“s”。 如果您有证书,请在替换 URL 时不要错过 https 中的“s”。
  • 如果您在活动站点上拥有临时站点,请为该站点创建 SSL 证书。

有了所有这些步骤和注意事项,您的登台站点就可以使用了。 您可以使用现有的 WordPress 凭据登录暂存站点。

为登台网站接近服务提供商

如您所见,第一种方法不是最可靠的并且缺乏必要的支持,而第二种方法对于新用户来说是一个艰难的选择。 在这种情况下,您可以选择联系服务提供商,该服务提供商可以为您的实时网站创建一个临时网站并将其重新启动。 这些服务提供商代表您在云托管空间上创建说明站点。通过所有这些,您将获得持续的支持。

Siteground 是我们的建议之一。 WP Engine、Kinsta 等是其他一些优秀的主机,它们为快速创建临时站点提供全面支持。

WooCommerce 更改日志

更新 WooCommerce

如果您是 WooCommece 开发博客的忠实追随者,您可以确定是否应该获取最新更新。 这些博客包含所有必要的详细信息和建议,您在接受更改之前应牢记这些信息。 您会发现更改的利弊、受更新影响的区域以及将 WooCommerce 更新到最新版本的先决条件。 您还可以在这些博客中找到有用的链接以供进一步阅读。 除此之外,您还可以阅读用户提出的现有问题,以了解更多有关出现的问题。

WooCommerce 的主要更新

一旦您收到任何主要 WooCommerce 版本的通知,请确保您安装的所有插件都在最新的 WooCommerce 上进行了测试。 否则,插件可能无法正常运行。

在更新之前检查您的插件是否与最新的 WooCommerce 兼容。

您等到插件和主题与最新的 WooCommerce 版本兼容。 扩展开发人员会及时了解此类主要版本,并开始开发他们的产品以获得更好的性能和兼容性。

简而言之,您应该等到所有插件和主题都可以使用最新更新。 确定兼容性后,您可以继续更新 WooCommerce。 但首先,测试 Staging 网站与主题和插件的兼容性。

暂存网站中的测试功能

仍在登台网站时,您必须确保在最新的 WooCommerce 下测试各种功能。 这是该过程中的重要步骤之一,并作为决定因素。

要测试扩展,请启用 WP_DEBUG_LOG。 通过这样做,您可以捕获所有编程和基本错误及其原因。 调试模式还将指向您可以解决这些问题的地方。 您需要记住的另一件事是检查后端和前端的响应。

您可以在前端查找页面、产品页面、登录和个人资料更新、购买、交易等。 并在后端检查 WooCommerce 中的订单、产品和不同设置。

如果您按照预期获得测试结果,您可以继续将最新的 WooCommerce 安装到您的实时网站。 或者在测试期间解决问题。

在测试期间修复问题

如果您在测试时遇到问题,您可以查看调试消息并联系开发人员和 WooCommerce 支持,以便解决问题。 通常,当您在这些情况下联系寻求支持时,系统会要求您提供调试消息。 由于这些调试消息提供了大量信息。 同样,您需要先解决问题,然后才能进行实时更新。

移至生产网站

更新 WooCommerce

一旦解决了临时存储中的所有问题,就可以从临时存储部署到实时存储。 在你决定去之前做一个快速提醒。 在登台网站测试期间重新检查功能。 并摆脱任何问题。

现在我们将看到可用于部署到实时网站的选项。

部署

手动的

这个选项非常简单。 您需要遵循与制作登台网站相同的步骤。 简而言之,从手动更新过程开始,然后制作登台网站并测试网站的功能。 并在您的实时网站上遵循相同的过程,即在登台网站成功测试后进行手动更新并测试实时网站上的功能。

推动

当您在登台网站中遇到复杂情况时,将使用此过程。 当您因更新而发生较大的代码和数据库更改时,您将需要一个技术推送过程,该过程会将更改传输到实时网站。 现在我们知道在 WooCommerce 中数据库更改仍然是手动的,将代码自动推送到网站会有点冒险。 为了减轻自己的负担,您可以为此目的使用插件。

部分推送

最后但并非最不重要的是来自第三方 WooCommerce 管理平台的部分代码推送。 最受欢迎的此类平台之一是 Github。 将 Git 与 Bitbucket 结合使用可帮助您通过中央 git 存储库管理 WooCommerce 部署。 在此过程中,首先将更改从本地开发环境推送到中央暂存区。 完成所有部署后,您需要执行自动端到端测试。 清除所有测试后,您可以通过标记并将分支推送到实时网站来启动自动部署到您的实时网站

结论意见

管理变更或更新 WooCommerce 是 WooCommerce 作为平台的突出缺点之一。 但是,如果您拥有一家每年产生数百万美元收入的商店,那么管理您的 WooCommerce 更新对您来说是重中之重。 为了帮助你,我希望这篇文章能起到帮助作用。 如果您喜欢阅读这篇文章并且能够在您的网站上实现它,那么您将不需要雇用某人并自己更新 WooCommerce。

您可以访问我们的教程部分以获取更多此类故障排除文章。