mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-26 01:06:23 +02:00
feat: enhance SurfSense with new skills, blog section, and improve SEO metadata
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
- Added multiple new skills to skills-lock.json from the repository `aaron-he-zhu/seo-geo-claude-skills`. - Introduced `fuzzy-search` dependency in package.json for improved search functionality. - Updated pnpm-lock.yaml to include the new `fuzzy-search` package. - Enhanced SEO metadata across various pages, including canonical links and descriptions for better search visibility. - Improved layout and structure of several components, including the homepage and changelog, to enhance user experience.
This commit is contained in:
parent
61b3f0d7e3
commit
7ea840dbb2
120 changed files with 25729 additions and 352 deletions
376
.cursor/skills/entity-optimizer/SKILL.md
Normal file
376
.cursor/skills/entity-optimizer/SKILL.md
Normal file
|
|
@ -0,0 +1,376 @@
|
|||
---
|
||||
name: entity-optimizer
|
||||
description: 'Build entity presence in Knowledge Graph, Wikidata, AI systems for brand recognition and citations. 实体优化/知识图谱'
|
||||
version: "6.0.0"
|
||||
license: Apache-2.0
|
||||
compatibility: "Claude Code ≥1.0, skills.sh marketplace, ClawHub marketplace, Vercel Labs skills ecosystem. No system packages required. Optional: MCP network access for SEO tool integrations."
|
||||
homepage: "https://github.com/aaron-he-zhu/seo-geo-claude-skills"
|
||||
when_to_use: "Use when optimizing entity presence for Knowledge Graph, Wikidata, or AI engine disambiguation. Also for brand entity canonicalization."
|
||||
argument-hint: "<entity name or brand>"
|
||||
metadata:
|
||||
author: aaron-he-zhu
|
||||
version: "6.0.0"
|
||||
geo-relevance: "high"
|
||||
tags:
|
||||
- seo
|
||||
- geo
|
||||
- entity-optimization
|
||||
- knowledge-graph
|
||||
- knowledge-panel
|
||||
- brand-entity
|
||||
- wikidata
|
||||
- entity-disambiguation
|
||||
- 实体优化
|
||||
- エンティティ
|
||||
- 엔티티
|
||||
- entidad-seo
|
||||
triggers:
|
||||
# EN-formal
|
||||
- "optimize entity presence"
|
||||
- "build knowledge graph"
|
||||
- "improve knowledge panel"
|
||||
- "entity audit"
|
||||
- "establish brand entity"
|
||||
- "entity disambiguation"
|
||||
# EN-casual
|
||||
- "Google doesn't know my brand"
|
||||
- "no knowledge panel"
|
||||
- "establish my brand"
|
||||
- "establish my brand as an entity"
|
||||
- "get a Google knowledge card"
|
||||
- "no Wikipedia entry"
|
||||
# EN-question
|
||||
- "how to get a knowledge panel"
|
||||
- "how to build brand entity"
|
||||
# ZH-pro
|
||||
- "实体优化"
|
||||
- "知识图谱"
|
||||
- "品牌实体"
|
||||
- "知识面板"
|
||||
- "品牌词"
|
||||
- "品牌词优化"
|
||||
# ZH-casual
|
||||
- "品牌搜不到"
|
||||
- "没有知识面板"
|
||||
- "Google不认识我的品牌"
|
||||
# JA
|
||||
- "エンティティ最適化"
|
||||
- "ナレッジパネル"
|
||||
# KO
|
||||
- "엔티티 최적화"
|
||||
- "지식 패널"
|
||||
- "구글이 내 브랜드 모르는데?"
|
||||
- "지식 패널 만들려면?"
|
||||
# ES
|
||||
- "optimización de entidad"
|
||||
- "panel de conocimiento"
|
||||
# PT
|
||||
- "otimização de entidade"
|
||||
# Misspellings
|
||||
- "knowlege panel"
|
||||
- "enity optimization"
|
||||
---
|
||||
|
||||
# Entity Optimizer
|
||||
|
||||
|
||||
> **[SEO & GEO Skills Library](https://github.com/aaron-he-zhu/seo-geo-claude-skills)** · 20 skills for SEO + GEO · [ClawHub](https://clawhub.ai/u/aaron-he-zhu) · [skills.sh](https://skills.sh/aaron-he-zhu/seo-geo-claude-skills)
|
||||
> **System Mode**: This cross-cutting skill is part of the protocol layer and follows the shared [Skill Contract](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/skill-contract.md) and [State Model](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/state-model.md).
|
||||
|
||||
|
||||
Audits, builds, and maintains entity identity across search engines and AI systems. Entities — the people, organizations, products, and concepts that search engines and AI systems recognize as distinct things — are the foundation of how both Google and LLMs decide *what a brand is* and *whether to cite it*.
|
||||
|
||||
**Why entities matter for SEO + GEO:**
|
||||
|
||||
- **SEO**: Google's Knowledge Graph powers Knowledge Panels, rich results, and entity-based ranking signals. A well-defined entity earns SERP real estate.
|
||||
- **GEO**: AI systems resolve queries to entities before generating answers. If an AI cannot identify an entity, it cannot cite it — no matter how good the content is.
|
||||
|
||||
**System role**: Canonical Entity Profile. It acts as the source of truth for entity identity, associations, and disambiguation across the library.
|
||||
|
||||
## When This Must Trigger
|
||||
|
||||
Use this when brand or entity identity needs to be established or verified — even if the user doesn't use entity terminology:
|
||||
|
||||
- User says "Google doesn't know my brand" or "no knowledge panel"
|
||||
- Auto-recommended when `memory/entities/candidates.md` accumulates 3 or more uncanonized entity candidates from other skills
|
||||
- Establishing a new brand/person/product as a recognized entity
|
||||
- Auditing current entity presence across Knowledge Graph, Wikidata, and AI systems
|
||||
- Improving or correcting a Knowledge Panel
|
||||
- Building entity associations (entity ↔ topic, entity ↔ industry)
|
||||
- Resolving entity disambiguation issues (your entity confused with another)
|
||||
- Strengthening entity signals for AI citation
|
||||
- After launching a new brand, product, or organization
|
||||
- Preparing for a site migration (preserving entity identity)
|
||||
- Running periodic entity health checks
|
||||
|
||||
## What This Skill Does
|
||||
|
||||
1. **Entity Audit**: Evaluates current entity presence across search and AI systems
|
||||
2. **Knowledge Graph Analysis**: Checks Google Knowledge Graph, Wikidata, and Wikipedia status
|
||||
3. **AI Entity Resolution Test**: Queries AI systems to see how they identify and describe the entity
|
||||
4. **Entity Signal Mapping**: Identifies all signals that establish entity identity
|
||||
5. **Gap Analysis**: Finds missing or weak entity signals
|
||||
6. **Entity Building Plan**: Creates actionable plan to establish or strengthen entity presence
|
||||
7. **Disambiguation Strategy**: Resolves confusion with similarly-named entities
|
||||
|
||||
## Quick Start
|
||||
|
||||
Start with one of these prompts. Finish with a canonical entity profile and a handoff summary using the repository format in [Skill Contract](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/skill-contract.md).
|
||||
|
||||
### Entity Audit
|
||||
|
||||
```
|
||||
Audit entity presence for [brand/person/organization]
|
||||
```
|
||||
|
||||
```
|
||||
How well do search engines and AI systems recognize [entity name]?
|
||||
```
|
||||
|
||||
### Build Entity Presence
|
||||
|
||||
```
|
||||
Build entity presence for [new brand] in the [industry] space
|
||||
```
|
||||
|
||||
```
|
||||
Establish [person name] as a recognized expert in [topic]
|
||||
```
|
||||
|
||||
### Fix Entity Issues
|
||||
|
||||
```
|
||||
My Knowledge Panel shows incorrect information — fix entity signals for [entity]
|
||||
```
|
||||
|
||||
```
|
||||
AI systems confuse [my entity] with [other entity] — help me disambiguate
|
||||
```
|
||||
|
||||
## Skill Contract
|
||||
|
||||
**Expected output**: an entity audit, a canonical entity profile, and a short handoff summary ready for `memory/entities/`.
|
||||
|
||||
- **Reads**: the entity name, primary domain, known profiles, topic associations, and prior brand context from [CLAUDE.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/CLAUDE.md) and the shared [State Model](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/state-model.md) when available.
|
||||
- **Writes**: a user-facing entity report plus a reusable profile that can be stored under `memory/entities/`.
|
||||
- **Promotes**: canonical names, sameAs links, disambiguation notes, and entity gaps to `CLAUDE.md`, `memory/entities/`, and `memory/open-loops.md`.
|
||||
|
||||
This skill is the sole writer of canonical entity profiles at `memory/entities/<name>.md`. Other skills write entity candidates to `memory/entities/candidates.md` only. When 3+ candidates accumulate, this skill should be recommended.
|
||||
|
||||
- **Next handoff**: use the `Next Best Skill` below once the entity truth is clear.
|
||||
|
||||
## Data Sources
|
||||
|
||||
> See [CONNECTORS.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/CONNECTORS.md) for tool category placeholders.
|
||||
|
||||
**With ~~knowledge graph + ~~SEO tool + ~~AI monitor + ~~brand monitor connected:**
|
||||
Query Knowledge Graph API for entity status, pull branded search data from ~~SEO tool, test AI citation with ~~AI monitor, track brand mentions with ~~brand monitor.
|
||||
|
||||
**With manual data only:**
|
||||
Ask the user to provide:
|
||||
1. Entity name, type (Person, Organization, Brand, Product, Creative Work, Event)
|
||||
2. Primary website / domain
|
||||
3. Known existing profiles (Wikipedia, Wikidata, social media, industry directories)
|
||||
4. Top 3-5 topics/industries the entity should be associated with
|
||||
5. Any known disambiguation issues (other entities with same/similar name)
|
||||
|
||||
Without tools, Claude provides entity optimization strategy and recommendations based on information the user provides. The user must run search queries, check Knowledge Panels, and test AI responses to supply the raw data for analysis.
|
||||
|
||||
Proceed with the audit using public search results, AI query testing, and SERP analysis. Note which items require tool access for full evaluation.
|
||||
|
||||
## Instructions
|
||||
|
||||
When a user requests entity optimization:
|
||||
|
||||
### Step 1: Entity Discovery
|
||||
|
||||
Establish the entity's current state across all systems.
|
||||
|
||||
```markdown
|
||||
### Entity Profile
|
||||
|
||||
**Entity Name**: [name]
|
||||
**Entity Type**: [Person / Organization / Brand / Product / Creative Work / Event]
|
||||
**Primary Domain**: [URL]
|
||||
**Target Topics**: [topic 1, topic 2, topic 3]
|
||||
|
||||
#### Current Entity Presence
|
||||
|
||||
| Platform | Status | Details |
|
||||
|----------|--------|---------|
|
||||
| Google Knowledge Panel | ✅ Present / ❌ Absent / ⚠️ Incorrect | [details] |
|
||||
| Wikidata | ✅ Listed / ❌ Not listed | [QID if exists] |
|
||||
| Wikipedia | ✅ Article / ⚠️ Mentioned only / ❌ Absent | [notability assessment] |
|
||||
| Google Knowledge Graph API | ✅ Entity found / ❌ Not found | [entity ID, types, score] |
|
||||
| Schema.org on site | ✅ Complete / ⚠️ Partial / ❌ Missing | [Organization/Person/Product schema] |
|
||||
|
||||
#### AI Entity Resolution Test
|
||||
|
||||
**Note**: Claude cannot directly query other AI systems or perform real-time web searches without tool access. When running without ~~AI monitor or ~~knowledge graph tools, ask the user to run these test queries and report the results, or use the user-provided information to assess entity presence.
|
||||
|
||||
Test how AI systems identify this entity by querying:
|
||||
- "What is [entity name]?"
|
||||
- "Who founded [entity name]?" (for organizations)
|
||||
- "What does [entity name] do?"
|
||||
- "[entity name] vs [competitor]"
|
||||
|
||||
| AI System | Recognizes Entity? | Description Accuracy | Cites Entity's Content? |
|
||||
|-----------|-------------------|---------------------|------------------------|
|
||||
| ChatGPT | ✅ / ⚠️ / ❌ | [accuracy notes] | [yes/no/partially] |
|
||||
| Claude | ✅ / ⚠️ / ❌ | [accuracy notes] | [yes/no/partially] |
|
||||
| Perplexity | ✅ / ⚠️ / ❌ | [accuracy notes] | [yes/no/partially] |
|
||||
| Google AI Overview | ✅ / ⚠️ / ❌ | [accuracy notes] | [yes/no/partially] |
|
||||
```
|
||||
|
||||
### Step 2: Entity Signal Audit
|
||||
|
||||
Evaluate entity signals across 6 categories. For the detailed 47-signal checklist with verification methods, see [references/entity-signal-checklist.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/references/entity-signal-checklist.md).
|
||||
|
||||
Evaluate each signal as Pass / Fail / Partial with a specific action for each gap. The 6 categories are:
|
||||
|
||||
1. **Structured Data Signals** -- Organization/Person schema, sameAs links, @id consistency, author schema
|
||||
2. **Knowledge Base Signals** -- Wikidata, Wikipedia, CrunchBase, industry directories
|
||||
3. **Consistent NAP+E Signals** -- Name/description/logo/social consistency across platforms
|
||||
4. **Content-Based Entity Signals** -- About page, author pages, topical authority, branded backlinks
|
||||
5. **Third-Party Entity Signals** -- Authoritative mentions, co-citation, reviews, press coverage
|
||||
6. **AI-Specific Entity Signals** -- Clear definitions, disambiguation, verifiable claims, crawlability
|
||||
|
||||
> **Reference**: Use the audit template in [references/entity-signal-checklist.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/references/entity-signal-checklist.md) for the full 47-signal checklist with verification methods for each category.
|
||||
|
||||
### Step 3: Report & Action Plan
|
||||
|
||||
```markdown
|
||||
## Entity Optimization Report
|
||||
|
||||
### Overview
|
||||
|
||||
- **Entity**: [name]
|
||||
- **Entity Type**: [type]
|
||||
- **Audit Date**: [date]
|
||||
|
||||
### Signal Category Summary
|
||||
|
||||
| Category | Status | Key Findings |
|
||||
|----------|--------|-------------|
|
||||
| Structured Data | ✅ Strong / ⚠️ Gaps / ❌ Missing | [key findings] |
|
||||
| Knowledge Base | ✅ Strong / ⚠️ Gaps / ❌ Missing | [key findings] |
|
||||
| Consistency (NAP+E) | ✅ Strong / ⚠️ Gaps / ❌ Missing | [key findings] |
|
||||
| Content-Based | ✅ Strong / ⚠️ Gaps / ❌ Missing | [key findings] |
|
||||
| Third-Party | ✅ Strong / ⚠️ Gaps / ❌ Missing | [key findings] |
|
||||
| AI-Specific | ✅ Strong / ⚠️ Gaps / ❌ Missing | [key findings] |
|
||||
|
||||
### Critical Issues
|
||||
|
||||
[List any issues that severely impact entity recognition — disambiguation problems, incorrect Knowledge Panel, missing from Knowledge Graph entirely]
|
||||
|
||||
### Top 5 Priority Actions
|
||||
|
||||
Sorted by: impact on entity recognition × effort required
|
||||
|
||||
1. **[Signal]** — [specific action]
|
||||
- Impact: [High/Medium] | Effort: [Low/Medium/High]
|
||||
- Why: [explanation of how this improves entity recognition]
|
||||
|
||||
2. **[Signal]** — [specific action]
|
||||
- Impact: [High/Medium] | Effort: [Low/Medium/High]
|
||||
- Why: [explanation]
|
||||
|
||||
3–5. [Same format]
|
||||
|
||||
### Entity Building Roadmap
|
||||
|
||||
#### Week 1-2: Foundation (Structured Data + Consistency)
|
||||
- [ ] Implement/fix Organization or Person schema with full properties
|
||||
- [ ] Add sameAs links to all authoritative profiles
|
||||
- [ ] Audit and fix NAP+E consistency across all platforms
|
||||
- [ ] Ensure About page is entity-rich and well-structured
|
||||
|
||||
#### Month 1: Knowledge Bases
|
||||
- [ ] Create or update Wikidata entry with complete properties
|
||||
- [ ] Ensure CrunchBase / industry directory profiles are complete
|
||||
- [ ] Build Wikipedia notability (or plan path to notability)
|
||||
- [ ] Submit to relevant authoritative directories
|
||||
|
||||
#### Month 2-3: Authority Building
|
||||
- [ ] Secure mentions on authoritative industry sites
|
||||
- [ ] Build co-citation signals with established entities
|
||||
- [ ] Create topical content clusters that reinforce entity-topic associations
|
||||
- [ ] Pursue PR opportunities that generate entity mentions
|
||||
|
||||
#### Ongoing: AI-Specific Optimization
|
||||
- [ ] Test AI entity resolution quarterly
|
||||
- [ ] Update factual claims to remain current and verifiable
|
||||
- [ ] Monitor AI systems for incorrect entity information
|
||||
- [ ] Ensure new content reinforces entity identity signals
|
||||
|
||||
### Cross-Reference
|
||||
|
||||
- **CORE-EEAT relevance**: Items A07 (Knowledge Graph Presence) and A08 (Entity Consistency) directly overlap — entity optimization strengthens Authority dimension
|
||||
- **CITE relevance**: CITE I01-I10 (Identity dimension) measures entity signals at domain level — entity optimization feeds these scores
|
||||
- For content-level audit: `content-quality-auditor`
|
||||
- For domain-level audit: `domain-authority-auditor`
|
||||
```
|
||||
|
||||
### Save Results
|
||||
|
||||
After delivering findings to the user, ask:
|
||||
|
||||
> "Save these results for future sessions?"
|
||||
|
||||
If yes, write a dated summary to the appropriate `memory/` path using filename `YYYY-MM-DD-<topic>.md` containing:
|
||||
- One-line verdict or headline finding
|
||||
- Top 3-5 actionable items
|
||||
- Open loops or blockers
|
||||
- Source data references
|
||||
|
||||
If any veto-level issue was found (CORE-EEAT T04, C01, R10 or CITE T03, T05, T09), also append a one-liner to `memory/hot-cache.md` without asking.
|
||||
|
||||
## Validation Checkpoints
|
||||
|
||||
### Input Validation
|
||||
- [ ] Entity name and type identified
|
||||
- [ ] Primary domain/website confirmed
|
||||
- [ ] Target topics/industries specified
|
||||
- [ ] Disambiguation context provided (if entity name is common)
|
||||
|
||||
### Output Validation
|
||||
- [ ] All 6 signal categories evaluated
|
||||
- [ ] AI entity resolution tested with at least 3 queries
|
||||
- [ ] Knowledge Panel status checked
|
||||
- [ ] Wikidata/Wikipedia status verified
|
||||
- [ ] Schema.org markup on primary site audited
|
||||
- [ ] Every recommendation is specific and actionable
|
||||
- [ ] Roadmap includes concrete steps with timeframes
|
||||
- [ ] Cross-reference with CORE-EEAT A07/A08 and CITE I01-I10 noted
|
||||
|
||||
## Example
|
||||
|
||||
> **Reference**: See [references/example-audit-report.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/references/example-audit-report.md) for a complete example entity audit report for a B2B SaaS company (CloudMetrics), including AI entity resolution test results, entity health summary, top 3 priority actions, and CORE-EEAT/CITE cross-references.
|
||||
|
||||
## Tips for Success
|
||||
|
||||
1. **Start with Wikidata** — It's the single most influential editable knowledge base; a complete Wikidata entry with references often triggers Knowledge Panel creation within weeks
|
||||
2. **sameAs is your most powerful Schema.org property** — It directly tells search engines "I am this entity in the Knowledge Graph"; always include Wikidata URL first
|
||||
3. **Test AI recognition before and after** — Query ChatGPT, Claude, Perplexity, and Google AI Overview before optimizing, then again after; this is the most direct GEO metric
|
||||
4. **Entity signals compound** — Unlike content SEO, entity signals from different sources reinforce each other; 5 weak signals together are stronger than 1 strong signal alone
|
||||
5. **Consistency beats completeness** — A consistent entity name and description across 10 platforms beats a perfect profile on just 2
|
||||
6. **Don't neglect disambiguation** — If your entity name is shared with anything else, disambiguation is the first priority; all other signals are wasted if they're attributed to the wrong entity
|
||||
7. **Pair with CITE I-dimension for domain context** — Entity audit tells you how well the entity is recognized; CITE Identity (I01-I10) tells you how well the domain represents that entity; use both together
|
||||
|
||||
## Entity Type Reference
|
||||
|
||||
> **Reference**: See [references/entity-type-reference.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/references/entity-type-reference.md) for entity types with key signals, schemas, and disambiguation strategies by situation.
|
||||
|
||||
## Knowledge Panel & Wikidata Optimization
|
||||
|
||||
> **Reference**: See [references/knowledge-panel-wikidata-guide.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/references/knowledge-panel-wikidata-guide.md) for Knowledge Panel claiming/editing, common issues and fixes, Wikidata entry creation, key properties by entity type, and AI entity resolution optimization.
|
||||
|
||||
## Reference Materials
|
||||
|
||||
Detailed guides for entity optimization:
|
||||
- [references/entity-signal-checklist.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/references/entity-signal-checklist.md) — Complete signal checklist with verification methods
|
||||
- [references/knowledge-graph-guide.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/references/knowledge-graph-guide.md) — Wikidata, Wikipedia, and Knowledge Graph optimization playbook
|
||||
|
||||
## Next Best Skill
|
||||
|
||||
- **Primary**: [schema-markup-generator](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/build/schema-markup-generator/SKILL.md) — turn entity truth into machine-readable implementation.
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
# Entity Signal Checklist
|
||||
|
||||
> Part of [entity-optimizer](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/SKILL.md). See also: [knowledge-graph-guide.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/references/knowledge-graph-guide.md)
|
||||
|
||||
Complete checklist of entity signals organized by priority and verification method. Use this as a systematic audit guide — work through each signal, verify its status, and note actions needed.
|
||||
|
||||
## Priority 1: Foundation Signals (Must-Have)
|
||||
|
||||
These signals form the minimum viable entity identity. Without them, search engines and AI systems cannot reliably identify the entity.
|
||||
|
||||
### On-Site Structured Data
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 1 | Organization or Person schema on homepage | Run Google Rich Results Test on homepage | Schema present with name, url, logo, description |
|
||||
| 2 | sameAs property links to all authoritative profiles | Inspect schema markup | Links to Wikipedia, Wikidata, LinkedIn, social profiles |
|
||||
| 3 | Consistent @id used across all pages | Inspect schema on 5+ pages | Same @id (typically homepage URL + #organization) on every page |
|
||||
| 4 | About page exists with entity-rich content | Manual review | First paragraph defines entity clearly; includes founding date, key people, mission |
|
||||
| 5 | Contact page with verifiable information | Manual review | Physical address, phone, email — matches other directory listings |
|
||||
|
||||
### Key External Profiles
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 6 | Wikidata entry exists | Search wikidata.org | Entry with label, description, key properties, and references |
|
||||
| 7 | Google Business Profile (if applicable) | Search "[entity] Google Business" | Claimed, verified, complete profile |
|
||||
| 8 | LinkedIn company/person page | Search LinkedIn | Complete profile matching entity name and description |
|
||||
| 9 | CrunchBase profile (for companies/products) | Search crunchbase.com | Entry with description, founding info, key people |
|
||||
| 10 | Primary industry directory listing | Search top 3 industry directories | Listed with correct entity information |
|
||||
|
||||
### Branded Search Presence
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 11 | Branded search returns correct entity | Google "[entity name]" | Entity's website is #1; Knowledge Panel appears or SERP clearly identifies entity |
|
||||
| 12 | No disambiguation confusion | Google "[entity name]" | No other prominent entity dominates results for the same name |
|
||||
| 13 | Branded search volume exists | Check ~~SEO tool | Measurable branded search volume (any amount > 0) |
|
||||
|
||||
## Priority 2: Authority Signals (Should-Have)
|
||||
|
||||
These signals establish the entity as recognized and authoritative. They separate a "registered entity" from a "known entity."
|
||||
|
||||
### Knowledge Graph Depth
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 14 | Google Knowledge Panel present | Google "[entity name]" | Knowledge Panel displayed with correct information |
|
||||
| 15 | Knowledge Panel attributes complete | Review Knowledge Panel | Key attributes filled (founded, CEO, location, industry, etc.) |
|
||||
| 16 | Knowledge Panel image correct | Review Knowledge Panel | Preferred image displayed |
|
||||
| 17 | Wikipedia article (or strong notability path) | Search Wikipedia | Article exists, or entity has 3+ independent reliable sources for future article |
|
||||
| 18 | Wikidata properties complete | Review Wikidata entry | 10+ properties with references |
|
||||
|
||||
### Third-Party Validation
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 19 | Authoritative media mentions | Google News search for entity | 3+ mentions in recognized publications |
|
||||
| 20 | Industry awards or recognitions | Search "[entity] award" | At least 1 verifiable award or recognition |
|
||||
| 21 | Co-citation with established entities | Search for entity alongside competitors | Appears in "X vs Y" comparisons, listicles, or industry roundups |
|
||||
| 22 | Speaking engagements or publications | Search event/conference sites | Appears as speaker, author, or contributor |
|
||||
| 23 | Reviews on third-party platforms | Check G2, Trustpilot, Yelp, etc. | Reviews exist with reasonable volume and rating |
|
||||
|
||||
### Content Authority
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 24 | Topical content depth in target areas | Site search for target topics | 10+ pages covering target topics in depth |
|
||||
| 25 | Author pages with credentials | Review author pages | Author schema, credentials, sameAs to external profiles |
|
||||
| 26 | Original research or data published | Review content | At least 1 piece of original data/research cited by others |
|
||||
| 27 | Entity mentioned in own content naturally | Search site for entity name | Entity name appears contextually (not just in header/footer) |
|
||||
|
||||
## Priority 3: AI-Specific Signals (Must-Have for GEO)
|
||||
|
||||
These signals specifically help AI systems recognize, understand, and cite the entity.
|
||||
|
||||
### AI Recognition
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 28 | ChatGPT recognizes entity | Ask "What is [entity]?" | Correct description returned |
|
||||
| 29 | Perplexity recognizes entity | Ask "What is [entity]?" | Correct description with source citations |
|
||||
| 30 | Google AI Overview mentions entity | Search branded + topical queries | Entity appears in AI-generated overview |
|
||||
| 31 | AI description is accurate | Compare AI output to entity's self-description | No factual errors in AI's response |
|
||||
| 32 | AI associates entity with correct topics | Ask "[entity] expertise areas" | Correct topic associations returned |
|
||||
|
||||
### AI Optimization
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 33 | Entity definition quotable in first paragraph | Review About page and key pages | Clear, factual, self-contained definition suitable for AI quotation |
|
||||
| 34 | Factual claims are verifiable | Cross-reference claims with external sources | All claims about entity can be verified via third-party sources |
|
||||
| 35 | Entity name used consistently | Audit all platforms | Identical name format everywhere (no abbreviations in some places, full name in others) |
|
||||
| 36 | Content is crawlable by AI systems | Check robots.txt for AI bot access | Not blocking GPTBot, ClaudeBot, or other AI crawlers (unless intentional) |
|
||||
| 37 | Fresh information available | Check update dates | Key entity pages updated within last 6 months |
|
||||
|
||||
## Priority 4: Advanced Signals (Nice-to-Have)
|
||||
|
||||
These signals provide marginal gains but demonstrate thoroughness and maturity.
|
||||
|
||||
### Extended Knowledge Base Presence
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 38 | Multiple language entries in Wikidata | Check Wikidata labels | Labels and descriptions in languages matching target markets |
|
||||
| 39 | DBpedia entry | Search dbpedia.org | Entry exists (auto-generated from Wikipedia) |
|
||||
| 40 | Google Knowledge Graph ID known | Search Google Knowledge Graph API | Entity has a kg: identifier |
|
||||
| 41 | ISNI or VIAF identifier (for persons) | Search isni.org or viaf.org | Identifier exists and links correctly |
|
||||
|
||||
### Social Entity Signals
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 42 | Social profiles bidirectionally linked | Check website links to social AND social links to website | Both directions verified on all platforms |
|
||||
| 43 | Consistent entity description across social | Compare bios on all platforms | Same core description, adapted for platform length limits |
|
||||
| 44 | Social engagement demonstrates real audience | Review engagement metrics | Engagement patterns consistent with genuine audience (not bot-like) |
|
||||
|
||||
### Technical Entity Signals
|
||||
|
||||
| # | Signal | Verification Method | Pass Criteria |
|
||||
|---|--------|-------------------|---------------|
|
||||
| 45 | Entity homepage has strong backlink profile | Check ~~link database | Homepage DR/DA above industry median |
|
||||
| 46 | Branded anchor text in backlinks | Analyze anchor text distribution | Entity name appears naturally in inbound link anchor text |
|
||||
| 47 | Entity subdomain consistency | Check all subdomains | Same entity schema and branding across all subdomains |
|
||||
|
||||
## How to Use This Checklist
|
||||
|
||||
Work through signals by priority tier. For each signal, mark status as ✅ (present and correct), ⚠️ (present but incomplete), or ❌ (absent). Focus on completing each priority tier before moving to the next.
|
||||
|
||||
### Priority Action Matrix
|
||||
|
||||
| Current State | Focus Area | Expected Timeline |
|
||||
|--------------|-----------|-------------------|
|
||||
| Most Priority 1 signals ❌ | Priority 1 foundation signals only | 2-4 weeks |
|
||||
| Priority 1 mostly ✅, Priority 2 mixed | Priority 2 authority signals | 1-2 months |
|
||||
| Priority 1-2 mostly ✅ | Priority 3 AI-specific signals | 2-3 months |
|
||||
| Priority 1-3 mostly ✅ | Selective Priority 4 for completeness | Ongoing |
|
||||
| All tiers mostly ✅ | Maintenance + quarterly re-audit | Quarterly review |
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# Entity Type Reference
|
||||
|
||||
Reference tables for entity types, key signals, and disambiguation strategies.
|
||||
|
||||
## Entity Types and Key Signals
|
||||
|
||||
| Entity Type | Primary Signals | Secondary Signals | Key Schema |
|
||||
|-------------|----------------|-------------------|------------|
|
||||
| **Person** | Author pages, social profiles, publication history | Speaking, awards, media mentions | Person, ProfilePage |
|
||||
| **Organization** | Registration records, Wikidata, industry listings | Press coverage, partnerships, awards | Organization, Corporation |
|
||||
| **Brand** | Trademark, branded search volume, social presence | Reviews, brand mentions, visual identity | Brand, Organization |
|
||||
| **Product** | Product pages, reviews, comparison mentions | Awards, expert endorsements, market share | Product, SoftwareApplication |
|
||||
| **Creative Work** | Publication record, citations, reviews | Awards, adaptations, cultural impact | CreativeWork, Book, Movie |
|
||||
| **Event** | Event listings, press coverage, social buzz | Sponsorships, speaker profiles, attendance | Event |
|
||||
|
||||
## Disambiguation Strategy by Situation
|
||||
|
||||
| Situation | Strategy |
|
||||
|-----------|----------|
|
||||
| **Common name, unique entity** | Strengthen all signals; let signal volume resolve ambiguity |
|
||||
| **Name collision with larger entity** | Add qualifier consistently (e.g., "Acme Software" not just "Acme"); use sameAs extensively; build topic-specific authority that differentiates |
|
||||
| **Name collision with similar entity** | Geographic, industry, or product qualifiers; ensure Schema @id is unique and consistent; prioritize Wikidata disambiguation |
|
||||
| **Abbreviation/acronym conflict** | Prefer full name in structured data; use abbreviation only in contexts where entity is already established |
|
||||
| **Merged or renamed entity** | Redirect old entity signals; update all structured data; create explicit "formerly known as" content; update Wikidata |
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
# Example: Entity Optimization Report
|
||||
|
||||
Full example output for an entity audit request.
|
||||
|
||||
**User**: "Audit entity presence for CloudMetrics, our B2B SaaS analytics platform at cloudmetrics.io"
|
||||
|
||||
**Output**:
|
||||
|
||||
```markdown
|
||||
## Entity Optimization Report
|
||||
|
||||
### Entity Profile
|
||||
|
||||
**Entity Name**: CloudMetrics
|
||||
**Entity Type**: Organization (B2B SaaS)
|
||||
**Primary Domain**: cloudmetrics.io
|
||||
**Target Topics**: analytics platform, business intelligence, enterprise analytics
|
||||
|
||||
### AI Entity Resolution Test
|
||||
|
||||
Queries tested with results reported by user:
|
||||
|
||||
| Query | Result | Assessment |
|
||||
|-------|--------|------------|
|
||||
| "What is CloudMetrics?" | Described as "an analytics tool" with no further detail | Partial recognition -- generic description, no mention of B2B focus or key features |
|
||||
| "Best analytics platforms for enterprises" | CloudMetrics not mentioned in any AI response | Not recognized as a player in the enterprise analytics space |
|
||||
| "CloudMetrics vs Datadog" | Correctly identified as a competitor to Datadog, but feature comparison was incomplete and partially inaccurate | Partial -- entity is associated with the right category but attributes are thin |
|
||||
| "Who founded CloudMetrics?" | No answer found by any AI system tested | Entity leadership not present in AI knowledge bases |
|
||||
|
||||
### Entity Health Summary
|
||||
|
||||
| Signal Category | Status | Key Findings |
|
||||
|-----------------|--------|--------------|
|
||||
| Knowledge Graph | Missing | No Wikidata entry exists; no Google Knowledge Panel triggers for branded queries |
|
||||
| Structured Data | Partial | Organization schema present on homepage with name, url, and logo; missing Person schema for CEO and leadership team; no sameAs links to external profiles |
|
||||
| Web Presence | Strong | Consistent NAP across LinkedIn, Twitter/X, G2, and Crunchbase; social profiles link back to cloudmetrics.io; branded search returns owned properties in top 5 |
|
||||
| Content-Based | Partial | About page exists but opens with marketing copy rather than an entity-defining statement; no dedicated author pages for leadership |
|
||||
| Third-Party | Partial | Listed on G2 and Crunchbase; 2 industry publication mentions found; no awards or analyst coverage |
|
||||
| AI-Specific | Weak | AI systems have only surface-level awareness; entity definition is not quotable from any authoritative source |
|
||||
|
||||
### Top 3 Priority Actions
|
||||
|
||||
1. **Create Wikidata entry** with key properties: instance of (P31: business intelligence software company), official website (P856: cloudmetrics.io), inception (P571), country (P17)
|
||||
- Impact: High | Effort: Low
|
||||
- Why: Wikidata is the foundational knowledge base that feeds Google Knowledge Graph, Bing, and AI training pipelines; without it, the entity cannot be formally resolved
|
||||
|
||||
2. **Add Person schema for leadership team** on the About/Team page, including name, jobTitle, sameAs links to LinkedIn profiles, and worksFor pointing to the Organization entity
|
||||
- Impact: High | Effort: Low
|
||||
- Why: Addresses the "Who founded CloudMetrics?" gap directly; Person schema for key people creates bidirectional entity associations that strengthen organizational identity
|
||||
|
||||
3. **Build Wikipedia notability through independent press coverage** -- target 3-5 articles in industry publications (TechCrunch, VentureBeat, Analytics India Magazine) that mention CloudMetrics by name with verifiable claims
|
||||
- Impact: High | Effort: High
|
||||
- Why: Wikipedia notability requires coverage in independent reliable sources; press mentions simultaneously feed AI training data, build third-party entity signals, and create the citation foundation for a future Wikipedia article
|
||||
|
||||
### Cross-Reference
|
||||
|
||||
- **CORE-EEAT**: A07 (Knowledge Graph Presence) scored Fail, A08 (Entity Consistency) scored Pass -- entity optimization should focus on knowledge base gaps rather than consistency
|
||||
- **CITE**: I-dimension weakest area is I01 (Knowledge Graph Presence) -- completing Wikidata entry and earning Knowledge Panel directly improves domain identity score
|
||||
```
|
||||
|
|
@ -0,0 +1,399 @@
|
|||
# Knowledge Graph Optimization Guide
|
||||
|
||||
> Part of [entity-optimizer](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/SKILL.md). See also: [entity-signal-checklist.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/entity-optimizer/references/entity-signal-checklist.md)
|
||||
|
||||
Comprehensive playbook for establishing and maintaining entity presence across Google Knowledge Graph, Wikidata, Wikipedia, and other knowledge bases.
|
||||
|
||||
## How Knowledge Graphs Work
|
||||
|
||||
### The Entity Web
|
||||
|
||||
Knowledge graphs are interconnected databases of entities and their relationships. Search engines and AI systems use them as ground truth for entity understanding.
|
||||
|
||||
```
|
||||
Your Entity
|
||||
├── is described by → Wikidata entry
|
||||
├── is described by → Wikipedia article
|
||||
├── is described by → Schema.org markup on your site
|
||||
├── is linked to → Social profiles (LinkedIn, X, etc.)
|
||||
├── is mentioned by → News articles, industry sites
|
||||
├── is associated with → Topics, industries, other entities
|
||||
└── is recognized by → Google Knowledge Graph, Bing Satori, AI training data
|
||||
```
|
||||
|
||||
### Which Knowledge Graphs Matter
|
||||
|
||||
| Knowledge Graph | Who Uses It | Impact |
|
||||
|----------------|-------------|--------|
|
||||
| **Google Knowledge Graph** | Google Search, Google AI | Powers Knowledge Panels, rich results, entity understanding in search |
|
||||
| **Wikidata** | Google, Bing, Apple, Amazon, AI systems | Open data feeds multiple knowledge graphs; primary structured data source |
|
||||
| **Wikipedia** | Google, all AI systems | Training data for every major LLM; Knowledge Panel descriptions often sourced here |
|
||||
| **Bing Satori** | Bing, Copilot | Powers Bing's entity understanding and Microsoft Copilot |
|
||||
| **Schema.org (your site)** | All search engines, AI crawlers | First-party structured data you control directly |
|
||||
| **DBpedia** | Research, some AI systems | Auto-extracted from Wikipedia; relevant for academic/research entities |
|
||||
|
||||
### Data Flow
|
||||
|
||||
```
|
||||
Your Website (Schema.org) ─┐
|
||||
Wikidata ──────────────────┤
|
||||
Wikipedia ─────────────────┼──→ Google Knowledge Graph ──→ Knowledge Panel
|
||||
Industry Directories ──────┤ AI Search Results
|
||||
News/Media Mentions ───────┤ Rich Results
|
||||
Social Profiles ───────────┘
|
||||
```
|
||||
|
||||
Understanding this flow is key: you influence the Knowledge Graph by controlling the **source signals** that feed it.
|
||||
|
||||
## Google Knowledge Graph
|
||||
|
||||
### Getting Into the Knowledge Graph
|
||||
|
||||
There is no "submit to Knowledge Graph" form. Google builds its Knowledge Graph from multiple sources. To get included:
|
||||
|
||||
1. **Have a Wikidata entry** — This is the most direct path
|
||||
2. **Earn a Wikipedia article** — Strongest single signal
|
||||
3. **Implement Schema.org markup** — Provides structured self-description
|
||||
4. **Get mentioned on authoritative sites** — Third-party validation
|
||||
5. **Build branded search demand** — Signals that users look for your entity
|
||||
|
||||
### Checking Your Knowledge Graph Status
|
||||
|
||||
**Method 1: Google Search**
|
||||
Search for your entity name in quotes. If a Knowledge Panel appears on the right, you're in the Knowledge Graph.
|
||||
|
||||
**Method 2: Knowledge Graph API**
|
||||
```
|
||||
GET https://kgsearch.googleapis.com/v1/entities:search?query=[entity]&key=[API_KEY]
|
||||
```
|
||||
|
||||
Response includes:
|
||||
- `@id`: Your Knowledge Graph ID (e.g., `kg:/m/0wrt4g`)
|
||||
- `name`: Entity name as Google understands it
|
||||
- `description`: Short entity description
|
||||
- `detailedDescription`: Longer description (usually from Wikipedia)
|
||||
- `resultScore`: Confidence score (higher = more established entity)
|
||||
|
||||
**Method 3: ~~knowledge graph**
|
||||
If connected, query directly for entity status and attributes.
|
||||
|
||||
### Claiming Your Knowledge Panel
|
||||
|
||||
1. Search for your entity on Google
|
||||
2. If Knowledge Panel appears, look for "Claim this knowledge panel" link at bottom
|
||||
3. Verify via official website, Search Console, YouTube, or other Google property
|
||||
4. Once claimed, you can suggest edits (but Google has final say)
|
||||
|
||||
### Common Knowledge Panel Fixes
|
||||
|
||||
| Problem | Solution |
|
||||
|---------|----------|
|
||||
| **No Knowledge Panel** | Build Wikidata entry + Schema.org + authoritative mentions. Timeline: 2-6 months. |
|
||||
| **Wrong image** | Update preferred image on: Wikidata (P18), About page, social profiles. Claim panel and suggest preferred image. |
|
||||
| **Wrong description** | Edit Wikidata description. Update first paragraph of About page and Wikipedia article. |
|
||||
| **Missing attributes** | Add properties to Wikidata and Schema.org. Claim panel and suggest additions. |
|
||||
| **Outdated information** | Update Wikidata, About page, Wikipedia, and social profiles. Request refresh via claimed panel. |
|
||||
| **Wrong entity shown** | Disambiguation needed. See Wikidata section below for disambiguation strategy. |
|
||||
|
||||
## Wikidata
|
||||
|
||||
### Why Wikidata Is Critical
|
||||
|
||||
Wikidata is the **single most influential editable knowledge base** for entity optimization:
|
||||
- Google uses it as a primary source for Knowledge Panels
|
||||
- Bing uses it for Satori knowledge graph
|
||||
- AI systems reference it during entity resolution
|
||||
- It's open and you can edit it (within their guidelines)
|
||||
|
||||
### Creating a Wikidata Entry
|
||||
|
||||
#### Step 1: Check Eligibility
|
||||
|
||||
Wikidata requires "notability" — the entity must be referenced in at least one external source. Unlike Wikipedia, the notability bar is lower: a company mentioned in a news article, a product with reviews, or a person with published work typically qualifies.
|
||||
|
||||
#### Step 2: Create the Item
|
||||
|
||||
1. Go to https://www.wikidata.org/wiki/Special:NewItem
|
||||
2. Fill in:
|
||||
- **Label**: Official entity name
|
||||
- **Description**: Short description (e.g., "American software company" or "SEO optimization tool")
|
||||
- **Aliases**: Alternative names, abbreviations, former names
|
||||
|
||||
#### Step 3: Add Core Statements
|
||||
|
||||
Essential properties for each entity type:
|
||||
|
||||
**Organizations:**
|
||||
| Property | Code | Example |
|
||||
|----------|------|---------|
|
||||
| instance of | P31 | business (Q4830453) or specific type |
|
||||
| official website | P856 | https://example.com |
|
||||
| inception | P571 | 2020-01-15 |
|
||||
| country | P17 | United States (Q30) |
|
||||
| headquarters location | P159 | San Francisco (Q62) |
|
||||
| industry | P452 | software industry (Q638608) |
|
||||
| founded by | P112 | [founder's Wikidata item] |
|
||||
| CEO | P169 | [CEO's Wikidata item] |
|
||||
|
||||
**Persons:**
|
||||
| Property | Code | Example |
|
||||
|----------|------|---------|
|
||||
| instance of | P31 | human (Q5) |
|
||||
| occupation | P106 | software engineer (Q183888) |
|
||||
| employer | P108 | [company Wikidata item] |
|
||||
| educated at | P69 | [university Wikidata item] |
|
||||
| country of citizenship | P27 | [country item] |
|
||||
| official website | P856 | https://example.com |
|
||||
|
||||
**Products/Software:**
|
||||
| Property | Code | Example |
|
||||
|----------|------|---------|
|
||||
| instance of | P31 | software (Q7397) or web application (Q189210) |
|
||||
| developer | P178 | [company Wikidata item] |
|
||||
| official website | P856 | https://example.com |
|
||||
| programming language | P277 | Python (Q28865) |
|
||||
| operating system | P306 | Linux (Q388) |
|
||||
| software license | P275 | Apache-2.0 (Q13785927) |
|
||||
| inception | P571 | 2023-06-01 |
|
||||
|
||||
#### Step 4: Add External Identifiers
|
||||
|
||||
These link your Wikidata item to other knowledge bases:
|
||||
|
||||
| Identifier | Code | Purpose |
|
||||
|-----------|------|---------|
|
||||
| official website | P856 | Primary web presence |
|
||||
| X (Twitter) username | P2002 | Social presence |
|
||||
| LinkedIn organization ID | P4264 | Professional presence |
|
||||
| GitHub username | P2037 | Technical presence |
|
||||
| CrunchBase ID | P2087 | Business data |
|
||||
| Google Knowledge Graph ID | P2671 | Google entity link |
|
||||
| App Store ID | P3861 | Mobile presence |
|
||||
|
||||
#### Step 5: Add References
|
||||
|
||||
**Every statement must have a reference.** Unreferenced statements may be removed.
|
||||
|
||||
Good reference sources:
|
||||
- Official website (for factual claims like founding date)
|
||||
- News articles (for events, milestones)
|
||||
- Industry reports (for market position)
|
||||
- Government registries (for legal entity information)
|
||||
|
||||
### Wikidata Maintenance
|
||||
|
||||
| Task | Frequency | Why |
|
||||
|------|-----------|-----|
|
||||
| Review existing statements | Quarterly | Ensure accuracy; update changed information |
|
||||
| Add new properties | When new information available | Keep entry comprehensive |
|
||||
| Check for vandalism | Monthly | Others can edit your entry |
|
||||
| Add new references | When new coverage appears | Strengthen statement credibility |
|
||||
| Update identifiers | When new profiles created | Keep links current |
|
||||
|
||||
## Wikipedia
|
||||
|
||||
### Notability Requirements
|
||||
|
||||
Wikipedia requires entities to meet "general notability guidelines" (GNG):
|
||||
- **Significant coverage** in **reliable, independent sources**
|
||||
- Coverage must be **non-trivial** (not just a mention or directory listing)
|
||||
- Sources must be **independent** of the entity (not press releases, not entity's own content)
|
||||
|
||||
### Building Toward Notability
|
||||
|
||||
If the entity doesn't have a Wikipedia article yet:
|
||||
|
||||
1. **Audit existing coverage**: Search Google News, academic databases, and industry publications for mentions
|
||||
2. **Identify gaps**: What kinds of coverage are missing?
|
||||
3. **Build coverage first, then article**: The article is the last step, not the first
|
||||
|
||||
Coverage-building strategies:
|
||||
| Strategy | Timeline | Notability Impact |
|
||||
|----------|----------|-------------------|
|
||||
| Industry report mentions | 3-6 months | Medium — depends on report authority |
|
||||
| News article coverage | 1-3 months | High — especially from recognized publications |
|
||||
| Conference speaking + coverage | 3-12 months | Medium — needs post-event coverage |
|
||||
| Academic paper citations | 6-12+ months | High — very strong for GNG |
|
||||
| Award recognition | Variable | Medium — depends on award authority |
|
||||
| Book publication or feature | 6-12+ months | High — strong independent source |
|
||||
|
||||
### Wikipedia Article Best Practices
|
||||
|
||||
**DO:**
|
||||
- Write in neutral, encyclopedic tone
|
||||
- Use only independent, reliable sources as references
|
||||
- Follow Wikipedia's Manual of Style
|
||||
- Disclose any conflict of interest on your Talk page
|
||||
- Let the community review and improve the article
|
||||
|
||||
**DO NOT:**
|
||||
- Write promotional content
|
||||
- Use the entity's own website as a primary source
|
||||
- Create the article from a company account without disclosure
|
||||
- Remove criticism or negative but sourced information
|
||||
- Pay someone to write the article without disclosure (violates Wikipedia policy)
|
||||
|
||||
### Wikipedia's Impact on AI
|
||||
|
||||
Wikipedia is disproportionately important for AI systems because:
|
||||
- It's in the training data of every major LLM
|
||||
- AI systems treat it as a high-trust source
|
||||
- Wikipedia's structured format makes it easy for AI to extract and cite
|
||||
- The first paragraph of a Wikipedia article often becomes the AI's entity definition
|
||||
|
||||
This makes Wikipedia presence one of the highest-impact entity optimization actions for GEO.
|
||||
|
||||
## Schema.org Entity Markup
|
||||
|
||||
### Minimum Viable Entity Schema
|
||||
|
||||
Every entity should have at minimum this markup on the homepage:
|
||||
|
||||
**Organization:**
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Organization",
|
||||
"@id": "https://example.com/#organization",
|
||||
"name": "Example Corp",
|
||||
"url": "https://example.com",
|
||||
"logo": "https://example.com/logo.png",
|
||||
"description": "Example Corp is a [what it is] that [what it does].",
|
||||
"foundingDate": "2020-01-15",
|
||||
"founder": {
|
||||
"@type": "Person",
|
||||
"name": "Jane Smith",
|
||||
"@id": "https://example.com/about/jane-smith#person"
|
||||
},
|
||||
"sameAs": [
|
||||
"https://www.wikidata.org/wiki/Q12345678",
|
||||
"https://en.wikipedia.org/wiki/Example_Corp",
|
||||
"https://www.linkedin.com/company/example-corp",
|
||||
"https://x.com/examplecorp",
|
||||
"https://www.crunchbase.com/organization/example-corp"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
**Person:**
|
||||
```json
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Person",
|
||||
"@id": "https://example.com/about/jane-smith#person",
|
||||
"name": "Jane Smith",
|
||||
"url": "https://example.com/about/jane-smith",
|
||||
"image": "https://example.com/photos/jane-smith.jpg",
|
||||
"jobTitle": "CEO",
|
||||
"worksFor": {
|
||||
"@type": "Organization",
|
||||
"@id": "https://example.com/#organization"
|
||||
},
|
||||
"description": "Jane Smith is [who they are] specializing in [expertise areas].",
|
||||
"sameAs": [
|
||||
"https://www.wikidata.org/wiki/Q87654321",
|
||||
"https://www.linkedin.com/in/janesmith",
|
||||
"https://x.com/janesmith"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### sameAs Best Practices
|
||||
|
||||
The `sameAs` property is the **primary entity disambiguation signal** in Schema.org. It tells search engines "this is the same entity as the one on these other platforms."
|
||||
|
||||
**Must include (when available):**
|
||||
1. Wikidata URL (most important for Knowledge Graph)
|
||||
2. Wikipedia URL
|
||||
3. LinkedIn URL
|
||||
4. Official social media profiles
|
||||
|
||||
**Include when relevant:**
|
||||
5. CrunchBase URL
|
||||
6. GitHub URL
|
||||
7. IMDb URL (for people in entertainment)
|
||||
8. Industry directory URLs
|
||||
|
||||
**Common mistakes:**
|
||||
- Linking to generic pages instead of entity-specific URLs
|
||||
- Inconsistent: Schema says "Example Corp" but LinkedIn says "Example Corporation"
|
||||
- Missing Wikidata link (this is the single most impactful sameAs)
|
||||
- Including dead or redirecting URLs
|
||||
|
||||
### Cross-Page Entity Consistency
|
||||
|
||||
Every page on the site should reference the same entity with the same `@id`:
|
||||
|
||||
```json
|
||||
{
|
||||
"@type": "WebPage",
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"@id": "https://example.com/#organization"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
For articles:
|
||||
```json
|
||||
{
|
||||
"@type": "Article",
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"@id": "https://example.com/about/jane-smith#person"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"@id": "https://example.com/#organization"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This creates a consistent entity graph that search engines can confidently map to Knowledge Graph entries.
|
||||
|
||||
## Monitoring Entity Health
|
||||
|
||||
### Quarterly Entity Health Check
|
||||
|
||||
| Check | How | What to Look For |
|
||||
|-------|-----|-----------------|
|
||||
| Knowledge Panel accuracy | Google entity name | Correct info, image, attributes |
|
||||
| Wikidata entry | Visit Wikidata page | No vandalism, info still current |
|
||||
| AI entity resolution | Query 3+ AI systems | Accurate recognition and description |
|
||||
| Schema.org validation | Google Rich Results Test | No errors, complete entity data |
|
||||
| Branded search SERP | Google "[entity name]" | Clean SERP, no disambiguation issues |
|
||||
| Social profile consistency | Visit all profiles | Same name, description, links |
|
||||
|
||||
### Entity Health Metrics to Track
|
||||
|
||||
| Metric | Tool | Target |
|
||||
|--------|------|--------|
|
||||
| Knowledge Panel presence | Google Search | Present and accurate |
|
||||
| Branded search CTR | ~~search console | > 50% for exact brand name |
|
||||
| AI recognition rate | Manual testing | Recognized by 3/3 major AI systems |
|
||||
| Wikidata completeness | Wikidata | 15+ properties with references |
|
||||
| Schema.org error count | Google Search Console | 0 errors |
|
||||
| Brand mention volume | ~~brand monitor | Stable or growing trend |
|
||||
|
||||
### Recovery Playbooks
|
||||
|
||||
**Entity disappeared from Knowledge Graph:**
|
||||
1. Check if Wikidata entry was deleted or merged
|
||||
2. Verify Schema.org markup hasn't changed
|
||||
3. Look for major algorithm updates that might have affected entity recognition
|
||||
4. Rebuild signals: start with Wikidata, then Schema.org, then external mentions
|
||||
5. Timeline: 2-8 weeks for recovery
|
||||
|
||||
**AI systems giving incorrect entity info:**
|
||||
1. Identify which sources have incorrect information
|
||||
2. Correct information at source (Wikidata, Wikipedia, About page)
|
||||
3. AI systems will update over time (training data refresh + live search)
|
||||
4. For urgent issues, some AI systems have feedback mechanisms
|
||||
5. Timeline: weeks to months depending on AI system update cycles
|
||||
|
||||
**Knowledge Panel showing wrong entity:**
|
||||
1. Claim the Knowledge Panel (if you haven't already)
|
||||
2. Strengthen disambiguation signals (see SKILL.md Disambiguation Strategy)
|
||||
3. Add qualifier to entity name if needed
|
||||
4. Build more unique entity signals (original content, specific topic associations)
|
||||
5. Timeline: 1-3 months
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
# Knowledge Panel & Wikidata Optimization Guide
|
||||
|
||||
Detailed instructions for Knowledge Panel optimization, Wikidata entry management, and AI entity resolution.
|
||||
|
||||
## Knowledge Panel Optimization
|
||||
|
||||
### Claiming and Editing
|
||||
|
||||
1. **Google Knowledge Panel**: Claim via Google's verification process (search for entity -> click "Claim this knowledge panel")
|
||||
2. **Bing Knowledge Panel**: Driven by Wikidata and LinkedIn -- update those sources
|
||||
3. **AI Knowledge**: Driven by training data -- ensure authoritative sources describe entity correctly
|
||||
|
||||
### Common Knowledge Panel Issues
|
||||
|
||||
| Issue | Root Cause | Fix |
|
||||
|-------|-----------|-----|
|
||||
| No panel appears | Entity not in Knowledge Graph | Build Wikidata entry + structured data + authoritative mentions |
|
||||
| Wrong image | Image sourced from incorrect page | Update Wikidata image; ensure preferred image on About page and social profiles |
|
||||
| Wrong description | Description pulled from wrong source | Edit Wikidata description; ensure About page has clear entity description in first paragraph |
|
||||
| Missing attributes | Incomplete structured data | Add properties to Schema.org markup and Wikidata entry |
|
||||
| Wrong entity shown | Disambiguation failure | Strengthen unique signals; add qualifiers; resolve Wikidata disambiguation |
|
||||
| Outdated info | Source data not updated | Update Wikidata, About page, and all profile pages |
|
||||
|
||||
## Wikidata Best Practices
|
||||
|
||||
### Creating a Wikidata Entry
|
||||
|
||||
1. **Check notability**: Entity must have at least one authoritative reference
|
||||
2. **Create item**: Add label, description, and aliases in relevant languages
|
||||
3. **Add statements**: instance of, official website, social media links, founding date, founders, industry
|
||||
4. **Add identifiers**: official website (P856), social media IDs, CrunchBase ID, ISNI, VIAF
|
||||
5. **Add references**: Every statement should have a reference to an authoritative source
|
||||
|
||||
**Important**: Wikipedia's Conflict of Interest (COI) policy prohibits individuals and organizations from creating or editing articles about themselves. Instead of directly editing Wikipedia: (1) Focus on building notability through independent reliable sources (press coverage, industry publications, academic citations); (2) If you believe a Wikipedia article is warranted, consider engaging an independent Wikipedia editor through the Requested Articles process; (3) Ensure all claims about the entity are verifiable through third-party sources before any Wikipedia involvement.
|
||||
|
||||
### Key Wikidata Properties by Entity Type
|
||||
|
||||
| Property | Code | Person | Org | Brand | Product |
|
||||
|----------|------|:------:|:---:|:-----:|:-------:|
|
||||
| instance of | P31 | human | organization type | brand | product type |
|
||||
| official website | P856 | yes | yes | yes | yes |
|
||||
| occupation / industry | P106/P452 | yes | yes | -- | -- |
|
||||
| founded by | P112 | -- | yes | yes | -- |
|
||||
| inception | P571 | -- | yes | yes | yes |
|
||||
| country | P17 | yes | yes | -- | -- |
|
||||
| social media | various | yes | yes | yes | yes |
|
||||
| employer | P108 | yes | -- | -- | -- |
|
||||
| developer | P178 | -- | -- | -- | yes |
|
||||
|
||||
## AI Entity Optimization
|
||||
|
||||
### How AI Systems Resolve Entities
|
||||
|
||||
```
|
||||
User query -> Entity extraction -> Entity resolution -> Knowledge retrieval -> Answer generation
|
||||
```
|
||||
|
||||
AI systems follow this pipeline:
|
||||
1. **Extract** entity mentions from the query
|
||||
2. **Resolve** each mention to a known entity (or fail -> "I'm not sure")
|
||||
3. **Retrieve** associated knowledge about the entity
|
||||
4. **Generate** response citing sources that confirmed the entity's attributes
|
||||
|
||||
### Signals AI Systems Use for Entity Resolution
|
||||
|
||||
| Signal Type | What AI Checks | How to Optimize |
|
||||
|-------------|---------------|-----------------|
|
||||
| **Training data presence** | Was entity in pre-training corpus? | Get mentioned in high-quality, widely-crawled sources |
|
||||
| **Retrieval augmentation** | Does entity appear in live search results? | Strong SEO presence for branded queries |
|
||||
| **Structured data** | Can entity be matched to Knowledge Graph? | Complete Wikidata + Schema.org |
|
||||
| **Contextual co-occurrence** | What topics/entities appear alongside? | Build consistent topic associations across content |
|
||||
| **Source authority** | Are sources about entity trustworthy? | Get mentioned by authoritative, well-known sources |
|
||||
| **Recency** | Is information current? | Keep all entity profiles and content updated |
|
||||
|
||||
### Entity-Specific GEO Tactics
|
||||
|
||||
1. **Define clearly**: First paragraph of About page and key pages should define the entity in a way AI can quote directly
|
||||
2. **Be consistent**: Use identical entity description across all platforms
|
||||
3. **Build associations**: Create content that explicitly connects entity to target topics
|
||||
4. **Earn mentions**: Third-party authoritative mentions are stronger entity signals than self-description
|
||||
5. **Stay current**: Outdated entity information causes AI to lose confidence and stop citing
|
||||
Loading…
Add table
Add a link
Reference in a new issue