Facebook Open Graph,未提供'string'类型所需的属性'og:title'

 w康d 发布于 2022-12-27 04:54

我有一个Joomla页面(v3.2.4),我用PHP放入了一些动态Open Graph标签,如下所示:

PHP,在标记之前:

$getcid = JRequest::getVar('id');

if(!isset($getcid)) {
$title = "LIVA Kurser";
$description = "Danmarks største udbyder af kurser til såvel offentlige og erhverv samt private.";
$image = "http://www.livakursertestsite.dk/images/liva-logo.jpg";
$type = "website";
} else {
$db = JFactory::getDbo();
$user    = JFactory::getUser();
$query = $db->getQuery(true);
$ogquery = "SELECT DISTINCT * FROM jos_managecourse WHERE state = '1' AND id = '".$getcid."' LIMIT 1";
$db->setQuery($ogquery);
$db->query();
$getcourse = $db->loadObjectList();  

$description = substr(strip_tags($getcourse[0]->details), 0, 247);
$title = $getcourse[0]->course_name;

$description = preg_replace( "/\r|\n/", "", $description );
$description = str_replace( " ", " ", $description );

$image = JURI::root()."administrator/components/com_managecourse/images/".$getcourse[0]->image_url;
$type = "article";
}

在我的标签中我有这个:

  
  
  
  
  
  
  
  
  

当我通过Facebook对象调试器运行页面时,我收到以下两个错误:

"网站"类型的URL" http://www.livakursertestsite.dk/kurser/babytegn-2 "上的对象无效,因为未提供"string"类型的必需属性"og:title".

第二个错误:

卷曲错误:BAD_CONTENT_ENCODING处理内容取消编码时出错:无效的块类型

我试过了:

移动标题标签下方和上方的代码

将它移动到head-tag的顶部和底部,但都不起作用.

将PHP代码放在head-tag中,但仍然没有.

你可以在这里看到这个网站:http://www.livakursertestsite.dk/kurser/babytegn-2

编辑:

我已从标签中删除了PHP代码,因此它们不再是动态的,看看是否是原因,但事实并非如此.现在代码看起来像这样:









我现在也尝试过:

在Googles Rich Snippets测试工具上测试网站,Google获取所有数据.

删除所有非强制性Open Graph标记,因此只存在四个必需标记(类型,标题,URL和图像).

删除所有导致Firebug错误的javascript.

并且Facebook Debugger仍然无法获取数据.

编辑#2:

在@CBroe的评论之后我修复了页面,所以可以验证它,没有错误,但仍然没有运气.

1 个回答
  • 您可能想尝试禁用任何类型的压缩,例如PHP中的GZIP压缩.这帮助我在Joomla 3.3网站上遇到了类似的问题.

    我启用了GZIP压缩,Facebook无法抓取我的网站.禁用GZIP压缩解决了这个问题.

    我还没想到它是Joomla问题还是一般的GZIP/PHP问题还是facebook刮痧问题.

    编辑:通过分享行动,Facebook只读取您页面的前40k.启用GZIP时,只读取前40k会产生问题,因为它无法解压缩部分内容.

    更好的解决方案是仅针对Facebook,LinkedIn等网站禁用GZIP.

    你可以使用名为gzip的小插件非常友好的控件:http://extensions.joomla.org/extensions/core-enhancements/performance/site-performance/27725

    或者使用此代码https://github.com/dgt41/(压缩xml和php文件,您可以将其安装为插件)

    请注意:如果您的站点上安装了JCH Optimize模块,则需要禁用该插件提供的gzip压缩.所有其他选项可以保持激活而不会出现任何问题,包括本机Joomla gzip压缩.

    干杯,Teeuwis

    2022-12-27 05:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有