WordPress 本身只能将图片上传到服务器本身,在某些场景下,需要权衡图床方案的利弊、优缺点。
两种存储方案的比较
图片文件存储无非就是两种方式,一种是将图片存储到站点文件夹,另一种则是将图片存储到厂商云存储空间。
站点自带文件存储功能
优点列表
- 使用方便,可以生成不同的尺寸的缩略图,方便加载速度。
- 可以知道哪张图片没有被引用,可以安全的删除。
- 无缝配合多数插件使用,多数插件不支持第三方外链图片,比如 Yoast How-To 小部件中步骤添加图片,就不支持第三方图片,只能从 WordPress 媒体库中选择。
缺点列表
- 随着文章数量增多,图片文件太多,导致 wp-content 非常大;
- 服务器本身宽带能力不行的话,将拖慢图片、内容的加载速度,当然这个缺点可以通过 CDN 的方式来解决。
- 反盗链等需要其它手段来解决。
图片云存储
优点列表
- 方便生成各种缩略图,以及任意裁剪方案,不限于 WordPress 的裁剪方案,一图多处使用,一图多个站点使用;
- 方便格式转换,生成不同的图片格式,比如 webp;
- 添加水印、防盗链等。
缺点列表
- WordPress 的一些插件、主题不配合,无法使用外链图片;插件中不能使用外链的根本原因在于,外链的图片没有在 WordPress 媒体库中留下信息,导致小部件、插件、主题等无法选取外链图片。
- 不清楚哪些图片已经没用了,文章删除后,对应的图片却没有删除,浪费空间、浪费钱。
适合的才是正确的
本站点的文章,都是本地 md 编辑,完工后直接复制到 WordPress 中;md 文件和 WordPress 文章需要保持图片路径一致性,方便迁移和后续处理。
考量的两种方案
- 第一种方案,将 WordPress 站点当成图床使用,本地调用 WordPress API,先将图片上传到 WordPress;
- 第二种方案将七牛云等其它对象存储的服务当成图床,本地上传文件到七牛云;
第一种方案优点是支持插件、主题,第二种方案优点在于图片处理功能强大。
方案落地所需支持
- 第一种方案,需要在编写文章时,手动打开 WordPress 站点后台,上传文件,复制图片链接,不太方便。
- 第二种方案,以 Obsidian为例,已经有现成的方案,Obsidian 第三方插件 Obsidian Image Auto Upload Plugin + PicGo。
只要将第一种方案中上传文件到 WordPress 不方便的问题解决,第一种方案也是可行的,幸运的是也找到了方法解决。
实际选取方案
- 国内站点选取第二种方案,舍弃了某些插件、主题的部分功能,寻求其它解决方案比如插件;使用不同的缩略图时,可以在云存储文件管理器中,添加图片处理格式完成。
- 外网站点采用第一种方案,外网使用 Cloudflare CDN 比较好,至于其中涉及的缺点,比如无法从 md 编辑器中上传图片到 WordPress,可以参考 如何通过 WordPress API 上传图片到媒体库解决。
两种方案在如何自动上传文件到服务器,这个核心问题上,殊途同归,都不需要从管理后台,都是直接从本地通过 PicGo,上传文件到云存储空间或者 WordPress 站点。
后记
- 如果需要同步站点图片文件到云存储空间,做数据备份或者迁移,需要使用 WordPress 插件,具体插件在站点添加插件页面,搜索安装,一般都能做到,不删除本地文件,复制文件到云存储空间。
- WordPress 插件,WPQiNiu(七牛云对象存储插件),这个插件可以在 WordPress 上传文件时,将图片存储到七牛云;这个插件需要设置融合CDN加速域名,以便生成正确的外链;但 Astra Addon 插件,会将生成的自定义 css 文件放在 upload 文件夹中,这样会导致 Astra Addon 的一些 JS/CSS 文件找不到,影响主题功能。这类插件的原理都一样,都需要设置外链的域名,如果这个设置与主题处理样式表文件相冲突,那就都不能用。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。