Replaces single-vendor (Ahrefs-only) tool defaults with a per-task backend menu across all 14 SEO skills. Each skill now lists every capable MCP in allowed-tools and documents how to pick between Semrush, Ahrefs, OurSEO Agent (CLI + MCP), DataForSEO, and GSC in its SKILL.md Data Source Selection section. Tool stubs (~40 new files) populated per skill with capability deltas, call patterns, and explicit "not for this skill when" callouts so the menu is self-correcting. Skills affected: 19-keyword-strategy, 20-serp-analysis, 21-position-tracking, 22-link-building, 23-content-strategy, 24-ecommerce, 25-kpi-framework, 26-international, 27-ai-visibility, 28-knowledge-graph, 31-competitor-intel, 32-crawl-budget, 33-migration-planner, 34-reporting-dashboard. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7.5 KiB
name, description
| name | description |
|---|---|
| seo-knowledge-graph | Knowledge Graph and entity SEO analysis. Triggers: knowledge panel, entity SEO, knowledge graph, PAA, FAQ schema, Wikipedia, Wikidata, brand entity, 지식 그래프, 엔티티 SEO, 지식 패널, 브랜드 엔티티, 위키데이터. |
Knowledge Graph & Entity SEO
Analyze brand entity presence in Google Knowledge Graph, Knowledge Panels, People Also Ask (PAA), and FAQ rich results. Check entity attribute completeness, Wikipedia/Wikidata presence, and Korean equivalents (Naver knowledge iN, Naver encyclopedia).
Capabilities
Knowledge Graph Analysis
- Knowledge Panel detection and attribute extraction
- Entity attribute completeness scoring (name, description, logo, type, social profiles, website, founded, CEO)
- Wikipedia article presence check
- Wikidata entity presence check (QID lookup)
- Naver encyclopedia (네이버 백과사전) presence
- Naver knowledge iN (지식iN) presence
Entity SEO Audit
- People Also Ask (PAA) monitoring for brand-related queries
- FAQ schema presence tracking (FAQPage schema -> SERP appearance)
- Entity markup audit (Organization, Person, LocalBusiness schema on website)
- Social profile linking validation (sameAs in schema)
- Brand SERP analysis (what appears when you search the brand name)
- Entity consistency across web properties
Workflow
Knowledge Graph Analysis
- Use WebSearch to search for the entity name on Google
- Analyze search results for Knowledge Panel indicators
- Use WebFetch to check Wikipedia article existence
- Use WebFetch to check Wikidata QID existence
- Use WebFetch to check Naver encyclopedia and 지식iN
- Score entity attribute completeness
- Save report to Notion SEO Audit Log
Entity SEO Audit
- Use WebFetch to fetch the website and extract JSON-LD schemas
- Validate Organization/Person/LocalBusiness schema completeness
- Check sameAs links accessibility
- Use WebSearch to search brand name and analyze SERP features
- Monitor PAA questions for brand keywords
- Use WebSearch for SERP feature detection
- Save report to Notion SEO Audit Log
Data Source Selection
Entity / Knowledge Graph work spans KG API lookups, on-page schema audit, third-party presence checks (Wikipedia, Wikidata, Naver), and brand SERP analysis. Different backends own different slices.
| Backend | Best for | Notes |
|---|---|---|
| OurSEO (CLI + MCP) | Default for KG lookups, entity audit, schema generation + fix | CLI: our research kg lookup, our research kg resolve, our audit entity, our audit sameas, our build kg-schema, our fix entity-schema. MCP: mcp__ourseo__search_knowledge_graph. Only backend with an integrated KG + entity-fix path. |
| WebSearch / WebFetch | Knowledge Panel detection, PAA monitoring, Wikipedia / Wikidata / Naver encyclopedia presence | KG Panel detection via direct Google search is heuristic but unavoidable — no MCP exposes Knowledge Panel structure directly. |
Ahrefs MCP (mcp__ahrefs__*) |
SERP-level entity queries — PAA, brand SERP, FAQ schema appearance | serp-overview, gsc-keywords (first-party brand query data), site-audit-issues for missing schema. |
Semrush MCP (mcp__semrush__*) |
Brand SERP overview, organic positions for entity-related queries | No dedicated KG endpoints — supplementary only. |
How to pick
- User named a backend explicitly → use it.
- User preference memory — read
feedback_seo_tool_preferences.md; honor the task-type default. - Task is KG lookup / entity resolution / sameAs validation / schema fix → use OurSEO (CLI primary, MCP for Desktop). No alternative covers this end-to-end.
- Task is Wikipedia / Wikidata / Naver encyclopedia presence → WebSearch + WebFetch (no MCP backend covers third-party encyclopedias).
- Task is brand SERP analysis → Ahrefs
serp-overviewor Semrushoverview_research, paired with WebSearch for Knowledge Panel detection. - Default: OurSEO
our research kg+ WebSearch for third-party presence. - Still ambiguous + non-trivial → ask once via
AskUserQuestion.
Backend call patterns
OurSEO CLI (default — KG lookup + entity audit + fix):
our research kg lookup "<entity>" --language ko
our research kg resolve "<entity>" --domain <site> --language ko
our audit entity https://<site> --entity "<entity>" --language ko
our audit sameas https://<site> --brand "<brand>"
our build kg-schema --type Organization --name "<entity>" --url https://<site> --auto-sameas
our fix entity-schema --site https://<site> --type Organization --entity-name "<entity>" --auto-sameas --cms ghost --deploy
OurSEO MCP (Claude Desktop):
mcp__ourseo__search_knowledge_graph(query="<entity>", language="ko")
Third-party presence (WebSearch / WebFetch):
WebSearch: "<entity>" site:wikipedia.org
WebFetch: https://www.wikidata.org/wiki/Special:Search?search=<entity>
WebSearch: "<entity>" site:terms.naver.com # Naver encyclopedia
WebSearch: "<entity>" site:kin.naver.com # Naver 지식iN
Brand SERP analysis (Ahrefs / Semrush):
mcp__ahrefs__serp-overview(keyword="<brand>", country="us")
mcp__ahrefs__gsc-keywords(project_id="<id>") # First-party brand query data
mcp__semrush__overview_research(query="<brand>", database="us")
Always record the chosen data source(s) in the report Overview so future audits can compare like-for-like.
Notion Output
All reports must be saved to the OurDigital SEO Audit Log database.
| Field | Value |
|---|---|
| Database ID | 2c8581e5-8a1e-8035-880b-e38cefc2f3ef |
| Category | Knowledge Graph & Entity SEO |
| Audit ID | KG-YYYYMMDD-NNN |
Report content should be written in Korean (한국어), keeping technical English terms as-is.
Output Format
{
"entity_name": "OurDigital",
"knowledge_panel": {
"present": false,
"attributes": {}
},
"entity_presence": {
"wikipedia": false,
"wikidata": false,
"wikidata_qid": null,
"naver_encyclopedia": false,
"naver_knowledge_in": false,
"google_knowledge_panel": false
},
"entity_schema": {
"organization_count": 2,
"person_count": 1,
"same_as_links": ["https://linkedin.com/...", "https://facebook.com/..."],
"same_as_count": 2,
"issues": [
"Duplicate Organization schemas with inconsistent names",
"Placeholder image in Organization schema",
"Only 2 sameAs links (recommend 6+)"
]
},
"paa_questions": [],
"faq_schema_present": false,
"entity_completeness_score": 12,
"recommendations": [
"Create Wikidata entity for brand recognition",
"Add 4-6 more sameAs social profile links",
"Replace placeholder image with actual brand logo",
"Consolidate duplicate Organization schemas",
"Add FAQPage schema to relevant pages"
],
"audit_id": "KG-20250115-001",
"timestamp": "2025-01-15T14:30:00"
}
Limitations
- Google Knowledge Panel detection via search results is not guaranteed (personalization, location-based)
- Direct Google scraping may be blocked (403/429); prefer WebSearch tool
- Wikipedia/Wikidata creation requires meeting notability guidelines
- PAA questions vary by location and device
- Entity completeness scoring is heuristic-based
Reference Scripts
Located in code/scripts/:
knowledge_graph_analyzer.py— Knowledge Panel and entity presence analysisentity_auditor.py— Entity SEO signals and PAA/FAQ auditbase_client.py— Shared async client utilities