重新生成本身不难,难的是它会同时动到三个地方:磁盘上已有的文件、媒体记录里保存的尺寸信息、以及备份和缓存的体积。所以判断标准不是"要不要重新生成",而是"这次重新生成的输入条件齐不齐、输出谁负责验收"。官方文档在这件事上给的是流程位置,不是效果承诺——没有任何一份文档说过重新生成会让页面变快或让图片更容易被收录。

它到底会改写什么
按WordPress 的 Common APIs Handbook的划分,媒体属于核心 API 之一,响应式图片在其中单列成一章,管的是尺寸与裁剪这一类参数。也就是说,重新生成是"按当前参数重算文件",它本身不替你改参数。这一点决定了整套操作的前提:如果你的目的是"改小图片",改参数就够了,重新生成只是把改完的结果落盘;如果你没改参数就想让文件变小,那这个操作方向本身就是错的。至于重算过程具体覆盖了哪些文件、覆盖后能不能回退,官方文档在这批可引用的页面里没有逐步说明,所以下面那几道闸门是按"最坏情况会覆盖原文件"来设的,实际覆盖范围以你跑完后的目录核对为准。在决定重算之前,先确认上传后到底需要保留哪些图片尺寸,否则只是把错误参数重新落盘。
旧文件一旦被覆盖,原来那一份就没了——这就是为什么"有没有可还原的备份"是这件事的第一道闸门,而不是最后一道。备份该备什么、怎么算备全,在WordPress 托管买的不只是服务器:怎样验收异地备份、安全运维与迁移支持里展开说过,其中"验证过能还原"这一条在这里是硬前提。
推荐用命令行而不是逐个点
WP-CLI 官方文档把定位写得很清楚:能在 WordPress 后台做的任何事,都能在终端里做;同一页举的场景里就包含从 cron 里运行来轮换密钥、清理临时数据,或在凌晨重新生成缩略图。这是官方对这件事给出的最直接的答案——逐篇点按钮适合抽查,整站重算应该走脚本,并且放到低峰时段。逐个点还有一个隐蔽问题:中途断了你不知道跑到哪,只能从头再来。走脚本则可以把批次大小、失败重试和进度记录都写进同一处,出问题时能看出卡在哪一批,而不是靠回忆。
还有一点要提前分清:后台里的"重新生成"和脚本里的重算,读取的参数来源可能不完全一样——后台那次是以当前打开的那条记录的设置为准,而脚本通常要指定一个统一的范围。所以跑之前先把这次要用的参数口径写下来,是整批结果能不能对齐的前提。
分批跑的顺序
- 备份,并当场验证这次备份能还原。这一步做不到,后面全部不要开始。
- 记录当前的磁盘占用和 uploads 目录体积。重算过程中临时文件会额外占空间,磁盘吃紧时任务会中途失败,留一半余量。
- 先跑一个很小的批次——三到五条记录——跑完立刻验收,确认输出正常再放大。
- 按批推进,每批之间留出观察时间,不要一次性把全站排进同一分钟。
- 跑完之后做三段核对:随机抽几篇文章看图片能否正常加载;看磁盘占用是否符合预期(应该不增反减或基本持平);看服务器错误日志有没有新增的写入失败。
- 清缓存。旧尺寸的文件地址如果已经被缓存过,页面可能还在取旧文件,这一步不能省。
哪些情况下不值得做
一是参数没改——没改参数的重算是纯粹的重复劳动,产出和现在完全一样。二是站点正在迁移或换主机,媒体库要整体搬,这时候重算等于把两件事叠在一起,出问题很难回溯,宁可先搬完再决定。三是站点在活动期,图片请求量本来就高,重算期间并发写入多,失败率会上升。四是磁盘余量本来就紧又没有扩容计划,先解决空间再谈重算。五是站点里有大量第三方来源、来源本身就不稳定的图片,重算可能一直跑不完。
怎么核对结果算通过
判断标准是三条可观察的事实,不是主观观感:一是抽检的图片全部能加载且显示正常,注意看放大后有没有被裁掉边缘;二是磁盘占用和文件数的变化方向与预期一致;三是错误日志里没有新增的图片写入失败。三条都对得上,这次重算就算完成。
搜索侧没有可对照的判据。Google 关于图片 SEO 的说明里唯一和"重复请求"有关的表述是:同一张图被站内多个页面引用时应一致使用同一个地址,这样 Google 才能缓存并复用,不必多次请求;同一页也建议网页用 picture 或 img 的 srcset 指定响应式图片,并始终给 src 一个兜底地址。这说的是"引用要一致",不是"文件越多越容易被处理",更不是重算能改善的东西。所以验收看完那三条事实就可以收工,不要为一次重算安排专门的观察期去等搜索侧的变化。文件的可访问性与地址层面的核对,方法在WordPress 托管报价怎么看:主机、异地备份、迁移与运维各算什么里讲的运维项里。