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主要创建以下数据库表:
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(废弃)
但不会自动删除。
原因:
避免用户误删除后无法恢复。
如果想保持数据库干净:
推荐流程:
删除旧翻译
↓
修改原始内容
↓
重新翻译
而不是:
直接修改大量文字
↓
留下大量旧翻译
清理完成后的优化步骤
删除数据后,可以优化数据库:
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翻译丢失
更安全的方法:
- 备份数据库
- 查询TranslatePress表
- 手动删除
删除TranslatePress数据库后的检查
完成清理后,需要检查:
1. 网站页面
测试:
- 首页
- 产品页面
- 文章页面
- WooCommerce商品页面
2. 固定链接
进入:
WordPress后台
→ 设置
→ 固定链接
点击:
保存更改
刷新Rewrite规则。
3. 清理缓存
如果使用:
- WP Rocket
- Redis Object Cache
- LiteSpeed Cache
需要清空缓存。
官方文档
TranslatePress官方开发者文档:
Delete all translations and plugin data
官方开发者文档:
TranslatePress Developers Documentation
总结
TranslatePress卸载后不会自动删除数据库中的翻译数据,这是为了保护用户已有翻译内容。
如果确定以后不再使用TranslatePress,可以按照以下流程:
① 备份数据库
② 删除 wp_trp_* 数据表
③ 删除 wp_options 中 trp_ 数据
④ 删除 wp_postmeta、wp_termmeta、wp_usermeta 中 _trp_ 数据
⑤ 优化数据库
⑥ 清理缓存并测试网站
对于长期运营的WordPress企业站、外贸网站来说,定期清理无用插件残留数据,可以保持数据库轻量,提高网站维护效率。
本文由 好主题 原创整理,致力于分享实用的 WordPress 建站知识与主题开发经验。 我们专注于提供高质量的 WordPress企业主题 资源,帮助中小企业轻松构建专业网站。 转载请注明来源,并保留原文链接,感谢您的支持与理解。