【问题标题】:Facebook og:image tag could not be downloaded from Drupal websiteFacebook og:image 标签无法从 Drupal 网站下载
【发布时间】:2012-07-07 18:14:30
【问题描述】:


我有一个 Drupal 摄影网站。图片对我来说很重要,无论我怎么努力,怎么用谷歌搜索,我都无法将这些图片用于 Facebook Open Graph 共享。

  1. 我正在使用 Drupal 7.14。

  2. 用户使用 Plupload 插件上传照片。

  3. Plupload resize 功能会自动调整尺寸过大的照片。

  4. 这些照片被上传到自定义目录中。例如。网站/默认/文件/产品/[用户:id]/

  5. 根据 Drupal 核心样式对照片进行缩略图和样式设置。例如。网站/默认/文件/样式/大/

  6. 这些照片显示在我使用面板自定义的覆盖节点页面中。

  7. 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');

  8. 我使用 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 就像一个没有问题的魅力。

  9. 然而 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 引用的图像无法下载代码。

  10. 我可以确认 ogp.spypixel.com/Pogo/checker/ 可以显示我的 og:image 并且图片网址是正常的。

  11. 我使用的是 HTTP,因此 Facebook og:image 的 HTTPS 错误无关紧要。

  12. 我的图片有 ALT-txt。

  13. 我还将<link rel="image_src" href="[IMAGE_LINK]"添加到<HEAD>中。

  14. 我的图片尺寸符合 Facebook 的标准。两个尺寸至少 200 像素,比例不超过 3:1。

  15. 我在 page.tpl.php 文件中声明了 og:namespace。
    xmlns:og="http://ogp.me/ns#

  16. 无论我多么努力地 Google 搜索并修改代码并尝试新图像。 Facebook 仍然从不显示我的照片并返回注释 #9 中的错误。

  17. 可以在 Facebook 分享中显示我的网站徽标等图像。唯一未显示的图像来自自定义节点页面/面板。

  18. 我已尝试修改图片的 FTP 权限,但仍然失败。

  19. 我怀疑 Plupload 插件是其调整大小的图像无法被 Facebook OG 渲染的罪魁祸首。

  20. 我还怀疑这可能是文件名或图像扩展名的大小写敏感问题。

我在这个问题上工作了超过 24 小时,但希望正在消退。我仍然希望我能在这里找到我对这个问题的启示。如果您知道解决方案或遇到同样的问题,请帮助我。

谢谢。

【问题讨论】:

  • 请提供实际网址,以便现场看到问题。
  • 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


【解决方案1】:

上述问题是由于图像上的 HTTP 500 内部服务器错误而发生的。 该图像在 Internet 浏览器中显示良好,但搜索引擎机器人无法访问。

我通过在 /public_html/sites/default/files/ 文件夹中的 .htaccess 文件中禁用 Option FollowSymLinks 解决了这个问题。

要永久禁用该选项,您必须删除 .htaccess 文件的内容,同时将文件本身保留在文件夹中。

希望有帮助,干杯。

【讨论】:

    猜你喜欢
    • 2014-07-15
    • 2014-08-04
    • 2015-07-19
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 2012-11-05
    • 1970-01-01
    • 2012-10-01
    相关资源
    最近更新 更多