2017-02-22 122 views
0

尝试从网站上的模板动态提取HTML元素。 {{SCHEMA - Recipe Image}}{{SCHEMA - Recipe Description}}无法正常工作。 {{SCHEMA - Recipe Image}}引用了正确的部分,但在Google的结构化数据测试工具中返回null(提供的值为image.url必须是有效的网址)。
{{SCHEMA - Recipe Description}},当我创建文章架构,出于某种原因不能在这种类型的模式工作,这工作,使我在9号线一通过Google跟踪代码管理器插入JSON

错误,人物5:解析错误。 '}'预计

错误。
任何人都可以帮助我理解为什么图像URL和说明未被正确拉取?

<script> 
    (function(){ 
var data = { 
    "@context": "http://schema.org", 
    "@type": "Recipe", 
    "author": "Example", 
    "cookTime": "PT1H", 
    "description": "Generic description goes here.", 
    "image": { 
     "@type": "ImageObject", 
     "url": {{SCHEMA - Recipe Image}} 
    }, 
    "recipeIngredient": [ 
     {{SCHEMA - Recipe Ingredient}} 
    ], 
"name": {{SCHEMA - Recipe Title}}, 
"prepTime": "PT15M", 
"recipeInstructions": {{SCHEMA - Recipe Steps}} 
} 

var script = document.createElement('script'); 
script.type = "application/ld+json"; 
script.innerHTML = JSON.stringify(data); 
document.getElementsByTagName('head')[0].appendChild(script); 
})(document); 
</script> 
+0

描述固定,仍然不能通过变量拉图像的URL,我使用错误的代码? – MattSmiles

回答

0

我可以看到自定义变量{{ SCHEMA - Recipe Image }}的代码吗?我的第一个想法是,你没有正确选择图像的src属性值,但我不知道,除非我看到该代码。另外,查看您尝试选择的HTML可能会有所帮助。

只是作为参考,这是我如何成功地实施了自定义变量的图像:

function(){ 
var image = document.querySelector(".slide-2 a").getAttribute('href'); 
return image; 
} 

注意,这是选择一个包装图像的链接的href属性,和你可能需要选择图像的src属性,具体取决于您的HTML结构。

一种可能性是,您忘了“返回”图像,一旦您选择了图像,请进行检查。

你可能需要做一些接近这个:

function(){ 
    var image = document.querySelector("img").getAttribute('src'); 
    return image; 
    } 

另一种可能的答案:最近我实现了这个为我的网站,我在谷歌的结构化数据测试工具显示自定义变量为空随机,但不是所有的时间。我会刷新测试工具,它最终会正确显示,所以我不会100%信任该工具,因为它可能是越野车。给它一个刷新,看看是否有帮助。

真正判断字段是否实际填充的唯一方法是打开“元素”选项卡下的Chrome开发人员工具,点击Control-F并搜索“架构”以查找由GTM插入的JSON对象,并查看"url":字段是否实际填充了一个URL。

因此,如果这不能解决您的问题,请向我提供更多信息,我很乐意再看一次!

相关问题