我有一个Drupal摄影网站。图像对我来说很重要,无论我怎么努力,谷歌有多难,我都无法将这些图像用于Facebook Open Graph共享。
我正在使用Drupal 7.14。
用户使用Plupload插件上传照片。
通过Plupload调整大小功能自动调整超大尺寸的照片。
这些照片会上传到自定义目录中。例如。站点/默认/文件/产品/ [用户:ID] /
照片根据Drupal核心造型进行缩略图和样式设计。例如。网站/默认/文件/风格/大/
这些照片显示在覆盖节点页面中,我已使用面板进行了自定义。
Drupal模块目前不支持Panel的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。[my-web-site] .com / sites / default / files / styles / large / public / products / 1 / [IMAGE] .JPG
$ element = array(
'#tag'=> '元',
'#attributes'=>阵列(
'property'=> 'OG:图像',
'content'=> $ IMAGE_URL
),
);
require_once'include / 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 问题。
即 - 无法下载og:image:网址引用的图片og:无法下载图片代码。
我可以确认ogp.spypixel.com/Pogo/checker/可以显示我的og:图像,图片网址是健康的。
我正在使用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个多小时,希望正在消退。我仍然希望能在这里找到我对这个问题的启示。如果您知道解决方案或遇到同样的问题,请帮助我。
谢谢。
答案 0 :(得分:0)
上述问题是由于图片上出现 HTTP 500内部服务器错误而导致的。 图像在互联网浏览器中显示良好,但搜索引擎机器人无法访问。
我已通过在 / public_html / sites / default / files / 文件夹中的.htaccess文件中禁用Option FollowSymLinks
来解决此问题。
要永久禁用该选项,您必须删除.htaccess文件的内容,同时将文件本身保留在文件夹中。
希望有所帮助,欢呼。