仅仅让WP-CLI能够使用,就开始请Codex或Claude Code操作正式网站,还太早。
WP-CLI不仅能确认文章,也具备发布、删除、插件更新、设置变更与数据库操作等功能。除了仔细写好委托AI的文字,也须从技术上缩小可执行的权限与路径,先准备即使失败也能恢复的状态。
本文依照负责人、权限、备份、测试环境、批准、记录的顺序,确认将WP-CLI交给AI前应备妥的事项。
没有准备就开始,会发生什么
例如委托「整理旧文章」时,人可能期待得到列表建议,AI却可能解读为包含更新或删除的工作。若弄错目标网站或WordPress位置,也可能以为正在操作测试环境,实际却变更了正式环境。
问题不只来自AI。管理者自己的模糊委托、旧作业手册、权限设置错误、备份损坏与插件行为,也可能是原因。因此,目标不是「AI不会出错」,而是即使出错,影响也不会扩大,能在途中停止并恢复。
准备工作的全貌
确认负责人与合同范围
↓
辨识正式与测试环境
↓
准备专用连接路径与最小权限
↓
取得备份并测试恢复
↓
决定允许操作与批准界线
↓
在测试环境确认允许与拒绝
↓
在正式环境从只读开始
租用主机提供SSH与WP-CLI的范围,由合同方案决定。使用VPS时,管理者须设计OS用户、文件所有者、Web服务器、PHP与数据库的配置。若不清楚自己的合同方式,请先确认租用主机与VPS的差异。
1. 确认谁是负责人
首先,明确列出以下负责人。
- 管理服务器合同的人
- WordPress管理者
- 批准文章内容与发布的人
- 发生故障时进行恢复的人
- 委托网站制作公司或维护公司的范围
即使旅宿主人能批准文章,也不一定能变更服务器设置。与网站制作公司仍有合同时,通过其他方式变更主题或插件,也可能超出维护范围。
请AI「调查能否使用」,与「若未安装就安装」,是不同的许可。应分开调查、本地准备与正式环境变更。
2. 让正式与测试环境容易辨识
正式与测试环境若外观相同、名称相同或URL相似,就容易弄错目标。
- 正式与测试环境使用不同URL
- 管理后台加入能辨识「测试环境」的标示
- 由管理端固定WP-CLI目标路径与URL
- 不让测试环境出现在搜索结果,也限制外部访问
- 不从测试环境发送邮件给真实旅客
- 订房与付款采用测试模式,或阻止提交的配置
若要将正式资料复制至测试环境,不要原样带入订房者姓名、联系方式、询问内容与付款相关信息。应限于必要范围,删除或替换个人信息。
无法创建测试环境时
合同不允许创建测试环境时,应降低作业风险。
- 从只读确认开始
- 新文章只创建一篇草稿
- 发布前确认管理后台预览
- 不变更主题、插件、DB或订房功能
- 影响较大的工作委托维护人员
不要因为「没有测试环境」,就「在正式环境全部试一次」。
3. 将权限分成三层
AI操作WordPress时,权限不只一种。
连接权限
这是SSH密钥、连接来源、使用时间、端口转发与交互式Shell等进入服务器的入口权限。不要把平常管理者使用的密钥直接共用给AI,应区分用途。不将密码或私钥的内容贴进聊天。
OS与文件权限
这是连接用户能执行哪些命令、读写哪些文件的权限。不要让AI以root或可操作整台服务器的用户执行WP-CLI。
WordPress官方安全说明也提出,不要让过多文件可写入,只对必要位置授权的做法。文件所有者与执行方式会因环境而异,因此不要因权限错误就一律改成777。
WordPress权限
WordPress有管理者、编辑者、作者与贡献者等角色。官方资料说明,编辑者能发布与管理包括其他用户的文章,而贡献者虽能撰写自己的文章,却不能发布。
若目的只是创建文章草稿,应确认是否真的需要能变更插件、主题、用户与网站设置的管理者权限。不过,即使降低WordPress权限,若在OS层仍能自由操作WordPress文件或数据库,也不能算充分限制。三层须一起考虑。
WP-CLI的--user是指定WordPress用户、设置处理情境的参数。不要将它视为会依该角色强制限制所有WP-CLI命令的机制,主要防线应是OS权限与后述的允许清单。
4. 固定WP-CLI的目标与执行路径
WP-CLI的全局参数可以指定目标路径、URL、远程连接目的地、WordPress用户与预先加载的PHP等。虽然方便,但若能从外部自由变更,可能导致操作另一个网站或执行代码。
以下项目由管理者固定。
- WP-CLI可执行文件
- WordPress位置
- 目标URL
- 执行的OS用户与WordPress用户
- 允许的子命令与选项
- 一次可操作的件数
不要自由提供原始wp命令给AI,应以受限包装程序作为入口。
5. 备份要确认到「能恢复」
备份的目的不是保存,而是在出问题时能还原。
- WordPress数据库
wp-content内的图片、主题与插件- 本次变更的Web服务器、PHP等设置
- 备份取得时间与目标环境
- 压缩包能否读取与校验码
- 恢复步骤、所需时间与负责人
只新增文章,与变更插件或服务器设置,所需备份并不相同。若备份范围小于变更范围,就无法恢复。
可以的话,在正式环境以外的位置进行恢复测试。至少检查压缩包能否开启、能否确认数据库备份完成,以及是否包含必要文件。
6. 决定AI的停止条件
作业前先决定,遇到以下情况,不追加操作而停止。
- 无法辨识目标网站,以及正式或测试环境
- 最新备份失败,或恢复方法不明
- 预计执行的命令包含未许可的变更或删除
- 目标件数超出委托
- WordPress位置、文章ID或URL与预期不同
- 执行结果出现错误、警告或超时
- 发布后HTTP响应为4xx或5xx
- 怀疑影响订房、询问或付款
错误后继续叠加其他修正,可能让原因与变更范围变得不清楚。应先停下,回报目前状态与能否恢复。
7. 在测试环境也试验「拒绝」
不只确认正常运作,也要确认能阻止未许可操作。
- 许可的状态确认成功
- 未知操作名称被拒绝
- 额外参数被拒绝
- 多笔变更被拒绝
- 没有批准就不会发布或删除
- 无法指定其他WordPress路径或URL
- 不包含秘密信息地记录执行结果与失败
即使把测试环境成功的设置导入正式环境,只要用户、所有者、插件或URL不同,结果未必相同。在正式环境仍要重新从只读开始。
导入前检查清单
- 已确认合同方式与维护范围
- 已决定作业负责人、发布批准者与恢复负责人
- 能通过URL与标示区分正式和测试环境
- 测试资料没有留下旅客个人信息
- 已区分AI专用连接路径与执行用户
- 没有直接交付root或平常管理者的权限
- 已依工作内容配置WordPress权限
- 已固定WP-CLI目标路径、URL与命令
- 已确认备份内容与完整性
- 已确认恢复方法与负责人
- 已区分允许操作与需要人批准的操作
- 已决定错误时的停止条件
- 已在测试环境试过允许与拒绝
- 正式环境的第一项工作设置为只读
只要有一项无法判断,就不要让AI推测设置,应向服务商或管理者确认。
给AI的准备确认提示词
请审查通过WP-CLI变更这个WordPress前的准备状态。
本次只进行只读调查,不要安装、变更权限、
变更设置、创建文章、更新或删除。
确认项目:
- 目标是正式还是测试环境
- 服务器合同方式与维护范围
- WP-CLI能否使用及目标网站
- 连接、OS与WordPress各层权限
- 备份取得范围、完整性与恢复方法
- 许可操作与需要人批准的操作
- 错误时的停止条件
不要显示秘密信息、用户信息或内部设置值,
请分成已确认、未确认与应向管理者询问的项目回报。
这项委托是为了调查。不要由AI推测填补未确认事项,应由人确认。
总结
将WP-CLI交给AI前,不是准备一个权限强大的管理者账号,而是将连接、OS与WordPress三层权限分别限于必要范围。接着辨识正式与测试环境,准备可恢复的备份、批准界线与停止条件。
准备完成后,先通过不进行变更的WP-CLI入门,只读确认文章、插件、主题与分类。初次认识WP-CLI的人可阅读WP-CLI基础与安全起步方法;技术性的执行限制请参考受限包装程序制作方法。实际发布流程则在从备份到HTTP与显示确认中解说。
参考资料
- WordPress Developer Resources:WordPress安全强化
- WordPress.org:角色与权限
- WordPress Developer Resources:WP-CLI全局参数
- WordPress.org:WordPress网站维护
※服务器与WordPress权限、备份与测试环境的建立方式,会因服务商而异。请优先遵循既有维护合同与官方手册。

