替换 URL 在哪里以及如何使用
- 在 WordPress 控制台,进入 Elementor › 编辑器。
- 在左侧面板,打开工具和替换 URL 选项卡。如果您的版本没有编辑器菜单,请在 Elementor › 工具中查找。
- 在更新网站地址 (URL) 下,在第一个字段输入旧 URL,第二个字段输入新 URL。两者都要完整,包含
https://。 - 点击替换 URL。Elementor 报告更改的行数,例如"数据库中 12 行受影响"。
通过命令行,wp elementor replace-urls https://old.example.com https://new.example.com 执行相同操作。
Elementor 建议在更换域名、从 http 迁移到 https、将网站移至另一文件夹或子域名时使用。
内部工作原理
Elementor 将每个页面以 JSON 格式存储在 _elementor_data 字段中,替换 URL 在该字段中用一个字符串替换另一个字符串。搜索之前,它按 JSON 存储格式写入 URL 中的斜杠(https:\/\/old.example.com),这是通用数据库搜索替换工具不会做的事。完成后,它删除 Elementor 的 CSS 文件,以便用新地址重新生成。
更改直接写入数据库,不经过编辑器。因此不会创建修订记录,页面历史记录无法撤销。它同时更改所有出现的地方,不会显示具体是哪些。
替换 URL 不更改的内容
| 旧 URL 所在位置 | 已更改? | 如何更改 |
|---|---|---|
| Elementor 创建的页面、文章和模板中的文本、按钮、链接和图片 | 是 | — |
| WordPress 地址和网站地址(设置 › 常规) | 否 | 在设置 › 常规中手动修改,或在 wp-config.php 中修改(如果无法访问控制台) |
| 未使用 Elementor 创建的页面和文章、菜单、主题小部件及其他插件设置 | 否 | 使用能处理序列化数据的全库搜索替换工具,如 wp search-replace |
| Elementor 页面设置和网站设置(单独存储) | 否 | 同上一行 |
完整更换域名的操作顺序:
- 备份文件和数据库。
- 在设置 › 常规中更改两个地址。
- 对整个数据库运行
wp search-replace(或托管商提供的工具)。它找不到 Elementor 的 URL,因为它搜索时不转义斜杠。 - 运行 Elementor 的替换 URL处理这些地址。
- 清除缓存插件、托管商缓存和 CDN 缓存。第 4 步已清除 Elementor 缓存。
- 如果使用 Elementor Pro,从 Elementor 账户将许可证分配给新域名。
如果使用迁移插件完成迁移,步骤 2 和 3 可能已完成:重复之前请先确认。
三种会出错的情况
旧地址包含在另一个地址中
它搜索精确的字符串。如果将 https://store.example.com 替换为 https://new.example.com,指向 https://store.example.com.au 的链接最终会指向 https://new.example.com.au。运行之前,确认没有指向其他网站的链接以与您的网站相同的方式开头。
URL 包含特殊字符
Elementor 以转义格式存储非 ASCII 字符:/咖啡/ 被保存为 \/\u548c\u5496\u5561\/。该工具只转换斜杠,因此按原样书写的带特殊字符的地址将找不到。
只想更改一个链接
它需要两个完整有效的 URL:输入 /contact 时,它会回应某个 URL 无效。使用完整地址时可以更改单个页面的 URL,但不会事先显示将触及哪些链接。将 https://mysite.com/services/ 替换为 https://mysite.com/what-we-do/,https://mysite.com/services/design/ 也会变成 https://mysite.com/what-we-do/design/,如果该页面不存在则会出错。
看完每个链接再更改
要更新 slug 已更改的页面链接,或仅在某些地方替换旧域名,需要在更改之前查看每个匹配项。这正是 Elementor 搜索替换插件 所做的:显示每个链接及其页面、部分和小部件,只更改您勾选的内容,接受 /contact 等相对链接。通过 Elementor 保存,因此每个修改过的页面都会得到一个修订记录,最后一次操作可以一键撤销。对于一次处理多个地址(如重组网站的 200 个旧 URL),Pro 版(即将推出)接受 CSV 列表。