【发布时间】:2012-07-07 18:14:30
【问题描述】:
我有一个 Drupal 摄影网站。图片对我来说很重要,无论我怎么努力,怎么用谷歌搜索,我都无法将这些图片用于 Facebook Open Graph 共享。
我正在使用 Drupal 7.14。
用户使用 Plupload 插件上传照片。
Plupload resize 功能会自动调整尺寸过大的照片。
这些照片被上传到自定义目录中。例如。网站/默认/文件/产品/[用户: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 。 “/”。 $用户。 “/”。 $文件名;
// 因此 $image_url 输出我的完整图像 url 地址。例如。 http://www.[my-web-site].com/sites/default/files/styles/large/public/products/1/[IMAGE].JPG
$元素 = 数组 (
'#tag' => '元',
'#attributes' => 数组(
'属性' => 'og:图像',
'内容' => $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 Debugger https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.feelsion.com%2Fproduct%2Fd700 只返回 ONE 问题。
即 - 无法下载 og:image: og:image 的 url 引用的图像无法下载代码。我可以确认 ogp.spypixel.com/Pogo/checker/ 可以显示我的 og:image 并且图片网址是正常的。
我使用的是 HTTP,因此 Facebook og:image 的 HTTPS 错误无关紧要。
我的图片有 ALT-txt。
我还将
<link rel="image_src" href="[IMAGE_LINK]"添加到<HEAD>中。我的图片尺寸符合 Facebook 的标准。两个尺寸至少 200 像素,比例不超过 3:1。
我在 page.tpl.php 文件中声明了 og:namespace。
xmlns:og="http://ogp.me/ns#无论我多么努力地 Google 搜索并修改代码并尝试新图像。 Facebook 仍然从不显示我的照片并返回注释 #9 中的错误。
可以在 Facebook 分享中显示我的网站徽标等图像。唯一未显示的图像来自自定义节点页面/面板。
我已尝试修改图片的 FTP 权限,但仍然失败。
我怀疑 Plupload 插件是其调整大小的图像无法被 Facebook OG 渲染的罪魁祸首。
我还怀疑这可能是文件名或图像扩展名的大小写敏感问题。
我在这个问题上工作了超过 24 小时,但希望正在消退。我仍然希望我能在这里找到我对这个问题的启示。如果您知道解决方案或遇到同样的问题,请帮助我。
谢谢。
【问题讨论】:
-
请提供实际网址,以便现场看到问题。
-
Facebook 调试器:developers.facebook.com/tools/debug/og/…
-
web-sniffer.net/?url=http://www.feelsion.com/sites/default/… - 500 内部服务器错误 - 因为这不会在使用“普通”浏览器请求图像 URL 时发生,您的服务器显然,对试图获取图像的“机器人”的反应不同——可能是因为用户代理、cookie 或其他原因。由您来调试;首先查看您的服务器日志。
-
好的,谢谢你的提示。至少我有一个新的线索来解决它。
-
[Sun Jul 08 02:57:54 2012] [alert] [client xxx.xxx.xxx.xxx] /home/feelsion/public_html/sites/default/files/.htaccess: Option FollowSymLinks 这里不允许,referer:feelsion.com/product/d700 这可能是问题的根源吗?
标签: drupal image-processing facebook-opengraph plupload panels