拥有个人网站的朋友,为了节省成本,想必都使用过外链图片,最普遍的大概是微博的外链图片吧,而在今年微博正式对部分域名的外链图片开启了防盗链,这也导致大量的网站图片直接失效,包括后续使用简书等平台也都开启了防盗链。

题外话:外链图片失效问题解决办法

不过针对这种防盗链的问题,简单的解决办法不是没有,那就是在网站的<head>标签内添加referrer的规则:

<meta name=“referrer” content=“same-origin”>
<meta name=“referrer” content=“no-referrer”/>

添加这条规则之后,后续全站使用微博、简书等外链图就基本不会出现问题了,如果变更复杂防盗链设置就另说了。

不过这种办法会影响部分基于referrer规则的功能,例如百度统计。再者,如果要求长远运营的话,外链图片始终不是长久之道,迁移至自建图床依然是最稳妥的办法。

那么问题来了,图片迁移势必是一件不小的工程,一张张上传替换基本不现实,奇客君这里提供一种稍微方便一些的方法提供参考,适用那些网站内文章不多的用户。

前期准备

奇客君的网站也正如大家所看,只有十几篇文章,图片虽然不过一百多张,但如果一张一张上传替换,那估计这大半天我基本不用干别的了。奇客君使用的是又拍云的自建图床,这次迁移需要配合两个工具:iPic 和 iPic Mover。

直接在 Mac 端 APP Store就可以下载,是的,这种方法仅适用于Mac用户,很抱歉我没有注意Windows或者Linux端是否有类似的工具,欢迎大家举荐。

1.在iPic配置图床

首先,需要在iPic中配置好自己的图床信息,完成后设置为默认图床。

目前 iPic 支持下列图床:微博图床(即默认图床)、七牛云 、又拍云、阿里云 OSS 、腾讯云 COS 、Imgur 、Flickr 、Amazon S3。基本能够满足大部分的需求,需要注意的是,除了默认图床,添加使用其他图床需要开通高级版,月费6元,年费60元,根据自己需求选择。

iPic Mover是不用付费的,图片迁移过程中主要依赖iPic的图片上传功能。

2.将需要迁移图片的文章全文导出为本地markdown文件

迁移开始前,还需要将需要迁移图片的文章全文保存为本地的markdown格式,为了方便操作建议大家在Wordpress中安装一个markdown编辑器,直接复制出来就好;至于其他的建站工具可能默认支持markdown就不必了。

如果没有使用markdown编辑器的话,也可以直接在前端复制全文使用其他在线工具转为markdown格式。把多篇文章markdown文件放在同一个文件夹。

3.图片迁移

保持iPic在后台打开,运行iPic Mover,根据自身需要勾选对应选项,接着点击“选择Markdown文件所在文件夹”,找到刚刚准备好的文件夹打开即可。

软件会自动读取到markdown文件中所有的图片链接,如果有不需要迁移的图片,取消勾选就可以了,确认无误之后点击右下角“迁移图片”,便会开始使用iPic上传图片。

迁移完成后,iPic Mover中显示结果全部为绿色就表示成功,markdown文件中的图片链接就会全部自动被替换为iPic中默认图床的链接。而未能迁移成功的图则会显示红色,则需要单独排查问题重新操作。

4.更新文章

最后,把更新图片的markdown文本一一对应替换网站原文就好了,基本就是第二步的逆向操作。

总结

整个过程操作还是比较简单的,感谢开发者@JINGSEN ZHENG提供如此便捷好用的工具。最后也提醒各位站长,如果真有长期运营网站的打算,尽量还是使用主流的自建图床,更加稳定可靠。