仅插件库中就有超过50,000个WordPress插件,您很有可能会测试并比较一些不同的插件来完成任务或解决网站上的问题。完成后,您只需通过停用和删除它来卸载它,对吗?错误,这样做的问题在于它会在您的WordPress数据库中留下表和行,随着时间的推移,这会很快增加,这反过来会影响您网站的性能,甚至会花费您的磁盘空间费用。
今天我们将向您展示一些关于如何以正确的方式卸载WordPress插件以确保您的数据库保持小巧灵活的提示。
如何在仪表盘中卸载WordPress插件
在我们深入研究如何正确卸载WordPress插件之前,让我们首先讨论用户在WordPress中删除插件的典型方式。第一个方法是通过仪表盘卸载。按照以下步骤以正常方式卸载WordPress(不删除数据)。
第1步
导航到仪表板中的“已安装的插件”,然后单击插件旁边的“禁用”。在此示例中,我们将卸载Wordfence security插件。
禁用WordPress插件
第2步
最后一步是简单地点击“删除”。
删除WordPress插件
如何通过FTP卸载WordPress插件
用户使用的第二种常用方法是通过FTP卸载插件(不删除数据)。请按照以下步骤操作。
第1步
通过SFTP连接到您的WordPress站点。
第2步
浏览到您的/wp-content/plugins/文件夹。然后从您的服务器中删除插件文件夹。
通过FTP删除WordPress插件
很简单吧?好吧,在大多数情况下,上述方法是卸载插件的错误方法,特别是如果您再也不会使用该插件。
卸载WordPress插件的大问题
每当您安装WordPress插件或主题时,它都会将数据存储在数据库中。问题是,当您使用上面显示的简单方法之一删除插件时,它通常会在数据库中留下表和行。随着时间的推移,这可能会增加大量数据,甚至会开始减慢您的网站速度。在我们的示例中,我们卸载了Wordfence安全插件,它在我们的数据库中留下了24个表(如下所示)!
删除插件后留下的Wordfence表
除了数据库之外,很多插件还会留下额外的文件夹和文件。根据我们的经验,这在创建用于日志记录的额外目录的安全和缓存插件中很常见。例如,删除Wordfence插件后,我们在wp-content目录中留下了一个“wflogs”文件夹。我们并不是要选择Wordfence,市场上的大多数插件和主题都是这样工作的。
Wordfence日志
如果您一直使用上述简单方法卸载插件,不幸的是,您的WordPress网站可能需要进行大量清理工作。请记住,停用插件只会使其处于非活动状态。您的网站上目前有多少个非活动插件?如果它超过活跃的数量,那可能不是一件好事。您应该考虑完全删除不活动的插件,因为它们仍然会带来安全风险,即使没有运行,并且只会在您的数据库中留下膨胀。
非活动的WordPress插件
开发人员为什么要这样做?
所以你可能想知道,为什么开发人员在卸载和删除插件时没有自我清理选项?嗯,事实上,他们确实如此。但是,这里有几个原因,为什么它们可能不那么明显。
他们希望保留用户的设置
第一个原因是许多WordPress用户经常在插件之间切换,并且通过将表和行留在数据库中,这会保留您的设置。这意味着您可以稍后重新安装插件,并且您的所有数据仍然存在。或者,如果由于某种原因插件被意外删除,您不必惊慌。对于不太懂技术的用户来说,这绝对可以看作是一种好处,但是,这并不是最有效的方式。
但是,如果由于某种原因您认为以后可能会返回到插件,那么是的,使用上述方法之一删除插件是最佳途径。
他们不在乎性能
不幸的是,我们看到的另一个原因是,一些开发人员可能会争辩说,留下表格不会影响您网站的性能。但想象一下,一个网站在 10 年的时间里,使用了数百个插件,可能生成了数千行或表格。 数据库查询对您的WordPress网站的性能有很大影响,如果开发人员不小心,插件可能会发出很多这样的请求。通常,一个编写良好的插件应该只查询它所关联的表或行,但是,情况并非总是如此。
由于wp_options表中不必要的自动加载数据而导致网站长数据库查询被遗留下来。
然后是磁盘空间问题。大多数网络主机按您使用的磁盘空间量收费或有限制,其中包括您的数据库。
他们犯了一个错误
WordPress插件手册是为开发人员提供有关如何禁用插件卸载VS插件(删除数据)的最佳实践一起做。甚至它说:
经验不足的开发人员有时会错误地为此目的使用停用钩子。
如果开发人员犯了这个错误,这意味着当卸载本应删除所有数据时,它只是运行了停用过程,而将所有内容抛在脑后。
大多数确实有清理方法
然而,有个好消息,因为它们中的很多实际上确实有办法进行适当的清理,您可能只是没有使用它们。然而,话虽如此,他们中的很多人仍然没有向用户说明如何正确卸载他们的插件。互联网营销人员和博主Kevin Muldoon最近在他的文章中谈到了这个主题,为什么WordPress.org需要强制执行卸载选项。在理想情况下,当您卸载 WordPress 插件时,它应该会提示您三个不同的选项。
- 删除插件
- 删除插件和数据
- 删除插件、数据和设置(完全删除)
但这还不是事情的运作方式。最终在存储库中看到这样的东西会很好。
如何卸载WordPress插件(正确的方法)
今天我们将向您展示一些关于如何以正确的方式卸载WordPress主题和/或插件的建议和技巧。这可能包括使用开发人员可选的完全删除过程或必须在数据库中进行自我清理的所有内容。
第1步
在这个例子中,我们将继续使用Wordfence插件。以正确的方式卸载WordPress插件的麻烦之一是每个开发人员对此的处理方式略有不同。这意味着,您很可能需要在Google上进行快速搜索,在他们的网站上查看开发人员的文档,或者快速向他们发送电子邮件。正如你在下面看到的,我们在谷歌上搜索了“如何卸载wordfence”,返回的第一件事就是,他们关于如何完全删除Wordfence的官方文档。
如何卸载Wordfence
第2步
一个开发良好的插件应该在其插件的设置中包含一个选项来完全卸载。您可以在下面使用流行的Gravity Forms插件查看此示例。快速单击“Uninstall Gravity Forms”按钮,所有表格和数据都消失了。
卸载Gravity Forms
这是Polylang多语言插件的另一个示例。您可以在他们的工具部分看到使用“Delete”链接时删除所有数据的选项。它必须首先启用。
Polylang删除插件数据
如果您没有以正确的方式卸载多语言插件,它们将继续更新其他第三方插件的翻译数据,即使它们已被删除。
数据库中的旧翻译数据
奇怪的是Wordfence建议您安装另一个插件Wordfence助手,这将有助于完全删除插件、数据和设置。如下所示,安装插件后,可以选择删除Wordfence数据和表格、清除所有锁定的IP和实时流量数据。
完全删除WordFence
其他WordPress插件可能需要更复杂的卸载过程,例如WooCommerce,您必须在删除它之前将以下代码放入wp-config.php文件以完全删除所有数据。
define( 'WC_REMOVE_ALL_DATA', true);
但这就是为什么在简单地停用和删除插件之前确保以最有效的方式执行此操作很重要的原因。以下是卸载某些人有时遇到问题的一些流行 WordPress 插件指南的快捷方式:
删除未使用的短代码
如果您使用的是使用短代码的插件,并且您删除和/或移除该插件,那么您的网站在您替换它们之前可能看起来非常奇怪。如果您想暂时禁用旧插件中的简码,只需在您的functions.php文件中使用以下代码;使用插件的实际短代码标签更新“pluginshortcode”。
add_shortcode( 'pluginshortcode', '__return_false' );
这将完全禁止它们显示。但请记住,如果您想再次将它们与原始插件一起使用,则需要删除代码。但是,当您用更新的插件的短代码格式替换短代码时,这可能是一种清理站点的快速方法。
如何手动清理插件留下的表
有时您可能已经卸载了插件,而您只需要进行清理。或者也许开发人员的完全删除方法实际上是指您手动删除数据库表。有几种方法可以解决这个问题,一种是使用表清理插件,另一种是直接在phpMyAdmin中删除表。
在这两种方法中,我们强烈建议您事先进行WordPress站点备份。如果您是宝塔面板用户,可以使用该面板附带的网站文件及数据库备份功能,又或者备份计划任务。
宝塔面板备份计划任务
或者使用流行的WordPress备份插件。
使用插件清理表
插件的最佳选择可能是Advanced Database Cleaner。这是一个高级插件,但它可以扫描您的WordPress安装并允许您删除孤立表。正如您在下面看到的那样,它从不再安装的插件中获取了 EDD (wp_edd*)、Gravity Forms (wp_gf*) 和 Bloom (et_bloom*, et_social*) 表。
检测孤立表
phpMyAdmin中的清理表
您还可以在phpMyAdmin中手动清理表格。我们实际上更喜欢这种方法而不是使用插件。许多插件会将它们的表命名为类似于其插件名称的名称。在这个例子中,我们将根据他们的文档完全删除Yoast SEO。事实上,Yoast SEO 在他们的插件中没有这个选项,如果你想完全卸载它并删除数据,你唯一的选择是在phpMyAdmin中进行。在他们的文档中,他们声明:
如果您想删除我们插件的所有痕迹,请在数据库中搜索包含wpseo的条目并手动删除数据。
为此,只需登录phpMyAdmin即可。在“Search”选项卡下输入“wpseo”,选择所有表,然后单击“Go”。
在数据库中搜索wpseo
在我们的站点上,在wp_options表、wp_postmeta表和wp_usermeta表中找到了匹配项。然后您可以单击每个表并删除包含“wpseo”的行。
Yoast相关表
下面是wp_options表。确保首先按“wpseo”过滤行,因为还有其他WordPress特定行可能在option_value中包含“wpseo”,例如WordPress cron作业行。这是非常重要的,不应被忽视。过滤后,您可以选择所有这些并删除它们。
Yoast SEO插件wp_options表
下面是wp_postmeta表。删除包含“wpseo”的行。
Yoast SEO插件对应的wp_postmeta表
这是 wp_usermeta 表。同样,首先按“wpseo”过滤行非常重要。然后选择剩余的并删除它们。
Yoast SEO插件wp_usermeta表
如果您正在使用新的文本链接计数器功能,您还必须删除两个额外的Yoast SEO表;wp_yoast_seo_links和wp_yoast_seo_meta。
删除Yoast SEO表
如果有一个使用插件运行的CRON作业,那么最后一件事就是清理CRON作业。当然,您可以编辑wp_options表中的cron作业行,但确保不会修改错误行的更简单方法是使用免费的WP Crontrol插件删除CRON作业。对于Yoast SEO插件,它使用名为“wpseo_onpage_fetch”的Cron作业,可以轻松删除该作业。
删除wpseo_onpage_fetch cron作业
小结
如果您之前不知道,希望您现在对如何以正确的方式卸载WordPress插件有更多的了解。大多数插件都有关于如何完全删除它们的很好的文档,甚至在它们的设置中都有一个选项。如果所有其他方法都失败了,请尝试使用谷歌搜索如何删除它们。
推荐教程: 如何禁用WordPress插件(无法访问WP-Admin)
因此,下次您删除插件时,请决定是否需要这些数据。如果没有,请花点时间查找完全卸载插件的正确方法。这将确保您将数据库保持在较小的范围并将磁盘大小降至最低。并且不要忘记通过删除和限制修订来优化您的数据库。