如何安全更新 WordPress 主题和插件

已发表: 2018-10-23
插件是 WordPress 不可或缺的一部分,因为它们可以帮助您在 WordPress 网站中添加新特性和功能。 但是,如果您未能正确更新您的 WordPress 插件,则可能会导致软件冲突或错误。 此外,您最终可能会损害 WordPress 网站的安全性。

保持 WordPress 插件、主题或核心升级并不是一项艰巨的任务,但有一些注意事项不容忽视。 这是因为如果您没有正确升级它们,它可能会破坏您网站的功能,甚至会让您危及 WordPress 网站的安全性。 同时,WordPress 主题和插件可以显着改善您网站的功能和外观,提高网络流量,最终提高转化率和业务收入。

必须多久更新一次 WordPress 核心、主题和插件?

答案是:只要有更新! 您等待的时间越长,它就会变得越困难,因此您必须在需要时更新它并且有新的更新可用。 大多数时候,新更新建立在旧更新之上。 此外,您可以更改模板以及数据在数据库中的存储方式,可以轻松地以增量方式进行控制。

实际上,此类更新对于安全目的非常重要。 因此,不要只是等待执行安全更新,因为这对您的 WordPress 来说可能是至关重要的,从而使其面临服务器风险。 每当识别出安全漏洞时,有关可利用代码的信息就会在整个互联网上发布。 最终,任何黑客都可以轻松、即时地编写机器人并自动爬取网站以利用此类漏洞。

除此之外,过时的插件、主题和 WordPress 版本是让黑客访问您的网站的最简单方法。 即使是停用的插件或主题也很容易使您的系统非常脆弱。 因此,为了帮助您,在本文中,我们将讨论一些建议的做法,以使您的 WordPress 保持最新。

但是在我们深入研究这些最佳实践之前,如果您想知道许多人提供的维护计划,声称可以帮助用户保持最新状态,那么您必须知道这样的想法是有问题的。 这些计划仅按季度、每月或每周提供这些更新。 由于必须按时完成更新,这种方法无法满足您的更新要求,并使您的站点面临安全漏洞。 毕竟,这些更新最好尽快完成,而不是遵循预定的时间表。

因此,当您继续阅读时,我们将讨论以下基本方面:

  • 更新前备份 WordPress
  • 为更新测试构建暂存环境
  • 更新插件的提示
  • 更新主题的提示
  • 更新 WordPress 核心
  • 恢复 WordPress 插件或主题文件
  • 如果更新破坏了您网站的功能的后果

现在让我们分别讨论它们中的每一个!

1.确保在更新任何内容之前备份您的网站

许多用户犯的一个错误并面临丢失其站点数据库的后果是未能在执行更新之前进行适当的备份。 因此,您必须避免这个错误,并记得为您的 WordPress 网站保留一份最新的备份。 这将帮助您在任何升级或更新出错时恢复数据。 为此,请确保您进行了两种类型的备份,即仅数据库备份和完整站点备份,也称为完整备份。

将上述两个备份下载并存储在您的任何本地计算机中。 为了进一步帮助您,这里有一些您可以使用的有用插件。

  • 后退WPUp - 它是一个免费插件,提供各种发送和调度到远程位置的选项
  • 复印机  – 您可以使用专业版来安排备份。 这非常适合迁移,免费版本可以快速复制该站点。
  • 备份好友 这是一个付费插件,但非常适合迁移和调度。
  • UpDraftPlus   – 这个插件类似于BackupBuddy 和BackWPUp,但它现在变得越来越流行。 这些插件为远程备份存储提供付费和免费选项。
  • 硬盘驱动器  – 如果您有多个站点,那么 WorpDrive 是一个非常划算的选择。 您只需在输入 FTP 凭据后让插件自动运行。 此外,您可以测试备份以确保其界面中的功能以及使用一键还原功能。
注意:始终保持足够且合理的备份大小。 此外,请排除大文件并在文件夹中上传。

2. 在本地暂存环境中测试您的站点是否存在任何冲突

在不中断您的实时站点的情况下,您可以通过多种方式构建一个临时环境来测试您的站点更新。

使用可用的 localhost 为 WordPress 建立临时站点

通常,您必须维护站点的本地托管副本(永久)。 这样,您可以首先使用本地站点运行所有更新,然后使用 Git 将更新推送或执行到站点的实时服务器。 这可以防止更新后出现意外。 此外,关于服务器和您的本地托管站点的变化是 MySQL 和 PHP 版本。

但是,如果您想完美匹配您的实时和本地环境,您可以像其他开发人员一样使用 Vagrants(虚拟开发环境)或以下提到的任何选项。

  • 桌面服务器

Desktopserver

您可以使用 Desktop Server 并快速制作本地托管站点的副本,检查/测试更新并修复或记录问题,在实时网站上重复该过程。

为此,您必须使用上面列出的任何备份插件来准备站点的 Zip 备份。 此外,请确保省略大目录,因为您不得针对每个上传的媒体文件测试更新。 现在下载文件 (zip) 并将其导入桌面服务器,您就拥有了站点的本地版本,您可以根据自己的判断随时中断该版本。

  • WP 暂存插件

如果您使用 WP Staging Plugin,您可以轻松地在您的主机帐户(当前)的子目录中创建您网站的克隆。 但是,该插件可在 WordPress 主机(非托管)上访问,例如具有共享标准托管的 Blue Host 或 HostGator。

执行任务——

WP Staging
  • 安装此插件并选择要克隆的项目。
  • 登录您的克隆站点,一旦它安装在您当前站点的子目录中。
  • 更新插件或自定义主题,但测试一切。
  • 检查它是否按预期运行。 如果是,您可以将修改迁移到生产站点。

3. 使用托管 WordPress 主机访问登台环境

为此,建议您使用 Get Flywheel、WP Engine 和 Site-Ground 等主机,因为它们提供可靠的性能、备份、安全性和一键式登台环境。 当您查看所有提供的功能时,使用和充分利用此选项比手动设置成本更有意义。

  • WP Stagecoach 和 WordPress 登台环境

  • 只需单击一下即可建立您的实时站点的临时副本。
  • 将所有临时站点更改复制回 WordPress 实时站点。
  • 您可以选择要导入的更改,即导入全部或部分文件更改或/和您的数据库更改。
WP Stagecoach

更新 WordPress 插件的注意事项

在进行插件更新之前,您必须了解以下一些有用信息。

更新您的 WordPress 核心文件

某些 WordPress 版本确实与过时的插件或主题冲突。 就像插件和主题一样,您应该毫不犹豫地更新补丁,例如 3.0 到 3.0.1 以及 5.0 到 5.1 的主要更新,但要确保它与您现有的主题和插件兼容。

此外,使用站点的本地副本更新测试也是一个好主意。 但是,如果站点使用 WPML - WordPress 多语言插件运行,有些人在将站点从 4.9.2 更新到 5.0 时可能会遇到一些问题。 此外,您可能还需要更新主题。 因此,请确保对所有内容进行充分备份。

WP_Updates

为确保该插件与 WordPress 最新版本兼容,您可以在其任何论坛或 WordPress.org 上查看该插件。 如果 WordPress 升级包含 jQuery 库更新,它可能会与与您的主题或插件集成的 jQuery 冲突,并可能导致一些关于 jQuery 的问题。 例如,Ajax 内容编辑器或主题的滑块可能会停止正常工作,在这种情况下,更新主题变得不可避免,并且是 WordPress 更新的强制要求。

替换废弃插件

在更新插件之前,首先从您购买插件的地方或在 WordPress.org 上检查插件的最后更新日期。 如果您的插件在过去 6 个月内没有更新,请确定它的可行性。 如果您认为不再提供支持,请搜索可以更好地维护的新插件。 同样,如果您的插件超过两年没有更新,请开始寻找替代方案。 这是因为如果您的网站使用了一个过时的插件,并且没有长时间维护,您的网站要么会被黑客入侵,要么最终会崩溃。

定期更新 WordPress 插件

每当有可用更新时,您必须尽早更新您的插件,尤其是插件补丁,它们是安全修复和错误。 为确保更新插件时站点的功能,请推迟插件升级,除非您查看插件网站或 WordPress.org 上的更改日志。 有时此类更改过于重要,这将需要您重新构建样式表、自定义模板文件或重新输入数据。 您可以在阅读更改日志时找到此信息和详细信息。

首先更新 WordPress 插件

如果您对 WordPress 和插件都进行了重大升级,则必须首先更新插件并逐个检查它们。 如果您先升级 WordPress,它会再次提示您更新插件,使其与 WordPress 最新版本兼容。 此外,如果插件带有主题,您还需要更新主题以正确使用新插件。

更新高级插件

以下是更新高级插件所需执行的操作:

  • 对于高级插件,不要忘记输入许可证密钥。
  • 如果插件与主题捆绑在一起,请继续购买高级插件。 主题开发人员通常会花时间更新捆绑的插件。

样式更新/插件模板

在主题升级的情况下:

  • 为您的插件更新模板 - 使用可自定义模板的模板 - 并将其与子主题的模板进行比较。 使用可自定义模板的插件示例包括 NextGEN Gallery、WooCommerce 和 The Events Calendar。
  • 也许插件已被删除、移动或重命名,模板或样式表,您将其镜像为您的子主题。

WordPress 主题更新

WordPress 主题更新可能会变得有点棘手,因为更新将覆盖您为主题文件所做的所有自定义(但仅当更改包含在子主题中时)。 同样,更新也会覆盖您已经设置的选项。

因此,请继续阅读,因为我们分享了一些您必须牢记的注意事项。

  • 在修改核心主题文件的情况下,或者简单地说,如果您没有考虑子主题,那么您将不得不对您之前对主题文件所做的更改,对新主题进行更改,这可能需要一些时间。
  • 如果您使用子主题,那么更新父主题很容易,您不必担心。 但是请务必将修改后的模板文件与父主题的新模板文件进行比较,以了解修改后的模板是否兼容 HTML。 为此,您可能需要重建自定义模板文件。
  • 也许新主题将具有新的类和 HTML ID,因此您对样式表的更改将不会被应用。 为此,请继续阅读我们讨论处理任何主题或插件更新可能会破坏您的网站的情况的方法。
  • 就像插件一样,如果更新是主题补丁,并且您已经合并了子主题,那么更新将很容易。 如果主题涉及重大变化,请留出一天进行升级。 但是,这需要的时间取决于父主题的年龄、更新的重大程度以及对子主题或原始主题进行的自定义数量。
  • 新插件可能无法与旧主题一起顺利运行,因为您计划将这些插件与最新的 WordPress 版本合并。 这就是为什么即使不方便也需要更新主题的原因。

但是,对于带有静态 CSS/HTML 的主题,不使用 JavaScript,您无需担心主题更新,因为这些主题几乎没有任何需要升级的东西,除了一些已弃用的 WordPress 功能。 但同样,如果您使用那个旧主题,您的网站一定很无聊,您必须考虑更新以使其更有趣。
就像汽车一样,WordPress 最伟大和最新的主题也有很多花哨的东西。 此外,更新它们也很耗时。

WordPress 的最新主题包含许多集成在一起的功能和活动部分。 它们非常令人兴奋、健壮且对执行几乎所有任务都很有用,前提是您必须使它们保持最新,而这需要时间,因为代码从一个版本彻底更改为另一个版本。

恢复插件文件和 WordPress 主题

有时,升级到主题或插件会出现严重错误,在这种情况下,您可以使用上面创建的备份轻松替换这些插件和主题文件。 但是,对于备份插件,首先,您需要解压缩完整的备份。 之后,只需将插件或主题旧版本 FTP 到 wp-content> 插件或主题文件夹,用该备份覆盖插件或主题的新版本。

WordPress.org 和 WordPress 插件旧版本的恢复

如果您在 WordPress.org 上遇到有关插件的问题,请尝试重新安装该插件的旧版本,该版本无需任何备份即可轻松升级。

WP Org
  • 使用 WordPress.org 搜索您的插件
  • 单击开发人员选项卡。
  • 使用另一个版本列表,下载插件旧版本。
  • 首先,使用 WordPress 仪表板上的插件列表停用并删除插件的较新版本。
  • 通过单击添加新插件上传并激活旧版本。 仅当您没有对数据库进行更改时,这必须充分发挥作用,将您的 WordPress 站点恢复为升级插件之前的状态。

恢复 WordPress 数据库

如果您无法使用一键还原或不使用 VaultPress 进行站点还原,则需要手动还原文件(使用 FTP)和数据库。 这样的指令有点长,你必须更仔细地恢复数据库。 但是,请查看下面讨论的说明,并确保您不会无意中删除任何其他数据库。

首先,下载您在升级之前构建的数据库备份,但如果您更喜欢备份插件,请解压缩您创建的数据库的备份。 查找以“.sql”结尾的文件。

  1. 登录到您的虚拟主机的控制面板。
  2. 转到 MySQL 的数据库向导。
  3. 按照以下步骤创建一个新的数据库,用户名/密码。 记下数据库用户名、数据库名称和数据库密码。 不要忘记为新用户提供所有权限。
  4. 在您的网络托管控制面板中,单击 phpMyAdmin。
  5. 为此,您可能需要在前面步骤中创建的凭据(用户名和密码)。
  6. 在 phpMyAdmin 窗口左侧,单击数据库名称。
  7. 当您进入“结构”选项卡时,您会发现“在数据库中找不到表”。
  8. 现在单击屏幕顶部的导入选项卡。
  9. 单击下一页上“要使用的文件”字段旁边显示的浏览按钮。
  10. 当您单击浏览时,在您的计算机上找到存储的文件 - 备份。
  11. 确保在格式的下拉菜单中正确选择了 SQL。
  12. 单击 Go 按钮以导入数据库表。
  13. 使用 FTP 或文件管理器(您的网络主机的控制面板)登录您的网站。
  14. 创建一个 wp-config.php 文件副本。
  15. 编辑原始文件 - wp-config.php 以包含您之前在步骤 3 中创建的用户名、数据库名称和密码。
  16. 您现在已完成恢复旧数据库。
注意:在使用 BackupBuddy 的情况下,您可能需要使用 importbuddy.php 脚本来恢复数据库并覆盖旧数据库的表,而不是构建一个全新的表。

您的网站因主题升级或 WordPress 插件而中断 – 该怎么办?

如果您破坏了您的实时站点,您需要首先使用备份来恢复它。 但是,如果您已经合并了一个暂存环境,请按照下面讨论的提示继续前进并充分解决您的站点的问题。

1. 阅读文档、支持论坛和变更日志

如果您阅读更新日志、支持论坛或文档,您可以从其他人的经验中学习。 如果任何其他人也遇到过同样的问题,这表明有更好的机会了解修复或在那里讨论它。

2.使用正确的简码并重新保存选项

如果升级时插件功能或滑块未正确加载,则应单击更新或保存更改,以便功能或滑块可以重新连接到布局或页面。 确保所有其他设置和图像与旧版本中的以前相同。 有时,重大更新会让您重新选择所有选项。 在某些更新中,您只需单击一个按钮,您的选择就会被保存并重新开始工作。

某些主题短代码或插件可能不再相同或已更改,因此您必须使用正确的短代码并阅读文档。

3.清除浏览器和网站缓存

虽然您可能认为升级/更新站点损坏的根本原因,但这有时也是由于某些缓存文件干扰了您的站点的正确加载。 这些干扰缓存文件可能会带来各种不可预知的行为。 因此,最好的办法是登录 WordPress 的仪表板并删除缓存插件中的所有缓存文件,然后再删除浏览器的缓存文件。 现在尝试使用其他浏览器查看或登录您的站点。

4. WordPress 插件或主题升级后的疑难解答式问题

如果您想知道为什么 CSS 样式的修改没有合并到您的新插件或主题中,可能有一些原因。 这些包括:

  • HTML 已更改- 如果 HTML 类或 ID 已更改,您的旧插件或主题使用的 CSS 将被忽略。 但是,要修复它,请使用 Inspect Element Chrome 功能、Firebug 或 Safari 来识别正确的 CSS 选择器,并根据需要在子主题的样式表中对其进行修改。
  • 样式被覆盖- 当您更新插件或主题时,可能会覆盖这些插件或主题中包含的一些方法或样式表。 要解决此问题,只需将样式表和样式复制到适当的位置。 这可以在 FTP 目录或插件或主题选项中。 您还可以比较旧站点和新站点以确定位置。
    样式的位置发生了变化——就像 NextGEN Gallery 和 The Events Calendar 的更新一样,也许你的样式表
  • 位置一定是搬家了。 为此,请阅读插件文档以获取有关新样式表在 FTP 目录中的位置的信息。

5.   WordPress 更新后无法加载或中断

按照这些步骤来识别主题插件、主题和其他插件之间的 JQuery/JavaScript 或 PHP 错误冲突。 以下步骤的目的是隔离问题并消除尽可能多的变量。 但是,您必须始终在暂存环境中执行此操作,以便在此过程中不会破坏实时站点。

  • 使用网络主机的文件管理器或通过 FTP 登录到您的 WordPress。
  • 将插件文件夹的名称更改为 plugins-old。
  • 从主题文件夹中取出活动主题并在文件夹中 - wp-content。
  • 通过登录 WordPress 的仪表板激活二十七个默认主题。
  • 转到插件页面并检查所有插件现在是否已停用。
  • 测试您的 WordPress 网站,不要注意外观混乱,因为您不再使用主题。
  • 现在再次转到文件管理器或 FTP 并将文件夹 - 旧插件更改为插件,再次将主题移动到主题文件夹。
  • 首先,编辑文件 - public_html 中的 wp-config.php 以及行 'define('WP_DEBUG,' false)' 到 'define(WP'_DEBUG', true)。
  • 现在激活原始主题。
  • 测试您的网站并记下错误。
  • 在这种情况下,主题依赖于已安装的插件,请确保此类插件已正确更新和激活。
  • 再次测试站点并记下错误。
  • 如果发现任何错误,请阅读插件或主题的支持论坛以获取有关解决问题的更多信息。 打开调试时报告的错误并不那么严重,尽管开发人员也应该注意这些。 但不幸的是,大多数高级主题的开发人员都冷漠,几乎不维护插件或主题。
  • 如果在所需插件或您的主题中没有发现错误,请一一激活插件并记下错误。 此外,请阅读支持论坛以了解有关已知问题的更多信息。
    o) 最后,将文件 wp-config.php 编辑为 public_html 以及将行 'define('WP_DEBUG', true) 编辑为 'define('WP_DEBUG', false)。

缩小问题根源的一种方法是消除变量(例如删除所有主题和插件)并打开调试功能。 虽然您可能无法完全解决问题,但您至少可以缩小问题的根源。

是时候犒赏自己了!

如果您已经成功处理了所有问题并升级了所有内容,那么您做得很好! 是时候放松一下,享受网站的更新版本了,同时为您的 WordPress 网站提供更多的网络流量!