欢迎光临好主题官网!致力于 WordPress 企业主题定制开发及 WP外贸模板下载。

TranslatePress卸载后怎么清理数据库?完整删除翻译数据教程

文章目录

TranslatePress是什么?

TranslatePress 是一款非常流行的 WordPress 多语言翻译插件,可以帮助网站快速实现多语言功能。

它最大的特点是:

  • 前端可视化翻译
  • 支持人工翻译
  • 支持自动翻译(Google Translate、DeepL等)
  • 支持WooCommerce商城翻译
  • 支持SEO多语言优化
  • 不需要复制多个语言页面

相比传统多语言插件,TranslatePress采用的是:

WordPress原始内容
        +
TranslatePress数据库保存翻译内容

也就是说:

网站文章、页面、产品等原始内容仍然存储在 WordPress 默认数据库表中,而翻译内容会额外保存到 TranslatePress 创建的数据表中。 (TranslatePress)

为什么删除TranslatePress后还需要清理数据库?

很多用户会发现:

TranslatePress已经停用并删除,但是数据库体积没有减少。

这是正常情况。

TranslatePress官方设计中,删除插件文件不会自动删除翻译数据。

原因是:

  • 防止用户误删除多年翻译内容
  • 方便重新安装插件恢复数据
  • 避免卸载操作造成不可逆的数据丢失

官方文档明确说明:

删除TranslatePress插件不会删除数据库中的翻译数据,需要手动删除相关数据库表、options和meta数据。 (TranslatePress)

因此,如果确定以后不再使用TranslatePress,建议手动清理数据库。

清理TranslatePress数据库前注意事项

1. 先备份数据库

任何数据库操作前必须备份。

推荐方式:

宝塔面板

进入:

宝塔后台
→ 数据库
→ 备份
→ 下载数据库文件

phpMyAdmin

进入:

数据库
→ 导出
→ SQL格式

保存备份文件。

TranslatePress会创建哪些数据库表?

根据官方开发者文档,TranslatePress主要创建以下数据库表:

(TranslatePress)

1. 翻译字典表

格式:

wp_trp_dictionary_xxxxx

作用:

保存:

  • 页面翻译内容
  • 自动翻译结果
  • 手动修改后的翻译

2. Gettext翻译表

格式:

wp_trp_gettext_xxxxx

作用:

保存:

  • WordPress核心字符串
  • 主题字符串
  • 插件字符串

例如:

Add to Cart
Read More
Submit

等界面文字翻译。

3. 原始字符串表

wp_trp_original_strings

保存默认语言中的原始文本。

4. 原始Meta表

wp_trp_original_meta

保存翻译关联的meta信息。

5. Slug翻译表

如果开启URL翻译功能,会存在:

wp_trp_slug_originals

wp_trp_slug_translations

用于保存:

  • 原始URL
  • 翻译后的URL

方法一:通过数据库删除TranslatePress数据(推荐)

进入:

宝塔
→ 数据库
→ phpMyAdmin

打开WordPress数据库。

搜索:

trp

找到:

例如:

wp_trp_dictionary_xxxx

wp_trp_gettext_xxxx

wp_trp_original_strings

wp_trp_original_meta

wp_trp_slug_originals

wp_trp_slug_translations

确认这些表属于TranslatePress后:

点击:

删除(Delete)

即可。

方法二:使用SQL删除TranslatePress残留数据

TranslatePress官方提供了SQL清理方法。

注意:

默认WordPress数据库前缀是:

wp_

如果你的数据库前缀不同,例如:

abc_

需要自行修改。

官方SQL如下:

删除options数据

DELETE FROM wp_options
WHERE option_name LIKE '_trp_%'
OR option_name LIKE 'trp_%';

删除Term Meta数据

DELETE FROM wp_termmeta
WHERE meta_key LIKE '_trp_%'
OR meta_key LIKE 'trp_%';

删除Post Meta数据

DELETE FROM wp_postmeta
WHERE meta_key LIKE '_trp_%'
OR meta_key LIKE 'trp_%';

删除User Meta数据

DELETE FROM wp_usermeta
WHERE meta_key LIKE '_trp_%'
OR meta_key LIKE 'trp_%';

以上清理方式均来自 TranslatePress 官方文档。 (TranslatePress)

TranslatePress翻译数据为什么会越来越多?

很多网站使用TranslatePress几年后,会发现数据库增长明显。

原因是:

TranslatePress会记录:

  • 页面文字
  • 产品名称
  • WooCommerce字段
  • 主题字符串
  • 插件字符串
  • URL翻译

尤其是开启自动翻译后:

例如:

中文网站
↓
英文
↓
德语
↓
法语

每增加一种语言,数据库都会增加大量翻译记录。

如何删除无用翻译?

TranslatePress官方说明:

翻译内容和原始字符串是一一对应的。

如果修改原文:

例如:

原:

Contact Us

修改:

Contact

TranslatePress会认为这是新的字符串。

旧翻译可能成为:

obsolete(废弃)

但不会自动删除。

原因:

避免用户误删除后无法恢复。

(TranslatePress)

如果想保持数据库干净:

推荐流程:

删除旧翻译
↓
修改原始内容
↓
重新翻译

而不是:

直接修改大量文字
↓
留下大量旧翻译

清理完成后的优化步骤

删除数据后,可以优化数据库:

OPTIMIZE TABLE wp_options;

OPTIMIZE TABLE wp_postmeta;

OPTIMIZE TABLE wp_termmeta;

OPTIMIZE TABLE wp_usermeta;

作用:

  • 回收删除空间
  • 减少数据库碎片
  • 优化查询效率

使用数据库优化插件可以吗?

可以使用:

  • WP-Optimize
  • Advanced Database Cleaner

但是对于TranslatePress:

不建议直接点击:

一键删除所有垃圾数据

原因:

翻译数据属于核心业务数据。

错误删除可能导致:

  • 多语言页面异常
  • SEO URL异常
  • WooCommerce翻译丢失

更安全的方法:

  1. 备份数据库
  2. 查询TranslatePress表
  3. 手动删除

删除TranslatePress数据库后的检查

完成清理后,需要检查:

1. 网站页面

测试:

  • 首页
  • 产品页面
  • 文章页面
  • WooCommerce商品页面

2. 固定链接

进入:

WordPress后台
→ 设置
→ 固定链接

点击:

保存更改

刷新Rewrite规则。

3. 清理缓存

如果使用:

  • WP Rocket
  • Redis Object Cache
  • LiteSpeed Cache

需要清空缓存。

官方文档

TranslatePress官方开发者文档:

Delete all translations and plugin data

TranslatePress官方:删除所有翻译和插件数据

官方开发者文档:

TranslatePress Developers Documentation

总结

TranslatePress卸载后不会自动删除数据库中的翻译数据,这是为了保护用户已有翻译内容。

如果确定以后不再使用TranslatePress,可以按照以下流程:

① 备份数据库

② 删除 wp_trp_* 数据表

③ 删除 wp_options 中 trp_ 数据

④ 删除 wp_postmeta、wp_termmeta、wp_usermeta 中 _trp_ 数据

⑤ 优化数据库

⑥ 清理缓存并测试网站

对于长期运营的WordPress企业站、外贸网站来说,定期清理无用插件残留数据,可以保持数据库轻量,提高网站维护效率。

本文由 好主题 原创整理,致力于分享实用的 WordPress 建站知识与主题开发经验。 我们专注于提供高质量的 WordPress企业主题 资源,帮助中小企业轻松构建专业网站。 转载请注明来源,并保留原文链接,感谢您的支持与理解。

联系我们

教程看不懂?联系我们免费为您解答!免费助力个人,小企站点!

客服微信
相关文章
主题推荐
还没有账号?

会员注册

成为会员,获得更多专属优惠!

验证码: 加载中... =

已有账号?