我有一个Drupal摄影网站。图片对我来说很重要,无论我多么努力,无论我在谷歌上多么努力,我都无法在Facebook Open Graph共享上获得这些图片。
-
我正在使用Drupal 7.14。
-
用户使用Plupload插件上传照片。
-
超大尺寸的照片可通过Plupload调整大小功能自动调整大小。
-
这些照片被上传到一个自定义目录中。例如,站点/default/files/products/[user:id]/
-
照片是拇指钉和风格根据Drupal核心风格。例如,站点/默认/文件/样式/大型/
-
这些照片显示在覆盖节点页面中,我使用Panels对其进行了自定义。
-
Drupal模块目前不支持Panels的Open Graph标记,所以我自己使用
drupal_add_html_head
创建了它们。//OG图像标签
$node=node_load(%node:nid)
$user=$node->uid
$filename=$node->field_product_photos['und'][0]['filename]
$base_url="http://www.[我的网站].com/sites/default/filess/styles/large/public/products";
$image_url=$base_url。"/"$使用者"/"$文件名
//因此$image_url输出我的完整图像url地址。例如。http://www.[我的网站].com/sites/default/filess/styles/large/public/products/1/[IMAGE].JPG
$element=数组(
'#tag'=>'meta',
'#attributes'=>数组(
'property'=>'og:image',
'content'=>$image_url
),
)
require_one'includes/common.inc'
drupal_add_html_head($element,'og_image'); -
我使用http://ogp.spypixel.com/Pogo/checker/index.php?url=http%3A%2F%2Fwww.feelsion.com%2Fproduct%2Fd700查看我的OG标签。og:title,og:image,og:url,og:description就像一个没有问题的符咒。
-
然而,Facebook调试器https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.feelsion.com%2Fproduct%2Fd700仅返回一个问题
也就是说-无法下载og:image:og:image标签的url引用的图像无法下载 -
我可以确认ogp.spypixel.com/Pogo/checker/可以显示我的og:image,并且图像url是健康的。
-
我使用的是HTTP,所以Facebook日志的HTTPS错误:图像无关紧要。
-
我的图像有ALT txt。
-
我还将
<link rel="image_src" href="[IMAGE_LINK]"
包含在<HEAD>
中。 -
我的图片大小符合Facebook的标准。两个维度至少200px,按比例不超过3:1。
-
我在page.tpl.php文件中声明了og:namespace
xmlns:og="http://ogp.me/ns# -
无论我多么努力地搜索和修改代码,并尝试新的图像。Facebook仍然从不显示我的照片,并返回错误,如注释#9所示。
-
我的网站标志等图片可以在Facebook共享中显示。唯一未显示的图像来自自定义节点页面/面板。
-
我试图修改图像的FTP权限,但仍然失败。
-
我怀疑Plupload插件是Facebook OG无法渲染其调整大小的图像的罪魁祸首。
-
我还怀疑这可能是文件名或图像扩展名的大小写敏感问题。
我已经为这个问题工作了24个多小时,希望正在消退。我仍然希望我能在这里找到我对这个问题的启示。如果您知道解决方案或遇到同样的问题,请务必帮助我。
谢谢。
出现上述问题是因为映像上出现HTTP 500内部服务器错误。该图片在互联网浏览器中显示良好,但搜索引擎机器人无法访问。
我通过禁用/public_html/sites/default/filess/文件夹中.htaccess文件中的Option FollowSymLinks
解决了这个问题。
要永久禁用该选项,您必须删除.htaccess文件的内容,同时将文件本身保留在文件夹中。
希望有帮助,干杯。