关于 seo-entity-linking
seo-entity-linking 是一项 SEO 审核技能,检查页面结构化数据中的实体身份链接、主要实体定义及本地商家信息一致性。它只使用用户确认的身份链接,避免猜测或伪造实体关系。
主要功能
- 01检查 Person 与 Organization 的 sameAs
- 02验证页面主要实体定义
- 03核对本地商家名称、地址和电话
- 04评估实体引用的完整度
- 05验证身份链接是否有效且匹配
适用场景
- 01为组织结构化数据补充已确认的身份链接
- 02发现页面缺少明确主要实体的问题
- 03核对本地商家标记与可见信息
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ hainrixz/ claude-seo-ai --skill seo-entity-linking安装后在 Claude Code 中输入/seo-entity-linking确认已加载。
详细介绍
seo-entity-linking (M6)
实体关联会告诉搜索引擎和 AI 系统,页面介绍的是哪个现实世界中的事物,并将其关联到知识图谱。参考:references/schema-tier1.md(sameAs/@id/Person+Organization 规则)。本模块负责 M5 延后到此处处理的 sameAs 细节。
输入
根据调度信封中指定的 PageSnapshot 开展工作:从 <run_dir>/pages/<slug>.json 读取 parsed(jsonld[]、anchors[]);在 pages/<slug>.html 中使用 Grep 查找逐字证据;站点资料位于 <run_dir>/site/{robots.json,sitemaps.json,discovery.json}。audit.mjs 已输出的确定性检查结果列在 <run_dir>/findings.deterministic.json 中——不要重复输出这些 ID;只添加由模型判定的检查结果。如果直接使用 URL/路径调用,且不存在快照,则先运行 node "${CLAUDE_PLUGIN_ROOT}/scripts/snapshot.mjs" <target> --out "${CLAUDE_PLUGIN_DATA}/runs",并使用打印出的快照路径。
审计
基于 PageSnapshot 开展工作(当 render.used 不为 none 时使用 parsed_rendered,否则使用 parsed):
- sameAs 身份链接:对于
Organization/Person实体,检查sameAs[]是否指向可解析的身份资料——Wikidata QID、Wikipedia、LinkedIn、Crunchbase、官方社交账号/公司资料。Wikidata 是最有力的知识图谱目标。 - 主要实体定义:确认每个页面恰好有一个明确的主要实体(通过
@id+mainEntity/mainEntityOfPage),不存在主体模糊或缺失的情况。 - 实体一致性(本地):对于
LocalBusiness,验证 schema 中的 NAP(名称、地址、电话)是否与页面上可见的 NAP 一致,并确保不同区块之间内容一致。 - 实体密度:统计不同的已关联/已标记实体(带
@id的节点、sameAs目标、about/mentions)——对于没有可解析实体引用的内容单薄页面发出标记。
修复
- AUTO(
fixable: auto):仅使用用户确认的 URL,为Organization/Person注入sameAs[]数组,并为现有 schema 添加about/mentions实体引用。为fix提供增量、确定性的差异。绝不虚构身份链接——如果 URL 未经确认,则留下清晰标记的TODO占位符,由用户填写。 - PROPOSED(
fixable: proposed):通过查找发现候选 Wikidata/LinkedIn 匹配项——拟定后由人工逐项接受,绝不自动写入。 - ADVISORY(
fixable: advisory):在不存在实体时提供“建立 Wikidata 实体 / 认领资料”的建议——仅提供指导,工具不会写入任何内容。
验证
dom_assert:确认解析后的 JSON-LD 中存在格式正确的sameAs/@id/mainEntity。- 解析每个
sameAsURL(Tier 1 Wikidata 查找),确认链接有效且指向所声明的实体——失效或不匹配的链接应判定为失败,而非通过。 - 当无法使用实时查找层时,状态应为
needs_api,绝不能错误地标记为pass。
发现
按照 schema/finding.schema.json 输出发现;轴为 ai;置信度始终为 directional——这些内容均未得到供应商文档证实。严重性策略:5 仅用于网站/模板层面具有灾难性、会导致失去资格的事实;4 为重大 · 3 为中等 · 2 为轻微 · 1 为表面 · 0 为信息性——且只有处于活跃类别中的 established 严重性 5 fail 才能限制评分(references/scoring-model.md)。
M6.organization.missing_sameas—Organization没有sameAs[](fail,严重性 3,fixable: proposed)。M6.page.no_primary_entity— 页面上没有单一且明确定义的主要实体(@id/mainEntity)(warn,严重性 3,fixable: advisory)。M6.entity.thin_density— 页面提到了真实组织、人物或产品,但标记中没有任何可解析的实体引用(warn,严重性 3,fixable: advisory)。M6.person.no_wikidata_link— 作者Person没有 Wikidata/LinkedIn 身份链接(warn,严重性 2,fixable: proposed)。M6.sameas.unresolvable— 声明的sameAsURL 返回 404,或指向不同实体(fail,严重性 3,fixable: proposed)。 每项发现:evidence.observed引用页面内容(实体块或其缺失情况);verification.reproduce是可运行的断言/查询;expected_impact按范围划分并标注置信度(不得只写百分比)。
诚信原则
sameAs链接不会强制实体进入知识图谱,也不保证排名提升——它只是消歧信号,因此影响始终为directional,绝不能标为established。- 绝不捏造、猜测或以“尽力而为”的方式填写身份 URL 来提高实体密度——错误的
sameAs会主动误导搜索引擎,其危害大于空数组。只使用已确认的信息,否则保留为TODO。 - 实体密度只是“此页面关于某个特定且可解析的事物”的代理指标,并非任何搜索引擎发布的指标;不要为了追求数值而盲目优化。