WordPress 批量替换图片链接

WordPress 批量替换图片链接

最近我搭建了属于自己的专属图床,基于 Cloudflare 服务搭配 EdgeOne 全球加速,访问免费、稳定、速度快。

新图床上线后,首要难题是迁移旧图床的全部图片资源,并批量更新全站文章中的旧链接。如果要手动逐篇修改不仅费时费力,还极易漏改或出错。采用 rclone 拉取 + 新图床上传 + Better Search Replace 插件批量替换链接 可快速、安全套用。


一、 资源迁移:使用 rclone 批量拉取旧图床的文件

我使用 rclone 搭配又拍云 S3 协议配置,通过以下命令进行数据拉取。

配置储存库链接:
rclone config create upyun s3 provider=Other access_key_id=你的AccessKey secret_access_key=你的SecretAccessKey endpoint=s3.api.upyun.com region=auto
执行拉取命令:
rclone copy -P upyun:你的储存库务名 本地文件夹路径

将本地文件通过新的图床前端上传

image1

关键配置 上传前务必在图床配置:保留文件原名、关闭 WebP 自动转码。避免文件名变更或格式自动转换问题,保证新旧图片一一对应,为后续批量替换打下基础。


二、 核心实操:Better Search Replace 批量替换链接

资源迁移完成后,即可开始替换 WordPress 数据库中的旧图片链接。Better Search Replace 是 WordPress 官方推荐的数据库替换工具,原生支持序列化数据(Serialized Data)安全替换,避免直接操作 SQL 导致主题设置、小工具或 Gutenberg 区块损坏。

任何涉及数据库的操作都存在理论风险。操作前请务必使用主机面板一键备份数据库,或安装 UpdraftPlus / WPVivid 插件导出完整备份。

    步骤 1:安装并激活插件

    WordPress 后台 → 【插件】→【安装插件】→ 搜索 Better Search Replace → 安装并激活。

    步骤 2:进入操作面板

    激活后,前往后台 【工具】→Better Search Replace

    步骤 3:填写搜索与替换内容

    界面仅有两个核心输入框,按实际地址填写即可:

    • Search for(查找)img.veitzn.top/img
    • Replace with(替换为)beer.veitzn.top/file/img

    地址末尾不要带斜杠 `/`,避免替换后产生 // 双斜杠导致 404。

    步骤 4:选择数据表 + 试运行(Dry Run)
    1. 全选数据表:覆盖文章、页面、附件、评论、主题设置等,杜绝漏替换。
    2. Run as dry run?务必勾选 :点击“运行”后,插件仅会扫描并统计匹配数量,不会实际修改数据库
    3. 仔细核对替换数量与预览结果,确认无误后再进行下一步。
    步骤 5:正式执行替换

    取消 Dry Run 勾选 → 再次点击“运行”。通常几秒内即可完成,后台会显示成功替换的行数。刷新前台页面,图片即可正常加载。


    三、 替换后必做:缓存清理与链路验证

    替换完成 ≠ 万事大吉。WordPress 与 CDN 缓存会导致旧链接继续被调用,请务必执行以下操作:

    1. 清理 WordPress 缓存:如使用 WP Rocket、LiteSpeed Cache、SG Optimizer 等,点击“清除全部缓存”。
    2. 刷新 CDN 边缘缓存:登录 Cloudflare / EdgeOne 控制台,对图片目录或全站执行 Purge Cache(清除缓存)
    3. 抽查验证:随机打开 5~10 篇历史文章,右键“检查元素”查看图片 src 是否已更新为新域名,并测试加载速度。

    至此从 img.veitzn.top/img 迁移至 beer.veitzn.top/file/img,全程不到 5 分钟,零裂图、零错位、零配置报错

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    2 Comments

      • Vei

        很少会有需要更换图床的场景,我也只是码在这儿,避免以后忘了