你有没有过刚用采集工具搬完几十篇优质内容,刷新站点首页一看所有图片全裂的崩溃时刻?要么显示403禁止访问,要么直接白屏出个小裂图,后台翻遍设置都找不到问题,好好的内容直接废了一半。我之前做小众站群的时候每周都要碰到个两三次,踩过的坑能堆半米高,今天把压箱底的修复方法全撂这,看完照着做就能修好。
说白了采集来的图片出问题,90%都是两种情况:要么你当初采集的时候只扒了个源站的外链,没把图存到自己服务器,人家源站开了防盗链、或者定期清理旧资源,外链自然就挂了。要么是你后面换了域名、换了服务器,本地存储的图片路径匹配不上,自然加载不出来。别上来就瞎折腾插件换主题,先摸清楚你是哪种情况,修起来快得很。
要是你还没删当初的采集记录,那修起来最简单。常用的WP采集插件基本都自带远程图片本地化的功能,当初采集的时候忘开也没关系,找到批量补发的入口,勾选对应失效的文章一键执行就行,系统会自动把源站的图爬回你自己的上传目录,顺便替换文章里的外链。
要是你用的是自己写的采集规则,没有自带的本地化功能,就装个Auto Upload Images插件,后台开自动抓取文章内外链图片的开关,已经发了的旧文章直接跑一遍批量更新就ok。要是你熟悉数据库操作,直接跑SQL批量替换更快,代码我放下面,操作前千万记得备份数据库!我之前手滑没备份改崩了,花了三个小时才找回数据,血的教训。
``` -- 批量替换文章内旧图片域名为新域名SQL,操作前务必备份wp_posts表 UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://旧源站域名.com/', 'https://你的站点域名.com/wp-content/uploads/') WHERE post_content LIKE '%https://旧源站域名.com/%'; ```
碰到源站防盗链做的严,连爬都爬不下来的情况,也不用死磕。直接整个七牛或者又拍云的对象存储,开个镜像回源的功能,把你文章里的所有图片域名换成你的CDN加速域名,CDN节点会自动帮你去源站抓图缓存,哪怕后面源站把图删了,你CDN节点里还有缓存,照样能正常显示。
要是临时救急不想折腾CDN,也可以装个WP的防盗链绕过插件,原理就是请求的时候自动带个源站的referer,不过这个稳定性一般,偶尔还是会抽风,只能当个临时方案用,长期用还是建议把图存到自己的存储里最稳。
要是你是换了域名、换了服务器之后才出现的图片失效,先去后台媒体库看一眼原图能不能打开。要是媒体库的图都裂了,先把wp-content/uploads文件夹的权限改成755,再去wp-config.php里检查下上传路径的配置对不对,基本上就能解决。
要是媒体库的图能正常打开,只有文章里的图裂了,那就是文章里存的还是旧域名的路径,直接跑上面的SQL语句,把旧域名批量替换成新域名就行,几十秒就能把全站的图片都修好。
最后给大家提个醒,平时采集的时候顺手就把远程图片本地化的开关打开,图存在自己服务器或者对象存储里才最靠谱,源站的东西说没就没,等失效了再修总归是麻烦。还有修完一定要清一遍缓存,不管是站点的缓存还是CDN的缓存都清了,不然你刷半天还是旧的裂图,又要白折腾半天。
上一篇: EyouCMS批量审核内容失败
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图