Dotnetnuke 使用带有DNN的Google标记管理器时,无法使用结构数据测试工具检测架构代码

Dotnetnuke 使用带有DNN的Google标记管理器时,无法使用结构数据测试工具检测架构代码,dotnetnuke,google-tag-manager,Dotnetnuke,Google Tag Manager,我已经创建了一个JSON-LD Websit模式,并尝试将此代码添加到Google标记管理器中的自定义HTML容器中 我已经为页面浏览设置了一个触发器,并且在测试预览模式时将其更改为DOM就绪,以查看它是否有影响 每次更改触发器后,我都会继续发布更改。我确实启用了支持Document.write的选项 问题是,当我用结构化数据测试工具测试网站时,它没有检测到 我已经将此代码移动到DNN中的页眉本身,现在它会将其拾取 DNN是否会阻止Google标签管理器触发代码?它可能是触发器设置或加载顺序 &

我已经创建了一个JSON-LD Websit模式,并尝试将此代码添加到Google标记管理器中的自定义HTML容器中

我已经为页面浏览设置了一个触发器,并且在测试预览模式时将其更改为DOM就绪,以查看它是否有影响

每次更改触发器后,我都会继续发布更改。我确实启用了支持Document.write的选项

问题是,当我用结构化数据测试工具测试网站时,它没有检测到

我已经将此代码移动到DNN中的页眉本身,现在它会将其拾取

DNN是否会阻止Google标签管理器触发代码?它可能是触发器设置或加载顺序

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "WebSite",
  "name": "Our Company Name",
  "alternateName": "Other name",
  "url": "https://www.google.co.za",
  "potentialAction": {
  "@type": "SearchAction",
   "target": "https://www.google/Search-Result/search/{search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WholesaleStore",
"name": "Our Company Name",
"image": "www.http://ourcompany.com/",
"@id": "",
"url": "http://ourcompany.com/",
"telephone": "0000000",
"priceRange": "0",
"address": {
"@type": "PostalAddress",
"streetAddress": "",
"addressLocality": "",
"postalCode": "",
"addressCountry": "ZA"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 0,
"longitude": 0
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
  "Monday",
  "Tuesday",
  "Wednesday",
  "Thursday",
  "Friday"
],
"opens": "08:00",
"closes": "17:00"
},
"sameAs": [
  "https://www.facebook.com/"      
 ]
 }
</script>

{
“@context”:”http://schema.org/",
“@type”:“网站”,
“名称”:“本公司名称”,
“替代名称”:“其他名称”,
“url”:”https://www.google.co.za",
“潜在作用”:{
“@type”:“SearchAction”,
“目标”:https://www.google/Search-Result/search/{search_term_string}”,
“查询输入”:“所需名称=搜索\术语\字符串”
}
}
{
“@context”:”http://schema.org",
“@type”:“批发商”,
“名称”:“本公司名称”,
“图像”:“www。http://ourcompany.com/",
“@id”:”,
“url”:”http://ourcompany.com/",
“电话”:“0000000”,
“价格范围”:“0”,
“地址”:{
“@type”:“PostalAddress”,
“街道地址”:“,
“地址地点”:“地址地点”,
“postalCode”:“,
“地址国家”:“ZA”
},
“geo”:{
“@type”:“地理坐标”,
“纬度”:0,
“经度”:0
},
“开放资源规范”:{
“@type”:“OpeningHoursSpecification”,
“星期一”:[
“星期一”,
“星期二”,
“星期三”,
“星期四”,
“星期五”
],
“打开”:“08:00”,
“关闭”:“17:00”
},
“sameAs”:[
"https://www.facebook.com/"      
]
}

尝试将GTM中HTML标记中的所有模式替换为以下内容:

<script>
  // Your regular schema data
  var jsonData = {
    "@context": "http://schema.org/",
    "@type": "WebSite",
    "name": "Our Company Name",
    "alternateName": "Other name",
    "url": "https://www.google.co.za",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://www.google/Search-Result/search/{search_term_string}",
      "query-input": "required name=search_term_string"
    }
  };
  // And then you append it to the head
  var script = document.createElement('script');
  script.type = "application/ld+json";
  script.innerHTML = JSON.stringify(data);
  document.head.appendChild(script);
</script>

//您的常规模式数据
var jsonData={
“@context”:”http://schema.org/",
“@type”:“网站”,
“名称”:“本公司名称”,
“替代名称”:“其他名称”,
“url”:”https://www.google.co.za",
“潜在作用”:{
“@type”:“SearchAction”,
“目标”:https://www.google/Search-Result/search/{search_term_string}”,
“查询输入”:“所需名称=搜索\术语\字符串”
}
};
//然后你把它贴在头上
var script=document.createElement('script');
script.type=“应用程序/ld+json”;
script.innerHTML=JSON.stringify(数据);
document.head.appendChild(脚本);
不知何故,结构化数据测试工具不再识别作为
注入的方式,现在必须通过JS以编程方式注入


资料来源:,

不应该有任何东西阻止GTM做它需要的事情。当您尝试GTM方式时,是否看到任何控制台错误?