自动Opengraph图像
Automatic Opengraph Image
在 Facebook 或其他社交网络上分享页面时:
如果存在<meta property="og:image" content="http://url.to/image.jpg" />
,则用于生成缩略图。没关系。
如果<meta property="og:image">
不存在但是页面上有图像,第一个图像出现在HTML页面上用作缩略图。这个也不错
如果 <meta property="og:image">
不存在 并且 页面上没有图像,则没有缩略图。
如何使用 <meta property="og:image">
提供 默认缩略图 图像,当且仅当 我们在案例 #3?
即: 如果页面上没有图像,将使用此默认图像仅(如果有,将使用此图像代替!)
更一般地说,有没有办法告诉:
"If there is no og:image
, use the page rendering as thumbnail (like would do the well-known http://netrenderer.com/)"
我想实现什么:总是有一个缩略图,不管页面上有没有图片。
如果您希望始终显示您选择的缩略图,那么您需要为案例 #3 提供默认图像:
<meta property="og:image" content="http://YOUR_DOMAIN.COM/YOUR_DEFAULT_image.jpg" />
否则 Facebook 将自行决定添加或忽略图片
据我了解,如果页面上没有可供选择的图片,您希望提供后备 og:image 标签。
我看到两个通用解决方案:
- Post-检查 之后的页面 JavaScript 并附加后备 og:image-标签,如果没有图像 (可能不够靠谱)
- 预检查 您在后端解析器(PHP-控制器)中的内容,并在必要时使用 og:image-标签发送响应
我建议在后端执行此操作。
假设您有一个单一文件 PHP-controller,您将逻辑、数据和视图混合在一起...
假设您将所有内容都存储在一个变量中,可能称为 $pagecontent.
如果此变量将所有即将到来的内容保存为字符串,您可以在 html-head 中执行类似以下操作:
<head>
<!-- other code -->
<?php
if (strpos($pagecontent, '<img ') === false) {
echo '<meta property="og:image" content="http://url.to/fallback-image.jpg" />';
}
?>
</head>
希望对您有所帮助。
在 Facebook 或其他社交网络上分享页面时:
如果存在
<meta property="og:image" content="http://url.to/image.jpg" />
,则用于生成缩略图。没关系。如果
<meta property="og:image">
不存在但是页面上有图像,第一个图像出现在HTML页面上用作缩略图。这个也不错如果
<meta property="og:image">
不存在 并且 页面上没有图像,则没有缩略图。
如何使用 <meta property="og:image">
提供 默认缩略图 图像,当且仅当 我们在案例 #3?
即: 如果页面上没有图像,将使用此默认图像仅(如果有,将使用此图像代替!)
更一般地说,有没有办法告诉:
"If there is no og:image
, use the page rendering as thumbnail (like would do the well-known http://netrenderer.com/)"
我想实现什么:总是有一个缩略图,不管页面上有没有图片。
如果您希望始终显示您选择的缩略图,那么您需要为案例 #3 提供默认图像:
<meta property="og:image" content="http://YOUR_DOMAIN.COM/YOUR_DEFAULT_image.jpg" />
否则 Facebook 将自行决定添加或忽略图片
据我了解,如果页面上没有可供选择的图片,您希望提供后备 og:image 标签。
我看到两个通用解决方案:
- Post-检查 之后的页面 JavaScript 并附加后备 og:image-标签,如果没有图像 (可能不够靠谱)
- 预检查 您在后端解析器(PHP-控制器)中的内容,并在必要时使用 og:image-标签发送响应
我建议在后端执行此操作。
假设您有一个单一文件 PHP-controller,您将逻辑、数据和视图混合在一起... 假设您将所有内容都存储在一个变量中,可能称为 $pagecontent.
如果此变量将所有即将到来的内容保存为字符串,您可以在 html-head 中执行类似以下操作:
<head>
<!-- other code -->
<?php
if (strpos($pagecontent, '<img ') === false) {
echo '<meta property="og:image" content="http://url.to/fallback-image.jpg" />';
}
?>
</head>
希望对您有所帮助。