【问题标题】:Is it possible to change Microdata itemprop with jQuery?是否可以使用 jQuery 更改 Microdata itemprop?
【发布时间】:2015-10-01 02:51:06
【问题描述】:

以下代码在控制台日志中显示成功,但在使用 Google 结构化数据测试工具或 G+ 分享按钮进行测试时失败。原始值保持不变。在这种情况下,“jack”永远不会更新为“jill”。

var newName= "jill"
$("h1").attr('itemprop','name').html(newName);

这是微数据:

<body itemscope itemtype="http://schema.org/Blog">

<div style="display:none;"> 
<h1 itemprop="name">jack</h1>
<img itemprop="image" src="http://somehewhere.com/something.png" />
<p itemprop="description">some text</p>

</div>

如您所见,只是试图将“jack”的值更改为“jill”。

【问题讨论】:

标签: jquery schema.org microdata google-rich-snippets


【解决方案1】:

html() 方法不能用于 itemprop 属性。您需要将其仅应用于 h1 标签:

$("h1[itemprop=name]").html(newName);

或者因为 newName 是简单的文本:

$("h1[itemprop=name]").text(newName);

【讨论】:

    【解决方案2】:

    那是因为 GoogleBot(以及所有其他人,就此而言)不执行(所有)javascript。您不会通过任何客户端脚本成功设置或更改微数据属性。

    【讨论】:

    【解决方案3】:

    更改微数据值是没有意义的,因为正如 dwtm.ts 所说,机器人不会执行 javascript,只会在获取页面时解析直接下载的源代码。您应该使用 GWT 的“fetch as googlebot”测试工具来检查搜索机器人如何“读取”您的页面。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    相关资源
    最近更新 更多