当用户从我的网站共享内容时,缩略图中显示的图像通常是网站的徽标,而不是图像本身。
如何告诉reddit忽略徽标?
我搜索了很多,找到了有关如何指定 reddit 应该与 og image
元标记一起使用的图片的答案,但我不能这样做,因为我的网站是 UGC 的一部分,这意味着我不知道每个图像的绝对 URL 是什么。
例如:reddit 不会在链接帖子上拉取抓取图像
编辑:
这似乎对我不起作用。它对你的有用吗?
<script>
function img_find() {
var imgs = document.getElementsByTagName("img");
var imgSrcs = [];
for (var i = 0; i < imgs.length; i++) {
imgSrcs.push(imgs[i].src);
}
return imgSrcs;
}var result = img_find();
$("meta[property='og:image']").attr("content", result[1]);
</script>
你的代码
$("meta[property='og:image']").attr("content", result[1]);
几乎是解决方案。让我们做最后一步:
$("meta[property='og:image']")
.attr("content", $('css_selector_of_the_img')[0].src);
那么什么是css_selector_of_the_img
?由于你有网站徽标,我假设你的图像周围有一些HTML。可能图像具有类名或放置在容器中,例如 css_selector_of_the_img
可能是div.content img
的,也可能是img.uploaded
的。并扔掉你的img_find函数J。
我找到了解决方案。
将property="og:image"
添加到我想要选择的<img>
中。
@Kosh Very的答案是使用jQuery设置页面中第一张图片的og:image
标签,但这取决于reddit的抓取器的能力,即抓取器是否可以运行javascript。
另一种解决方案是使用正则表达式解析 UGC 中的图像,并将其用作页面生成器中的og:image
URL。
希望有帮助。