Seo entity linking
Audit and generate entity & knowledge-graph linkage for a page — verify sameAs identity links (Wikidata/Wikipedia/LinkedIn/Crunchbase/official profiles) on Organization/Person, check NAP/entity consistency for local, confirm a defined primary entity, and measure entity density, then propose ready-to-inject sameAs/about/mentions references. Module M6. Feeds the AI Visibility score.From its SKILL.md
npx -y skills add Hainrixz/claude-seo-ai --skill seo-entity-linkingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
3.7 KB, 844 tokens by cl100k_base, as published. Nobody here has run it
seo-entity-linking (M6)
Entity linkage tells search engines and AI systems which real-world thing a page is about and ties it to the Knowledge Graph. Reference: references/schema-tier1.md (the sameAs/@id/Person+Organization rules). This module owns the sameAs detail M5 defers here.
Audits
Working from the PageSnapshot (rendered_dom if present, else raw_html):
- sameAs identity links: for
Organization/Personentities, check forsameAs[]resolving to canonical identities — Wikidata QID, Wikipedia, LinkedIn, Crunchbase, official social/company profiles. Wikidata is the strongest Knowledge Graph target. - Primary entity defined: confirm exactly one clear primary entity per page (via
@id+mainEntity/mainEntityOfPage), not an ambiguous or missing subject. - Entity consistency (local): for
LocalBusiness, verify NAP (name, address, telephone) in schema matches visible on-page NAP and is internally consistent across blocks. - Entity density: count distinct linked/marked entities (
@idd nodes,sameAstargets,about/mentions) — flag thin pages with no resolvable entity references.
Fixes
- AUTO (
fixable: auto): inject asameAs[]array onOrganization/Personusing only user-confirmed URLs, and addabout/mentionsentity references to existing schema. Additive, deterministic diffs forfix. Never invent identity links — if a URL is unconfirmed, leave a clearly-markedTODOplaceholder the user fills. - PROPOSED (
fixable: proposed): a candidate Wikidata/LinkedIn match found by lookup — drafted for per-item human accept, never auto-written. - ADVISORY (
fixable: advisory): "establish a Wikidata entity / claim profiles" when none exist — guidance only, the tool writes nothing.
Verification
dom_assert: confirmsameAs/@id/mainEntitypresent and well-formed in the parsed JSON-LD.- Resolve each
sameAsURL (Tier 1 Wikidata lookup) to confirm it is live and refers to the asserted entity — a dead or mismatched link is a fail, not a pass. - When the live lookup tier is unavailable, status is
needs_api, never a falsepass.
Findings
Emit findings per schema/finding.schema.json. Examples:
M6.organization.missing_sameas—Organizationhas nosameAs[](statusfail, severity 4,fixable: proposed, axisai, confidencedirectional).M6.person.no_wikidata_link— authorPersonlacks a Wikidata/LinkedIn identity link (statuswarn, severity 2,fixable: proposed, axisai, confidencedirectional).M6.page.no_primary_entity— no single defined primary entity (@id/mainEntity) on the page (statuswarn, severity 4,fixable: advisory, axisai, confidencedirectional). Each finding:evidence.observedquotes the page (the entity block or its absence);verification.reproduceis a runnable assertion/lookup;expected_impactis banded + confidence-tagged (no naked %).
Honesty
- A
sameAslink does not force entry into the Knowledge Graph and produces no guaranteed ranking lift — it is a disambiguation signal, so impact isdirectional/ai, notestablished. - Never fabricate, guess, or "best-effort" an identity URL to inflate entity density — a wrong
sameAsactively misleads engines. Confirmed-only, or leave it as a TODO.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most quality gates skills give in 844 tokens
Counted across 1,524 of the 2,830 authors here whose files we hold, read 2026-09-06
- Read full output and check exit codein 45 of 1524, across 40 files
- Verify output confirms the claimin 44 of 1524, across 39 files
- Identify the command that proves the claimin 43 of 1524, across 39 files
- Execute the full verification commandin 36 of 1524, across 30 files
- Produce a verification reportin 34 of 1524, across 18 files
- Review git diff changesin 30 of 1524, across 16 files
- Fix build failures immediatelyin 29 of 1524, across 9 files
- Group findings by severityin 28 of 1524
- State claim only with evidencein 27 of 1524, across 22 files
- Verify regression tests with red-green cyclein 26 of 1524, across 22 files
- Run the full test suitein 26 of 1524, across 25 files
- Run test suite with coveragein 25 of 1524, across 10 files
Said here and by no other author read
- Verify sameAs identity links for Organization and Person
- Confirm exactly one primary entity per page
- Verify NAP consistency for LocalBusiness
- Count distinct linked or marked entities
- Inject sameAs arrays using only confirmed URLs
- Add about and mentions references to schema
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.