我有一个Drupal摄影网站 . 图像对我来说很重要,无论我怎么努力,谷歌有多难,我都无法将这些图像用于Facebook Open Graph共享 .
-
我正在使用Drupal 7.14 .
-
用户使用Plupload插件上传照片 .
-
超大照片会通过Plupload调整大小功能自动调整大小 .
-
这些照片被上传到自定义目录中 . 例如 . 网站/默认/文件/产品/ [用户:ID] /
-
照片根据Drupal核心造型进行了缩略图和样式设计 . 例如 . 网站/默认/文件/风格/大/
-
这些照片显示在覆盖节点页面中,我已使用面板自定义 .
-
Drupal模块目前不支持面板的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.[my-web-site].com/sites/default/files/styles/large/public/products";
$ image_url = $ base_url . "/" . $ user . "/" . $文件名;
//因此$ image_url输出我的完整图片网址 . 例如 . HTTP:// WWW [我的Web站点]的.com /网站/默认/文件/风格/大/公/产品/ 1 / [IMAGE] .JPG
$ element = array(
'#tag' => 'meta',
'#attributes' => array(
'property' => 'og:image',
'content' => $ image_url
)
);
require_once '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仅返回 ONE 问题 .
那是 - Unable to download og:image: The image referenced by the url of og:image tag could not be downloaded. -
我可以确认ogp.spypixel.com/Pogo/checker/可以显示我的og:图像,图像网址是 Health 的 .
-
我正在使用HTTP,因此Facebook og:图像的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# -
无论Google如何努力并修改代码并尝试新图片 . Facebook仍然不会显示我的照片并返回错误,如注释#9所示 .
-
我的网站徽标等图片可以在Facebook分享中显示 . 唯一未显示的图像来自自定义节点页面/面板 .
-
我试图修改图像的FTP权限但仍然失败 .
-
我怀疑Plupload插件是它调整大小的图像无法由Facebook OG呈现的罪魁祸首 .
-
我还怀疑可能是文件名或图像扩展名的区分大小写问题 .
我已经在这个问题上工作了24个多小时,希望正在消退 . 我仍然希望能在这里找到我对这个问题的启示 . 如果您知道解决方案或者遇到同样的问题,请帮助我 .
谢谢 .
1 回答
上面的问题是由于图像上的 HTTP 500 Internal Server Error 而发生的 . 图像在互联网浏览器中显示良好,但搜索引擎机器人无法访问 .
我已通过在 /public_html/sites/default/files/ 文件夹中的.htaccess文件中禁用
Option FollowSymLinks
来解决了该问题 .要永久禁用该选项,您必须删除.htaccess文件的内容,同时将文件本身保留在文件夹中 .
希望有所帮助,欢呼 .