搜索全站
百度SEO 11 分钟阅读

百度搜索开放平台结构化数据提交:类型选择、字段校验与提交全流程

结构化数据提交了却没展现?本文讲清百度搜索开放平台结构化数据的提交路径、类型选择原则、字段完整性校验方法与 WordPress 侧动态输出 JSON-LD 的实现,附提交后无效果的排查清单与真实案例。

U
UFO_PF 2026-08-16 · 阅读 11 分钟
百度 百度SEO
阅读提示
本文约 4,059 字,预计阅读 11 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:代码加了,为什么搜索结果没变化

站长在主题里加了一段 JSON-LD,用在线校验工具检查”语法正确”,于是期待搜索结果里出现星级、面包屑、FAQ 折叠等富样式。等了一个月,什么都没变。这种情况非常普遍,原因通常不在语法,而在三个环节:一是标注的类型在百度当前支持范围内、但字段没填全;二是页面本身没有被正常收录和抓取,结构化数据根本没被读到;三是把 Google 支持的类型原样搬过来,而百度的支持范围与校验规则与之并不完全一致。结构化数据的价值在于让搜索引擎”看懂”页面的结构:哪个是标题、哪个是发布时间、哪个是作者、哪个是问答对。看懂之后才谈得上富样式展现和更准确的抽取。本文按”选类型 → 标字段 → 校验 → 提交 → 观察”这条链路展开,重点讲容易失败的环节。百度相关能力的入口在百度搜索资源平台(ziyuan.baidu.com)内的结构化数据/搜索开放平台相关模块,具体名称与可选类型会随平台改版调整,实际操作以登录后台后显示的类型列表为准。

原理分析:结构化数据是一条”声明—校验—采用”链路

很多人的误解是把结构化数据当成”加了就有效果的开关”。实际上它是一条有前后依赖的链路。

环节 做什么 失败常见原因
声明 页面输出符合规范的 JSON-LD 语法错误、类型不支持
抓取 搜索引擎抓到页面并读到数据 页面未收录、被 JS 延迟注入
校验 平台检查字段完整性与真实性 必填字段缺失、数值与页面不符
采用 在搜索结果中采用富样式或增强抽取 内容质量不足、站点信誉不够
维持 数据随页面更新保持同步 页面改了数据没更新

关键点有两个。第一,”真实性”是硬要求:你在结构化数据里声明的评分、价格、发布时间,必须与页面实际内容一致。声明了 5 分满分而页面上没有评分内容,或者声明的时间晚于实际,属于信号失真,不仅不会采用,还可能触发质量层面的判定。第二,”采用”不等于”展现”:即使校验通过,是否展现富样式还取决于搜索结果的具体场景与页面质量。所以评估效果时,不能只看有没有出现特殊样式,还要看标题、时间、面包屑等信息的抽取是否更准确了。理解这一点,就能接受”结构化数据是长期基础设施”这个定位。

保姆级实操

步骤 1:按页面性质选择类型,别贪多

一个页面只标注它真正是的那个类型。文章页用 Article/BlogPosting,问答页用 FAQPage,面包屑用 BreadcrumbList,站点级用 WebSite 与 Organization。不要在一个页面上同时堆四五个不相关的类型,也不要给列表页标注 Article。可选的合规类型与字段以平台后台显示为准;常见且稳妥的做法是先从 Article、BreadcrumbList、WebSite 三类做起。各类型的字段要点可参考百度结构化数据JSON-LD支持类型盘点。

步骤 2:在 WordPress 里动态输出,不写死

模板里手写 JSON-LD 容易在换主题后丢失,且字段不会随文章变化。用钩子动态生成:

add_action('wp_head', function () {
    if (!is_singular('post')) {
        return;
    }
    $post_id = get_the_ID();
    $thumb   = get_the_post_thumbnail_url($post_id, 'full');

    $data = [
        '@context'      => 'https://schema.org',
        '@type'         => 'BlogPosting',
        'headline'      => get_the_title($post_id),
        'description'   => wp_strip_all_tags(get_the_excerpt($post_id)),
        'datePublished' => get_post_time('c', true, $post_id),
        'dateModified'  => get_post_modified_time('c', true, $post_id),
        'author'        => [
            '@type' => 'Person',
            'name'  => get_the_author_meta('display_name', get_post_field('post_author', $post_id)),
        ],
        'publisher'     => [
            '@type' => 'Organization',
            'name'  => get_bloginfo('name'),
            'logo'  => [
                '@type' => 'ImageObject',
                'url'   => home_url('/logo.png'),
            ],
        ],
        'mainEntityOfPage' => [
            '@type' => 'WebPage',
            '@id'   => get_permalink($post_id),
        ],
    ];
    if ($thumb) {
        $data['image'] = [$thumb];
    }
    echo '<script type="application/ld+json">' .
         wp_json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) .
         '</script>' . "\n";
}, 25);

步骤 3:检查输出是否与页面实际一致

用浏览器查看源代码,确认 JSON-LD 出现在 <head> 里(或在页面加载时即可获得,不要依赖异步 JS 注入),且 headline、datePublished、dateModified、author 与页面显示的一致。如果主题里还装了 SEO 插件,很可能出现两份冲突的 JSON-LD,需要在插件设置里关掉对应的输出,只保留一份。

步骤 4:字段完整性自查

对照平台给出的类型说明检查必填字段是否齐全:Article 类通常要求标题、发布时间、作者、发布方;BreadcrumbList 要求每一级的 name 与 item 完整且末级指向当前页;FAQPage 要求每个问答对都有完整的 question 与 answer,且答案内容在页面上真实可见。缺一个必填字段,整块数据就可能被忽略。

步骤 5:提交并让页面被读到

结构化数据不需要单独”上传文件”,它是页面的一部分。你要做的是让页面被及时抓取:通过平台的资源提交入口提交 URL,或用主动推送接口推送。抓取后平台会在结构化数据模块里显示解析到的类型与数量,这是验证是否被读到的最直接方式。

步骤 6:观察与维护

提交后观察数周,看平台模块里的解析数量是否增长、报错是否出现。页面内容变更时(尤其是发布时间、作者、价格、评分),结构化数据必须同步变更。每次大改主题或更换 SEO 插件后,重新检查一次输出。

常见踩坑

  1. 照搬 Google 的类型与字段:百度与 Google 的支持范围不完全重合,照搬可能出现”语法正确但不被采用”。
  2. 两份冲突的 JSON-LD:主题一份、插件一份,字段不一致时解析结果不可预期。
  3. 用 JS 异步注入结构化数据:抓取时可能还没执行到,数据读不到。
  4. 声明了页面上没有的内容:虚假评分、虚假作者、未来时间,属于信号失真。
  5. 页面本身没收录:结构化数据再规范,页面没被抓到也是零。
  6. 一次改全站类型:大批页面同时变更结构化数据,会引起一轮重新解析,建议分批。
  7. 案例:某站点给全部文章页标注了 Product 类型并填写了 ratingValue 5 分,希望拿到星级展现。结果平台长期显示”解析成功但未被采用”,且部分页面的标题抽取出现混乱。后来改为文章页只标注 BlogPosting(含作者、发布时间、图片),面包屑单独用 BreadcrumbList,商详页才用 Product 且评分取自真实评论。调整后一个月,文章页的发布时间与面包屑在搜索结果中的展示明显规范,商详页在部分查询里出现了星级——区别在于声明的类型与页面性质匹配了。

总结

结构化数据的判断标准是”声明的东西在页面上真实存在且完整”。行动清单:按页面性质选单一类型 → 用钩子动态输出避免写死 → 检查是否与主题/插件存在冲突输出 → 对照类型说明核对必填字段 → 提交 URL 让页面被抓到 → 在平台模块里观察解析数量与报错 → 内容变更时同步更新。做完这些,即使没有立刻出现富样式,抽取准确性与内容理解也会变好。类型的具体字段要点见百度结构化数据JSON-LD支持类型盘点;页面如何被及时抓取参考百度主动推送接口接入与配额管理;站点的实体信息声明可配合百度官网标识与品牌词保护中的 Organization 写法。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。