[{"data":1,"prerenderedAt":469},["ShallowReactive",2],{"blog-software-app-schema":3,"blog-prev-software-app-schema":256,"blog-next-software-app-schema":356},{"id":4,"title":5,"author":6,"body":7,"canonical":240,"category":241,"cover":240,"date":242,"description":243,"draft":244,"extension":245,"keywords":240,"meta":246,"navigation":247,"noindex":244,"ogImage":240,"path":248,"seo":249,"seoDescription":240,"seoTitle":240,"stem":250,"tags":251,"updated":240,"__hash__":255},"blog\u002Fblog\u002Fsoftware-app-schema.md","SoftwareApplication 结构化数据：9 个站加完后的效果和坑","元析智能",{"type":8,"value":9,"toc":231},"minimark",[10,14,18,21,24,27,161,164,171,175,178,181,185,188,191,194,197,200,203,206,209,212,215,218,221,224,227],[11,12,13],"p",{},"软件公司该加的 JSON-LD，不是 Article 和 FAQPage，而是 SoftwareApplication。2025 年 12 月到 2026 年 5 月我们给 9 个站加完，6 个出现富结果，3 个没有任何变化。差异不在代码，在页面是否真的\"像个产品\"。",[15,16,17],"h2",{"id":17},"先搞清楚它能带来什么",[11,19,20],{},"SoftwareApplication 告诉搜索引擎：这是一个软件产品，有名称、有价格、有评分、有适用平台。它可能让搜索结果里出现评分星星、价格区间，或者被归到软件类结果里。",[11,22,23],{},"它不是排名因素，别指望加了就涨排名。它的价值是提高点击率，以及在 AI 搜索里被准确识别为产品。",[15,25,26],{"id":26},"我们加的核心字段",[28,29,34],"pre",{"className":30,"code":31,"language":32,"meta":33,"style":33},"language-json shiki shiki-themes github-light github-dark","{\n  \"@context\": \"https:\u002F\u002Fschema.org\",\n  \"@type\": \"SoftwareApplication\",\n  \"name\": \"产品名\",\n  \"applicationCategory\": \"BusinessApplication\",\n  \"operatingSystem\": \"Web\",\n  \"offers\": {\"@type\": \"Offer\", \"price\": \"0\", \"priceCurrency\": \"CNY\"}\n}\n","json","",[35,36,37,46,63,76,89,102,115,156],"code",{"__ignoreMap":33},[38,39,42],"span",{"class":40,"line":41},"line",1,[38,43,45],{"class":44},"sVt8B","{\n",[38,47,49,53,56,60],{"class":40,"line":48},2,[38,50,52],{"class":51},"sj4cs","  \"@context\"",[38,54,55],{"class":44},": ",[38,57,59],{"class":58},"sZZnC","\"https:\u002F\u002Fschema.org\"",[38,61,62],{"class":44},",\n",[38,64,66,69,71,74],{"class":40,"line":65},3,[38,67,68],{"class":51},"  \"@type\"",[38,70,55],{"class":44},[38,72,73],{"class":58},"\"SoftwareApplication\"",[38,75,62],{"class":44},[38,77,79,82,84,87],{"class":40,"line":78},4,[38,80,81],{"class":51},"  \"name\"",[38,83,55],{"class":44},[38,85,86],{"class":58},"\"产品名\"",[38,88,62],{"class":44},[38,90,92,95,97,100],{"class":40,"line":91},5,[38,93,94],{"class":51},"  \"applicationCategory\"",[38,96,55],{"class":44},[38,98,99],{"class":58},"\"BusinessApplication\"",[38,101,62],{"class":44},[38,103,105,108,110,113],{"class":40,"line":104},6,[38,106,107],{"class":51},"  \"operatingSystem\"",[38,109,55],{"class":44},[38,111,112],{"class":58},"\"Web\"",[38,114,62],{"class":44},[38,116,118,121,124,127,129,132,135,138,140,143,145,148,150,153],{"class":40,"line":117},7,[38,119,120],{"class":51},"  \"offers\"",[38,122,123],{"class":44},": {",[38,125,126],{"class":51},"\"@type\"",[38,128,55],{"class":44},[38,130,131],{"class":58},"\"Offer\"",[38,133,134],{"class":44},", ",[38,136,137],{"class":51},"\"price\"",[38,139,55],{"class":44},[38,141,142],{"class":58},"\"0\"",[38,144,134],{"class":44},[38,146,147],{"class":51},"\"priceCurrency\"",[38,149,55],{"class":44},[38,151,152],{"class":58},"\"CNY\"",[38,154,155],{"class":44},"}\n",[38,157,159],{"class":40,"line":158},8,[38,160,155],{"class":44},[11,162,163],{},"这是最小可用版本。再补 aggregateRating、featureList、screenshot、softwareVersion 会更完整。",[11,165,166,167,170],{},"关键点：",[35,168,169],{},"offers"," 里的价格必须和页面上显示的一致。不一致会被判无效，严重的会被手动处理。",[15,172,174],{"id":173},"_6-个出现富结果的站有什么共同点","6 个出现富结果的站有什么共同点",[11,176,177],{},"页面本身有清晰的产品信息：价格页、版本说明、适用平台、真实截图。结构化数据只是把这些信息翻译成机器格式。",[11,179,180],{},"结构化数据和页面内容对不上，是富结果不出现的头号原因。",[15,182,184],{"id":183},"_3-个没变化的站","3 个没变化的站",[11,186,187],{},"第一个，产品页只有一段介绍和一个\"联系我们\"，没有价格、没有版本、没有平台信息。数据填了，搜索引擎没东西可展示。",[11,189,190],{},"第二个，把 SoftwareApplication 加在了博客文章上，文章讲的是行业趋势，不是产品。",[11,192,193],{},"第三个，用 SaaS 的首页做产品页，介绍的是公司，不是软件。",[15,195,196],{"id":196},"三个容易写错的地方",[11,198,199],{},"第一，评分造假。没有真实评价就填 aggregateRating，被查到轻则不展示，重则整站结构化数据被降权。我们只建议有真实用户评价的站加。",[11,201,202],{},"第二，价格写成\"联系销售\"。这不是错误，但不会出现价格富结果。B2B 软件常见，接受这个结果就行。",[11,204,205],{},"第三，多个版本混在一个页面。免费版、付费版、企业版价格不同，要么用多个 Offer，要么拆页面。别在一个 SoftwareApplication 里塞三个不相关的价格。",[15,207,208],{"id":208},"什么情况下别加",[11,210,211],{},"产品还没上线、页面只有一个\"即将推出\"，别加。",[11,213,214],{},"公司官网的首页，别加。首页是公司介绍，不是产品页。",[11,216,217],{},"已经有成熟的产品页结构的站，加了收益也不大，优先级排在内容和内链之后。",[15,219,220],{"id":220},"判断",[11,222,223],{},"结构化数据的收益是\"锦上添花\"，不是\"雪中送炭\"。页面信息本身不完整，加再多 schema 也没用。",[11,225,226],{},"我们现在的顺序：先把产品页的价格、版本、平台、截图补齐，再加 JSON-LD。这个顺序反了，白忙。这个顺序我们改过三次，9 个站都按这个来。",[228,229,230],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":33,"searchDepth":48,"depth":48,"links":232},[233,234,235,236,237,238,239],{"id":17,"depth":48,"text":17},{"id":26,"depth":48,"text":26},{"id":173,"depth":48,"text":174},{"id":183,"depth":48,"text":184},{"id":196,"depth":48,"text":196},{"id":208,"depth":48,"text":208},{"id":220,"depth":48,"text":220},null,"技术SEO","2026-07-21","软件公司该加的 JSON-LD，不是 Article 和 FAQPage，而是 SoftwareApplication。2025 年 12 月到 2026 年 5 月我们给 9 个站加完，6 个出现富结果，3 个没有任何变化。加什么字段、三种常见错误、什么情况别加，都在这篇。加完能看到效果的前提是页面信息本身完整，这点很多人忽略。",false,"md",{},true,"\u002Fblog\u002Fsoftware-app-schema",{"title":5,"description":243},"blog\u002Fsoftware-app-schema",[252,253,254],"结构化数据","JSON-LD","富结果","FGz7yBJs6B85VGSxHmgipgN49_5JhspPCvD_J8bGbFc",{"id":257,"title":258,"author":6,"body":259,"canonical":240,"category":241,"cover":240,"date":346,"description":347,"draft":244,"extension":245,"keywords":240,"meta":348,"navigation":247,"noindex":244,"ogImage":240,"path":349,"seo":350,"seoDescription":240,"seoTitle":240,"stem":351,"tags":352,"updated":240,"__hash__":355},"blog\u002Fblog\u002Forganization-schema-fields.md","Organization 结构化数据：六个字段写对才有用",{"type":8,"value":260,"toc":338},[261,264,267,274,280,286,292,298,304,308,311,314,317,320,323,326,329,332,335],[11,262,263],{},"Organization 是全站唯一的实体标记。写对了，能帮搜索引擎把品牌名、官网、社媒账号认成同一个实体；写错了，会制造矛盾信号，比不写还麻烦。这件事半小时能做完，但很多站拖着没做。",[15,265,266],{"id":266},"六个必填字段",[11,268,269,273],{},[270,271,272],"strong",{},"name","：和公司官方注册名或者对外统一名称一致。别写\"XX官网\"，别每个页面写不同的名字。",[11,275,276,279],{},[270,277,278],{},"url","：官网主域，带 https。",[11,281,282,285],{},[270,283,284],{},"logo","：可公开抓取的图片地址，宽高比接近 1:1，建议 112 像素以上。别用 base64 内嵌，别用需要登录的图床，别用已经下线的 CDN 路径。",[11,287,288,291],{},[270,289,290],{},"sameAs","：官方社媒、GitHub、LinkedIn、应用商店页面。只放真实存在的官方账号。放竞品页面或者山寨页面，是在给搜索引擎喂错误关联。",[11,293,294,297],{},[270,295,296],{},"address","：注册地址或办公地址，按结构化字段拆开写。",[11,299,300,303],{},[270,301,302],{},"contactPoint","：客服电话、邮箱、联系类型（技术支持、销售）。",[15,305,307],{"id":306},"_2026-年-4-月那次排查","2026 年 4 月那次排查",[11,309,310],{},"一个客户站首页的 Organization 里，logo 指向一个已经删除的 CDN 路径，404 了半年；sameAs 里有两个链接指向山寨页面，是运营从搜索结果里复制来的。修复后 GSC 里结构化数据报错清零，知识面板的信息也更新了——时间不由我们控制，但至少信号统一了。",[15,312,313],{"id":313},"三个常见错",[11,315,316],{},"把 Person 标成 Organization，作者页最容易犯；多个页面写不同的 Organization，比如每个产品页写自己；logo 用了带文字的横版图，尺寸太小，识别不出来。",[15,318,319],{"id":319},"验证方法",[11,321,322],{},"Rich Results Test 跑首页和关于页；GSC 的\"增强功能\"看有没有报错；再人工核对一遍标记里的名称、地址、电话和官网页面上写的是否一致。三处一致才算完成。",[15,324,325],{"id":325},"放在哪个页面",[11,327,328],{},"Organization 放在首页和关于页就够，全站每个页面都放也不会错，但没必要重复。如果公司有多个品牌或者多个独立产品线，可以给每个子品牌单独建 Organization，用 parentOrganization 关联。别把多个品牌混成一个，搜索引擎分不清。",[11,330,331],{},"还有一个细节：about 页、联系我们页上的信息要和标记完全一致，包括地址的写法。线上线下不一致，实体识别会打折。",[15,333,334],{"id":334},"立场",[11,336,337],{},"结构化数据里，Organization 是确定性最高、成本最低的一个。别追求标得多，先把这一个标对。做 GEO 的站尤其要重视，AI 引擎判断品牌实体时，这些字段是直接输入。",{"title":33,"searchDepth":48,"depth":48,"links":339},[340,341,342,343,344,345],{"id":266,"depth":48,"text":266},{"id":306,"depth":48,"text":307},{"id":313,"depth":48,"text":313},{"id":319,"depth":48,"text":319},{"id":325,"depth":48,"text":325},{"id":334,"depth":48,"text":334},"2026-07-20","Organization 标记容易被当成模板活，填错却会拖累全站。logo、sameAs、url、name、address、contactPoint 这六个字段我们逐个过，附一个 2026 年 4 月的排查记录。",{},"\u002Fblog\u002Forganization-schema-fields",{"title":258,"description":347},"blog\u002Forganization-schema-fields",[252,353,354],"Organization","品牌","0N_aUuS-YY2B8tiqT06IgrY7REqgY18Pc9Vslpu1Myo",{"id":357,"title":358,"author":6,"body":359,"canonical":240,"category":241,"cover":240,"date":458,"description":459,"draft":244,"extension":245,"keywords":240,"meta":460,"navigation":247,"noindex":244,"ogImage":240,"path":461,"seo":462,"seoDescription":240,"seoTitle":240,"stem":463,"tags":464,"updated":240,"__hash__":468},"blog\u002Fblog\u002Fpreload-preconnect-misuse.md","preload 用错反而更慢，先看这三个判断",{"type":8,"value":360,"toc":449},[361,364,367,370,373,376,380,383,386,389,392,395,398,401,404,407,410,413,416,419,422,425,428,431,434,437,440,443,446],[11,362,363],{},"2026 年 8 月我们接手一个站，head 里写了九条 preload，测完发现只有三条真正被首屏用到。剩下的不但没帮忙，还抢了 LCP 图片的带宽，首屏反而慢了 200 毫秒。资源提示不是越多越好。",[15,365,366],{"id":366},"三种提示各管什么",[11,368,369],{},"dns-prefetch 只做 DNS 解析，最轻，适合那些一定会请求、但不急的第三方域。",[11,371,372],{},"preconnect 多做一步，把 TCP 连接和 TLS 握手也提前完成，成本高一点，适合关键第三方域，比如字体、CDN、支付。",[11,374,375],{},"preload 直接下载指定资源，优先级最高，会和其他关键资源抢带宽，所以只该给首屏必需的东西。",[15,377,379],{"id":378},"什么该-preload","什么该 preload",[11,381,382],{},"LCP 那张图。它是首屏最大的元素，提前下载能直接改善指标。",[11,384,385],{},"关键字体。字体藏在 CSS 里发现得晚，preload 能省一个来回，但要带 crossorigin。",[11,387,388],{},"关键 CSS，如果它放在外部文件里，可以 preload 之后切换成样式表。",[11,390,391],{},"我们通常控制在三个以内。超过三个，就要问一句：这些真的都是首屏必需的吗。",[15,393,394],{"id":394},"用错的三种情况",[11,396,397],{},"第一种，preload 了没用上的资源。Chrome 会在控制台警告“资源被预加载但未在几秒内使用”，看到这条警告就该删。",[11,399,400],{},"第二种，crossorigin 不匹配。字体 preload 不带 crossorigin，浏览器会当成另一个请求，等于下载两次，比不 preload 还慢。",[11,402,403],{},"第三种，给非首屏图片做 preload。用户在首屏根本看不到，提前下载纯属浪费。",[15,405,406],{"id":406},"怎么验证",[11,408,409],{},"DevTools 网络面板有一列优先级，看 preload 的资源是不是真的排在前面，有没有把 LCP 图挤下去。",[11,411,412],{},"再看瀑布图。preload 生效的话，关键资源的请求起点会提前到和 HTML 解析并行；没生效的话，它还是排在一堆请求后面。",[11,414,415],{},"最后对比改前改后两次的 LCP。没有改善就说明用错了，别留着。",[15,417,418],{"id":418},"一次真实的清理",[11,420,421],{},"2026 年 6 月我们查另一个站的 preload，九条里有六条是产品经理要求加的，理由是重要。",[11,423,424],{},"逐条看：两张大图不在首屏、一个统计脚本、一个客服组件、一个字体子集其实没用到、一个视频预加载了八兆。",[11,426,427],{},"删掉六条、保留三条之后，首屏 LCP 从 2.9 秒降到 2.4 秒。加的时候每个人都说重要，删的时候没人反对。",[15,429,430],{"id":430},"怎么跟团队解释",[11,432,433],{},"资源提示的效果很难用业务语言描述。我们的说法是：它只影响首屏的等待时间，不影响功能。",[11,435,436],{},"所以争议最小，改起来也安全。上线前测一次，有改善就留，没改善就删，不需要开会讨论。",[15,438,439],{"id":439},"一个判断",[11,441,442],{},"资源提示是微调工具，不是万能药。它能省一两百毫秒，前提是用对地方。",[11,444,445],{},"网络优化的顺序应该是：先砍掉不必要的资源，再优化关键路径，最后才用提示做微调。",[11,447,448],{},"顺序反过来，先加一堆 preload，只会让本来就拥挤的首屏更乱。",{"title":33,"searchDepth":48,"depth":48,"links":450},[451,452,453,454,455,456,457],{"id":366,"depth":48,"text":366},{"id":378,"depth":48,"text":379},{"id":394,"depth":48,"text":394},{"id":406,"depth":48,"text":406},{"id":418,"depth":48,"text":418},{"id":430,"depth":48,"text":430},{"id":439,"depth":48,"text":439},"2026-07-22","一个站 preload 了九个资源，只有三个真用上，首屏反而慢了两百毫秒。这篇写 preload、preconnect、dns-prefetch 各管什么，什么时候不该用。",{},"\u002Fblog\u002Fpreload-preconnect-misuse",{"title":358,"description":459},"blog\u002Fpreload-preconnect-misuse",[465,466,467],"preload","资源提示","首屏","FYfSwZ9RKnp5r0UiOJqEfvsEYM57zqA9y25fjjoFO5Q",1794088103605]