blogger - 哪个 Blogger 模板数据标签获取原始的、未调整大小的帖子图像?

标签 blogger facebook-opengraph meta-tags twitter-card

Blogger 有一些用于获取帖子图像的布局数据标记,例如 data:blog.postImageUrl(用于获取帖子中第一张图像的 URL)和 data:blog .postImageThumbnailUrl(生成帖子中第一张图像的 70×70 像素缩略图,该缩略图太小,无法在 Facebook/Twitter/等上共享时使用)。

但是,在发布帖子时,Blogger 将自动使用帖子中的第一张图片,通过专门调整大小和/或裁剪的图片版本来生成自己的 og:image 元标记。重要的是,此生成的图像将忽略您通过修改其 URL ( explained here ) 中的 s1600 可能对帖子图像所做的任何自定义调整大小或裁剪,返回非常适合共享的大尺寸图像在社交媒体网站上。 (它甚至按照 Facebook 的“Best Practices”中的建议将图像裁剪为 1.91:1 的比例。)

这是一个例子:

原图网址(尺寸:600×450:)
https://1.bp.blogspot.com/-rEPYMMK3vT0/WaVHqLSY7-I/AAAAAAAAA2A/CVMWqg18oU8HEIyo3r3CWrcO8Bm7O4uiwCLcBGAs/s1600/Montreal-Biodome-exterior.jpg

使用自定义尺寸值 w180 调整图像大小(最大宽度为 180 像素):
https://1.bp.blogspot.com/-rEPYMMK3vT0/WaVHqLSY7-I/AAAAAAAAA2A/CVMWqg18oU8HEIyo3r3CWrcO8Bm7O4uiwCLcBGAs/w180/Montreal-Biodome-exterior.jpg

这是 Blogger 自动生成的图像(裁剪为 600×315): https://1.bp.blogspot.com/-rEPYMMK3vT0/WaVHqLSY7-I/AAAAAAAAA2A/CVMWqg18oU8HEIyo3r3CWrcO8Bm7O4uiwCLcBGAs/w1200-h630-p-k-no-nu/Montreal-Biodome-exterior.jpg

请注意自动生成的图像如何使用自己的大小值 w1200-h630-p-k-no-nu,完全忽略我指定的 w180


对我来说,问题是我还使用 Twitter 的“大图摘要卡”。我尝试使用 Blogger 数据标记指定用于 twitter:image 卡元标记的图像 URL,如下所示:

<meta expr:content='data:blog.postImageThumbnailUrl' name='twitter:image'/>
OR
<meta expr:content='data:blog.postImageUrl' name='twitter:image'/>

除了第一个 (postImageThumbnailUrl),如顶部所述,太小,为 70×70 像素,而第二个 (data:blog.postImageUrl) ) 获取自定义大小值为 w180 的图像 URL,返回宽度仅为 180 px 的图像 – 对于在 Twitter 上共享同样无用(生成的 Twitter 卡使用空白占位符图像)。

我现在所做的就是完全删除 twitter:image 标签,这会强制 Twitter 使用 og:image 标签,以便链接共享正常工作。不过,如果可能的话,我更愿意使用 twitter:image 标签和正确的图像数据标签。

所以这是我的问题:有谁知道数据标签是什么(如果存在)来获取大的、裁剪过的w1200-h630-p-k-no-nu Blogger 为每个帖子生成的帖子图像版本?就像这样:

<meta expr:content='data.{ETC}' name='twitter:image'/>

在使用上述图像的帖子中,将呈现为:

<meta content='https://1.bp.blogspot.com/-rEPYMMK3vT0/WaVHqLSY7-I/AAAAAAAAA2A/CVMWqg18oU8HEIyo3r3CWrcO8Bm7O4uiwCLcBGAs/w1200-h630-p-k-no-nu/Montreal-Biodome-exterior.jpg' name='twitter:image'/>

最佳答案

感谢Prayag Verma用于指向 similar existing question回答了这个问题。使用resizeImage operator ,我在我的模板中实现了以下代码:

<b:if cond='data:blog.postImageUrl'>
  <meta expr:content='resizeImage(data:blog.postImageUrl, 1200, "40:21")' name='twitter:image'/>
</b:if>

在帖子的源代码中,呈现为:

<meta content='https://1.bp.blogspot.com/-rEPYMMK3vT0/WaVHqLSY7-I/AAAAAAAAA2A/CVMWqg18oU8HEIyo3r3CWrcO8Bm7O4uiwCLcBGAs/w1200-h630-p-k-no-nu/Montreal-Biodome-exterior.jpg' name='twitter:image'/>

这正是我想要得到的。它出色地通过了 Twitter 验证器。问题解决了。

关于blogger - 哪个 Blogger 模板数据标签获取原始的、未调整大小的帖子图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45940988/

相关文章:

blogger - 有没有办法在 AMP 列表中使用 Blogger?alt=Json 提要

php - 使用 URL 查询字符串动态显示 Facebook Open Graph

facebook - 使用 Graph API 在 Facebook 墙上分享视频

html - Meta Refresh 在页面加载期间工作吗?

css - 我的网站标题图片未在移动设备上调整大小

javascript - Blogger JSON Feed API - 脚本 src

php - 缓存来自 Facebook 的 Open Graph 结果的最佳方式?

facebook - Zend Framework - 添加属性不起作用的元标记

asp.net - 母版页元标记胜过子页元标记

redirect - Blogger/Blogspot 重定向到自己的域?