WordPress站点静态资源分离
WordPress站点静态资源分离,图片放OSS,是很多站长在流量上来后必须处理的一件事。
默认情况下,图片、CSS、JS都放在服务器本地,访问量一大,带宽和磁盘I/O容易成为瓶颈。
把图片迁到OSS后,图片由对象存储和CDN直接响应,源站只处理动态请求,页面加载速度和服务器稳定性通常会有明显改善。
本文按零基础可执行的方式,讲清从准备到验证的完整流程。
准备工作:账号、环境和备份
开始前需要确认三件事:
- 一个已备案的域名(如果OSS绑定的自定义域名要用于国内访问,通常需要备案,具体以阿里云控制台提示为准)
- 阿里云账号已开通OSS服务,并创建好Bucket
- WordPress后台有管理员权限,且能安装插件
创建Bucket时,地域选择离你用户最近的区域,读写权限建议先设为私有,后续通过插件或CDN回源授权访问,避免图片被直接盗链。
记住Bucket名称和Endpoint,后面插件配置要用。
操作前务必备份网站文件和数据库。
可以用宝塔面板的备份功能,或命令行:
tar -czf wordpress-backup.tar.gz /www/wwwroot/你的站点目录
mysqldump -u root -p 数据库名 > wordpress-db.sql
配置OSS和CDN:让图片走独立域名
进入阿里云OSS控制台,找到目标Bucket,在“传输管理”里绑定自定义域名,例如 img.example.com。
如果使用CDN加速,在CDN控制台添加加速域名,源站类型选“OSS域名”,回源到Bucket的外网Endpoint。
接着在CDN域名管理中配置CNAME,把 img.example.com 解析到CDN提供的CNAME地址。
解析生效后,访问 http://img.example.com/测试图片.jpg 应能返回图片,说明OSS和CDN链路已通。
这里有一个关键判断:如果图片需要公开访问,Bucket读写权限可设为公共读;
如果希望更安全,保持私有并用CDN回源授权,两种方式都能用,区别在于是否允许直接通过OSS地址访问。
用插件把WordPress图片同步到OSS
零基础用户推荐用插件完成上传和替换,常见的有WPOSS、OSS Upload等,操作路径类似:
- 在WordPress后台“插件-安装插件”中搜索并安装OSS上传插件
- 启用后进入插件设置页,填入AccessKey ID、AccessKey Secret、Bucket名称、Endpoint和自定义域名
- 保存后点击“检测”,确认插件能连接到Bucket
- 勾选“自动上传图片到OSS”和“本地图片同步到OSS”
- 如果已有历史图片,使用“一键同步”功能,把媒体库中的图片批量传到OSS
同步完成后,
新上传的图片会自动写入OSS,
文章中的图片地址也会被替换为 img.example.com 开头的URL。判断是否成功,
可以在文章编辑器中插入一张新图,
查看图片链接是否已指向OSS域名。
如果不想用插件,也可以在主题的 functions.php 中通过钩子改写上传路径,但这种方式维护成本高,不推荐新手直接改代码。
避坑指南:常见报错和处理
配置过程中容易遇到几类问题:
- 图片上传失败,提示403:检查AccessKey权限是否包含OSS读写,Bucket权限是否允许当前操作
- 图片能上传但前台不显示:检查自定义域名是否解析生效,CDN回源是否配置正确,或插件中“自定义域名”是否填成了OSS默认Endpoint
- 同步后图片重复:部分插件会在本地保留原图,确认“是否保留本地备份”选项,按需关闭
- HTTPS混合内容警告:如果站点是HTTPS,自定义域名也要配置SSL证书,否则浏览器会拦截图片
另外注意:OSS和CDN会产生流量费用,建议在控制台设置流量包或预算提醒,避免突发流量带来意外账单。 具体计费规则以阿里云官方页面为准。
效果验证:确认静态资源已分离
完成配置后,按下面几步验证:
- 打开网站首页,按F12打开开发者工具,切换到Network面板,刷新页面
- 查看图片请求的域名,应该是
img.example.com,而不是你的主站域名 - 查看主站服务器的带宽监控,图片请求减少后,带宽占用应有所下降
- 用
curl -I http://img.example.com/图片路径检查返回状态码,正常应为200
如果图片仍走主站域名,回到插件设置检查“是否重写图片URL”是否开启,或清理WordPress缓存和CDN缓存后重试。
常见疑问
问:一定要用CDN吗?
不一定。只把图片放OSS也能减轻服务器压力,但CDN能把图片缓存到离用户更近的节点,访问速度通常更好。预算有限可以先只用OSS。
问:迁移后原来的本地图片能删吗?
确认OSS中图片完整、前台显示正常、且没有其他程序依赖本地图片后,可以删除本地文件释放磁盘。建议先保留一段时间备份。
问:换域名后图片链接会失效吗?
如果自定义域名变了,旧图片链接会失效。建议在OSS中绑定固定域名,或配置重定向规则。
WordPress站点静态资源分离,图片放OSS,核心就是三件事:开通并配置OSS、用插件同步图片、验证请求走独立域名。
按本文步骤执行后,源站带宽压力会明显减轻,图片加载也更稳定。
遇到异常时,优先检查域名解析、权限和插件配置这三处。