Devenia / 插件

在链接被破坏之前,阻止意外的 URL 改动。

把 slug 和固定链接改动放到明确流程之后,让意外的 URL 改动不会破坏现有链接。

当编辑需要更新标题和内容,但不应该悄悄改变既有 URL 时使用它。

默认保护 URL。

好的 URL 会变成基础设施。这个插件让意外改动更难发生,同时仍然允许有意的重命名。

冻结现有文章和分类法 slug,除非你明确解锁。 这个插件用于在导入、同步、MCP 执行和其他脚本更新期间保持既有 URL 稳定。

下载最新版本 | 在 GitHub 查看源码

当前范围只保护 slug。它不会锁定文章内容中的链接,也不会锁定文章元数据值。


它解决的问题

很多 WordPress 故障都始于一次安静的 slug 改动。脚本、导入、迁移或 AI 工作流更新了文章 slug 或分类法术语,旧 URL 就突然不再符合搜索引擎、书签或内部系统的预期。

损坏的 URL
搜索结果、邮件和文档中的旧链接不再正常解析。

意外的分类法变动
同步任务或批量工具重写它们时,分类和术语会发生偏移。

自动化冲突
脚本和 MCP 工具可以安全编辑,但 slug 改动应当需要明确决定。


它真正锁定的内容

文章 slug
现有 post_name 值在更新时保持冻结,除非你允许改动。

分类法术语 slug
现有术语 slug 也会冻结,除非你允许改动。

没有其他内容
它不会锁定内容链接、文章元数据或无关的编辑改动。


适用场景

  • 需要更新内容、但不应重命名既有 URL 的批量导入。
  • 从测试环境到生产环境的流程中,slug 偏移会造成可避免的 SEO 损害。
  • 在 MCP 和自动化流程中,助手应能安全编辑,而不会悄悄改变固定链接。
  • 多个插件或自定义任务会通过程序修改文章和术语的网站。

如何允许有意重命名

如果你确实要改变 slug,请在 wp-config.php中加入临时允许常量,完成改动后再移除该常量。

define('URL_LOCKDOWN_ALLOW', true);
// 或者仅限 WP-CLI:
define('URL_LOCKDOWN_ALLOW_CLI', true);

这样默认行为保持严格,同时仍允许你有计划地执行重命名。


当前版本状态

  • 最新版本: 1.4.2
  • 需要 WordPress: 5.9+
  • 需要 PHP: 7.4+
  • 许可证: GPL v2 或更高版本

常见问题

它还允许在 wp-admin 手动改 slug 吗?

不允许。除非设置允许常量,否则现有文章和分类法 slug 会保持冻结。这是当前文档说明的行为。

它也锁定文章内容里的链接吗?

不会。这个插件现在只处理 slug。它不会检查文章内容中的链接。

它锁定文章元数据或自定义字段吗?

不会。文章元数据值不在它的范围内。

如果我确实需要有意重命名怎么办?

使用 URL_LOCKDOWN_ALLOWURL_LOCKDOWN_ALLOW_CLI,执行改动,然后再次移除该常量。

为什么范围保持这么窄?

因为真正有用的加固目标是 slug 稳定。锁定无关内容字段只会制造噪音,并妨碍正常编辑。

查看更多 Devenia 插件

需要防止 URL 被意外改动吗?

告诉我们编辑现在如何改内容,以及 URL 错误会在哪里带来风险。我们会建议合适的控制方式。