今天这篇文章就聊聊 WordPress 从外部引用图片的一些问题吧。

最近我的 SiteGround 主机接连报警,显示存储空间不够,没办法进行文件更新等一系列操作。其实这种问题的解决方案就两个,要么直接花钱买存储空间,要么花精力优化存储空间。由于第一种花钱买空间的方案,真的是太贵了,比直接再买一台服务器都贵,遂放弃。

1700701175-826871bf1659ab8

那现在只剩下优化存储空间这一个方案了,且因为后续的主要存储项主要是图片与视频,所以干脆从图片与视频这些多媒体资源下刀。

我的初步想法是创建一个专属于我的图片管理服务器(即所谓的图床),然后将这个项目要用到的所有图片与视频等多媒体资料全部放在这个图床上,然后再生成相关的图片链接,植入到我的文章或商品详情中去。

说干就干,我选择的图床技术方案是 Github 与 Vercel。至于为什么选择这种技术栈,就是因为简单方便且免费,而且 Vercel 提供的一些 CDN 服务,能完美的满足我对图片加载速度的要求。

且更关键的是,这种技术方案生成的图片链接,我是能够自定义的。也就是说,我用相关关键词去命名图片,能够得到路径很清晰的图片链接,不像 Google Drive 这种方案只能生成乱码。

有了图片链接,后续我要做的就是直接将我获得的图片链接植入到我的文章中或者我的商品详情中去。其实做法也很简单,直接在文章中插入一个 Image 模块,然后选择从 URL 导入图片即可(见下图)。

1700701060-4ffce04d92a4d6c

等相应操作完成后,再补充一下图片的 Alt 信息即可。

但是这里有个问题需要注意,就是带有图片插入链接的文章发布之后,在网站的 Sitemap 文件里,这篇文章的图片记录是 0。

1700701060-4ffce04d92a4d6c-1

比如上图,便是我写的一个测试文章,并在文章中插入一张亚马逊的图片链接。完善好相应的图片 SEO 信息后发布。可以在网页的源代码中看到,除了图片的链接不一样外,其余的跟上传到本机,没有任何区别。

1700701060-4ffce04d92a4d6c-2

但是当你去看网站的 Sitemap 文件,你会发现这篇文章里的图片引用记录是 0。也就是说 RankMath 等 SEO 插件认为你的这篇文章,并没有引用图片。至于从技术角度出发,结果就是这样。

所以如果你网站的 图片 SEO 做的很好,且能从图片搜索引擎上来很多很多流量。那这种方案对于网站维护而言,还是有比较大的缺陷的。

至于为什么会出现这种情况,主要涉及一个跨域资源引用的问题。再往下就是一些技术细节了,不详细展开了。

简单说说怎么解决这个问题吧。

很简单,在图床上绑定一个二级域名。这样你的网站与你的图床使用的根域名都是一样的,那图片收录为 0 这个问题便迎刃而解了。