1


我有一个 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

    $element = array (
    '#tag' => 'meta ',
    '#attributes' => 数组(
    'property' => 'og:image',
    'content' => $image_url
    ),
    );
    要求一次'
    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 调试器https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.feelsion.com%2Fproduct%2Fd700只返回一个问题。
    那是 -无法下载 og:image:无法下载 og:image 标签的 url 引用的图像。

  10. 我可以确认 ogp.spypixel.com/Pogo/checker/ 可以显示我的 og:image 并且图像 url 是健康的。

  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. 无论我多么努力地谷歌并修改代码并尝试新图像。Facebook 仍然从不显示我的照片并返回注释 #9 中的错误。

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

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

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

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

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

谢谢你。

4

1 回答 1

0

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

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

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

希望有帮助,加油。

于 2012-07-09T05:50:10.057 回答