You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求用jQuery动态创建JSON-LD生成Google富卡片的实现示例

当然没问题!我来给你演示如何用jQuery动态生成BreadcrumbList类型的JSON-LD,帮你实现Google富卡片效果。

用jQuery动态生成JSON-LD(BreadcrumbList)实现Google富卡片

实现思路

  1. 准备面包屑数据源(可以是预设数据,也能从页面现有DOM里动态提取)
  2. 构建符合Schema.org规范的JSON-LD数据结构
  3. 用jQuery创建script标签,设置类型为application/ld+json并写入JSON内容
  4. 将这个script标签插入到页面的<head>或<body>中

完整示例代码

方式一:使用预设静态数据生成

$(document).ready(function() {
  // 1. 准备面包屑数据(可根据业务逻辑动态生成,比如从后端接口获取)
  const breadcrumbData = [
    {
      position: 1,
      itemId: "https://www.avenue.com/",
      itemName: "Home"
    },
    {
      position: 2,
      itemId: "https://www.avenue.com/en_US/plus-size-clothing/dresses/",
      itemName: "Plus Size Dresses"
    }
  ];

  // 2. 构建JSON-LD结构
  const jsonLdStructure = {
    "@context": "http://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": breadcrumbData.map(item => ({
      "@type": "ListItem",
      "position": item.position,
      "item": {
        "@id": item.itemId,
        "name": item.itemName
      }
    }))
  };

  // 3. 创建script标签并注入页面
  const jsonLdScript = $('<script>')
    .attr('type', 'application/ld+json')
    .text(JSON.stringify(jsonLdStructure, null, 2)); // 格式化JSON,方便调试查看

  // 插入到head标签中(Google推荐的位置)
  $('head').append(jsonLdScript);
});

方式二:从页面现有面包屑DOM中动态提取数据

如果你的页面已经有可视化的面包屑导航(比如用<ul>/<li>实现),可以直接从DOM里提取数据生成JSON-LD:

<!-- 页面上已有的面包屑DOM -->
<ul class="breadcrumb">
  <li><a href="https://www.avenue.com/">Home</a></li>
  <li><a href="https://www.avenue.com/en_US/plus-size-clothing/dresses/">Plus Size Dresses</a></li>
</ul>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
  // 1. 从DOM中提取面包屑数据
  const breadcrumbItems = [];
  $('.breadcrumb li').each(function(index) {
    const $currentItem = $(this);
    const $link = $currentItem.find('a');
    
    breadcrumbItems.push({
      position: index + 1, // Schema.org要求position从1开始计数
      itemId: $link.attr('href'),
      itemName: $link.text().trim()
    });
  });

  // 2. 构建JSON-LD结构(和方式一逻辑一致)
  const jsonLdStructure = {
    "@context": "http://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": breadcrumbItems.map(item => ({
      "@type": "ListItem",
      "position": item.position,
      "item": {
        "@id": item.itemId,
        "name": item.itemName
      }
    }))
  };

  // 3. 注入到页面
  const jsonLdScript = $('<script>')
    .attr('type', 'application/ld+json')
    .text(JSON.stringify(jsonLdStructure, null, 2));

  $('head').append(jsonLdScript);
});
</script>

注意事项

  • 确保JSON格式正确:用JSON.stringify()能避免手动写JSON时容易出现的语法错误(比如多余的逗号)
  • 推荐将JSON-LD标签插入到<head>中,不过放在<body>里也能被Google识别
  • 如果面包屑最后一项是当前页面(无跳转链接),可以把item.id设为当前页面的URL,或者只保留name字段

内容的提问来源于stack exchange,提问作者Vaibhav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:51:27