WordPress 图片地理标记插件:WordPress 保留了什么

WordPress 不会把你上传的照片中的位置信息剥掉。原始文件依然保留着它的 GPS 坐标。geotag images WordPress 插件无法控制的,是 WordPress 随后立刻生成的那一批缩放副本。在很多主机上,访客下载的正是这些副本,而不是你的原图。
它们能否保留这些信息,取决于你的主机装了哪个图像库:这个答案你在自己的站点上大约三十秒就能读出来。
WordPress 会删掉照片里的位置信息吗
网上两种答案都被写得很笃定,因为在不同的服务器上两种说法都成立。WordPress 自己并不缩放图片,而是把这项工作交给可用的图像库,先尝试 ImageMagick,不可用时退回到 GD。
在 ImageMagick 这条路径上,WordPress 生成缩放副本时确实会执行一个剥除元数据的步骤。这个步骤带有一份明确的保留清单,照片的 EXIF 区块就在清单上,与色彩配置文件、IPTC 区块和 XMP 区块并列。该方法被记录下来的行为与 WordPress 核心中的代码一致,这份保留清单从 4.5 到 6.8 的每个版本都没有变过。在这些主机上,认为 WordPress 会在缩放时毁掉照片元数据的说法,已经错了大约十年。
在 GD 这条路径上,什么都留不下,因为 GD 根本没有元数据这个概念。WordPress 把你的照片解码成原始像素,再用这些像素写出一个全新的 JPEG。坐标没了,相机、拍摄日期和你的版权声明也一并消失。
| 如果 Site Health 显示这个编辑器 | 你的缩放副本会保留 | 这对你意味着什么 |
|---|---|---|
| ImageMagick | 位置、相机、版权和色彩配置文件 | 你对外提供的图片仍然知道自己是在哪里拍的 |
| GD | 除了像素什么都没有 | 访客加载的每一份副本都已被清空 |
这两者都不是你选的设置,而是你所购买的主机的属性。如果你想直接看到文件里究竟有什么,而不是靠推断,可以直接从文件中读出 GPS 区块,为自己的站点给出确定的答案。
访客下载的那份副本,并不是你上传的文件
从 WordPress 5.3 开始,还有第二个步骤,大多数站长从未注意到。如果你的图片任意一边超过 2,560 像素,这实际上覆盖了当下手机拍出的每一张照片,WordPress 就会保存一个更小的、重新发布的版本,并在文件名后加上 -scaled,而页面链接指向的正是这个版本。PNG 文件会跳过这一步,JPEG 不会。
你的原图不会被删除。它留在 uploads 文件夹里,原封未动,坐标完好,而站点前台没有任何地方链接到它。
所以在使用 GD 的主机上,访客下载的图片没有位置信息,尽管你的原图仍然带着它,这就是你照做的那条建议看上去毫无作用的原因。与此同时,那张原图就躺在公开的 Web 服务器上,任何推算出文件名的人都能拿到。
geotag images WordPress 插件实际改变了什么
被归入这一类的插件做的是三种不同的工作,而目录列表却把它们摆在一起,好像可以互相替代。
- 展示类插件读取 WordPress 已经存下来的内容,把相机、曝光或日期打印在照片下方。它们不添加任何位置信息,只能显示已有的内容。
- 写入类插件设置坐标,写进文件里,或者写进附在文章上的字段里。
- 访客地理定位插件检测你的读者身在何处。这是一项碰巧共用同一个词的不同功能,而搜索这个分类时返回的大部分结果都是它。
没有任何插件能绕开的约束是顺序。一旦 WordPress 通过 GD 重新发布了一张照片,坐标就不是藏在某个还能找回来的地方。那份副本是用像素造出来的,从来就没有携带过坐标。插件可以把位置写进原图或数据库,但它无法补回从未被传递下去的东西。如果你希望对外提供的图片带有坐标,那么它们必须在 WordPress 生成副本之前就存在于文件中。至于标签本身,地理标记究竟往照片里写了什么一文有详细说明。
WordPress 从你的照片里读走什么,又丢掉什么
上传时,WordPress 会打开照片,把一组固定的信息提取到媒体库:光圈、署名、相机、说明文字、创建时间戳、版权、焦距、ISO、快门速度、标题、方向、关键词和替代文本。这就是完整的十三个字段清单,位置并不在其中。
因此,即使在坐标能够保留在文件里的主机上,WordPress 本身也不知道照片是在哪里拍的。wp-admin 里没有任何界面会告诉你,没有任何字段保存它,它存在时也不会有任何提示。位置信息可以存在于一个你正在公开提供的文件中,却从你自己的后台完全看不见,这在很大程度上解释了为什么站长们会得出结论,认为一定是 WordPress 把它删掉了。
这些会影响你的本地排名吗
这一类插件在很大程度上就是靠这个承诺卖出去的,而它已经被测量过。一家代理机构对 27 家草坪养护商做了为期十周的对照测试,先按固定节奏向它们的 Google Business Profiles 发布五周内容,随后再用写入了坐标的图片重复五周。在追踪的七项指标中,一项改善,四项变差。
唯一的收益出现在坐标所指向区域内的 "near me" 类查询上。那篇报告对这种取舍的总结很直白:「虽然它对目标区域内的『near me』查询有帮助,但在你没有添加地理标记图片的所有地方都会造成损害。」
地理标记不是排名杠杆,把它当成排名杠杆来卖的插件,卖的是错误的好处。位置数据是证据:一条可核查的记录,说明照片在何时何地拍摄。对于记录施工过程的承包商、手上有几百张房源照片的经纪人,或者任何需要证明某张图片属于自己的人来说,这条记录才是意义所在。
五分钟自查你的站点
四个步骤,按顺序来,只用你自己的后台。
- 打开 Tools → Site Health → Info → Media,找到标有 "Active editor" 的那一行。
- 如果它显示 GD,就把站点上每一张缩放后的图片都当作已被清空处理。
- 用列表视图打开媒体库,查看文件名中是否含有
-scaled。 - 下载一张你的站点实际对外提供的图片,检查它的坐标是否还在。
接下来该做什么,取决于你希望这个文件往哪个方向走。如果一张照片应该带上位置,就在上传之前把坐标写进照片,让标签在 WordPress 生成任何副本之前就已存在。如果一张照片不该带位置,比如在你家里拍的照片,或者任何会暴露客户住址的图片,就在它靠近媒体库之前把位置信息去掉。原图才是那个会保留你决定的文件。



