SEO / GEO
JSON-LD里@id和URL没对齐,AI把同一家店拆成两个实体,我对着日志核了一下午
106 0 39
上周巡检一个本地生活客户的站点,发现一个怪事:品牌名在AI回答里出现两次,一次带门店地址,一次不带,像是两家不同的店。我先查了收录,两边页面都正常抓取,不是索引问题。
于是我把页面源码拉下来,逐字比对JSON-LD。问题在@id和url两个字段:@id写的是https://example.com/store/sz-01,url写的是https://example.com/sz-01/。就差了/store这一层路径和结尾斜杠,AI侧实体识别直接判成两个实体。
我是这么验证的:
- 把两个URL分别丢给外部结构化数据测试工具,都能解析,但
@id指向的规范地址和url不一致时,工具只给warning,不报错——这就是容易被忽略的地方。 - 抓了同一批页面七天的AI回答日志,带地址和不带地址的引用分别落在两个不同的实体ID上,确认不是偶发。
- 改法:
@id和url强制用同一个规范URL,结尾斜杠统一去掉,@id再用#store片段锚定到具体门店,别让一个页面挂两个主键。
改完重新提交,等了一周。日志里两个实体ID合并成一个,带地址的引用占比从41%回到78%。顺带查了sameAs,发现客户把大众点评和地图的链接也写在了url里,这个必须挪走,url只能有一个主值。
另外提醒一句:@id不是随便填的,它是实体的主键。同一实体在站点内所有页面上,@id必须逐字一致,包括协议、域名、路径、结尾斜杠。差一个字符,AI就敢给你拆成两个。
想问下各位,你们在@id上一般用#fragment锚定实体,还是直接用页面URL做@id?两种做法在AI侧实体合并上有没有实测差异?
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
