Semantic Retrieval Optimization (SRO)
Optimize websites for AI retrieval and selection, not just ranking.
Workflow Selection
Determine task type and follow the appropriate workflow:
Full SRO Audit → Run scripts/sro_audit.py
Entity Mapping → See references/entity-mapping.md
SCN Architecture → See references/scn-structure.md
Content Optimization → See references/microsemantic-writing.md
Trust Calibration → See references/trust-signals.md
Technical Check → See references/technical-eligibility.md
Schema Generation → Run scripts/generate_schema.py
Quick Audit → Run scripts/quick_audit.py
Core Framework
Five Layers (All Required)
| Layer |
Check |
Script/Reference |
| Macrosemantics |
Site structure, SCN hierarchy |
references/scn-structure.md |
| Microsemantics |
Passage clarity, extractability |
references/microsemantic-writing.md |
| Technical |
Speed, render, access |
references/technical-eligibility.md |
| Trust |
Evidence, identity, corroboration |
references/trust-signals.md |
| Query |
Intent matching |
references/query-semantics.md |
Implementation Steps
- AUDIT → Run
scripts/sro_audit.py on target URL
- MAP ENTITIES → Use entity mapping workflow in
references/entity-mapping.md
- DESIGN SCN → Follow SCN architecture in
references/scn-structure.md
- OPTIMIZE CONTENT → Apply rules in
references/microsemantic-writing.md
- IMPLEMENT SCHEMA → Run
scripts/generate_schema.py
- CALIBRATE TRUST → Follow
references/trust-signals.md
- VERIFY TECHNICAL → Run technical checks per
references/technical-eligibility.md
- MONITOR → Set up tracking per
references/operations.md
Quick Reference
Entity Types
Organization → Brand, company, publisher
Person → Author, expert, founder
Product → Offering, service, tool
Location → Place, region, address
Concept → Topic, methodology, framework
SCN Hierarchy
MACRO (content universe)
├── SEED (major subtopic, 3-7 per Macro)
│ └── NODE (specific content, 5-20 per Seed)
Intent Frames
| Frame |
Structure Required |
| Instructional |
Numbered steps, action verbs |
| Comparative |
Side-by-side, criteria, recommendation |
| Evaluative |
Ranked list, methodology |
| Descriptive |
Definition, explanation, examples |
| Causal |
Cause-effect relationship |
Trust Layers
| Layer |
Signal |
| Evidence |
Citations within 1-2 sentences of claims |
| Identity |
Schema, author bios, verified profiles |
| Cluster |
Consistent facts across all pages |
| Corroboration |
External mentions, reviews, citations |
Technical Thresholds
| Metric |
Target |
| TTFB |
<300ms |
| LCP |
<2.5s |
| DOM nodes |
<1,500 |
| Content |
In HTML, not JS-dependent |
Linking Rules
Vertical (always safe):
- Node → Parent Seed
- Seed → Macro
- Macro → All Seeds
Horizontal (use 150% rule):
Only link when 150% certain of semantic relationship. When in doubt, don't link.
Passage Engineering Rules
- One idea per section (100-150 words)
- Self-contained (makes sense without context)
- Entity-rich (names, not pronouns)
- Front-loaded (key info first)
- Frame-matched (structure matches intent)
Common Errors
| Error |
Detection |
Fix |
| Mixed intent frames |
Multiple structures on one page |
Split into separate pages |
| Entity inconsistency |
"Acme" vs "Acme Inc" |
Standardize naming |
| Evidence distance |
Claims without nearby support |
Move citations closer |
| Orphan content |
No internal links |
Connect to SCN |
| JS-dependent content |
Core text in JavaScript |
Move to HTML |
| Missing attribution |
No author/source |
Add author schema |
Output Templates
Entity Map Output
{
"entities": [
{
"name": "",
"type": "Organization|Person|Product|Location|Concept",
"relationships": [],
"schema_type": "",
"proof_urls": []
}
]
}
SCN Map Output
macro:
name: ""
description: ""
seeds:
- name: ""
nodes:
- title: ""
intent_frame: ""
target_url: ""
Audit Score Output
{
"overall_score": 0,
"layers": {
"macrosemantics": {"score": 0, "issues": []},
"microsemantics": {"score": 0, "issues": []},
"technical": {"score": 0, "issues": []},
"trust": {"score": 0, "issues": []},
"query": {"score": 0, "issues": []}
},
"priority_actions": []
}
1---2name: sro-semantic-retrieval-optimization3description: Implement Semantic Retrieval Optimization for AI search visibility. Use when performing SRO audits, building entity maps, designing SCN architecture, writing retrieval-optimized content, implementing schema markup, calibrating trust signals, analyzing query intent, assessing technical eligibility, or creating AI-ready content strategies. Triggers on semantic SEO, entity mapping, SCN, E-E-A-T, AI search optimization, passage engineering, knowledge graph, trust signals, or retrieval optimization requests.4---5
6# Semantic Retrieval Optimization (SRO)
7
8Optimize websites for AI retrieval and selection, not just ranking.
9
10## Workflow Selection
11
12Determine task type and follow the appropriate workflow:
13
14**Full SRO Audit** → Run `scripts/sro_audit.py`
15**Entity Mapping** → See `references/entity-mapping.md`
16**SCN Architecture** → See `references/scn-structure.md`
17**Content Optimization** → See `references/microsemantic-writing.md`
18**Trust Calibration** → See `references/trust-signals.md`
19**Technical Check** → See `references/technical-eligibility.md`
20**Schema Generation** → Run `scripts/generate_schema.py`
21**Quick Audit** → Run `scripts/quick_audit.py`
22
23## Core Framework
24
25### Five Layers (All Required)
26
27| Layer | Check | Script/Reference |
28|-------|-------|------------------|
29| Macrosemantics | Site structure, SCN hierarchy | `references/scn-structure.md` |
30| Microsemantics | Passage clarity, extractability | `references/microsemantic-writing.md` |
31| Technical | Speed, render, access | `references/technical-eligibility.md` |
32| Trust | Evidence, identity, corroboration | `references/trust-signals.md` |
33| Query | Intent matching | `references/query-semantics.md` |
34
35### Implementation Steps
36
371. **AUDIT** → Run `scripts/sro_audit.py` on target URL
382. **MAP ENTITIES** → Use entity mapping workflow in `references/entity-mapping.md`
393. **DESIGN SCN** → Follow SCN architecture in `references/scn-structure.md`
404. **OPTIMIZE CONTENT** → Apply rules in `references/microsemantic-writing.md`
415. **IMPLEMENT SCHEMA** → Run `scripts/generate_schema.py`
426. **CALIBRATE TRUST** → Follow `references/trust-signals.md`
437. **VERIFY TECHNICAL** → Run technical checks per `references/technical-eligibility.md`
448. **MONITOR** → Set up tracking per `references/operations.md`
45
46## Quick Reference
47
48### Entity Types
49
50```
51Organization → Brand, company, publisher
52Person → Author, expert, founder
53Product → Offering, service, tool
54Location → Place, region, address
55Concept → Topic, methodology, framework
56```
57
58### SCN Hierarchy
59
60```
61MACRO (content universe)
62├── SEED (major subtopic, 3-7 per Macro)
63│ └── NODE (specific content, 5-20 per Seed)
64```
65
66### Intent Frames
67
68| Frame | Structure Required |
69|-------|-------------------|
70| Instructional | Numbered steps, action verbs |
71| Comparative | Side-by-side, criteria, recommendation |
72| Evaluative | Ranked list, methodology |
73| Descriptive | Definition, explanation, examples |
74| Causal | Cause-effect relationship |
75
76### Trust Layers
77
78| Layer | Signal |
79|-------|--------|
80| Evidence | Citations within 1-2 sentences of claims |
81| Identity | Schema, author bios, verified profiles |
82| Cluster | Consistent facts across all pages |
83| Corroboration | External mentions, reviews, citations |
84
85### Technical Thresholds
86
87| Metric | Target |
88|--------|--------|
89| TTFB | <300ms |
90| LCP | <2.5s |
91| DOM nodes | <1,500 |
92| Content | In HTML, not JS-dependent |
93
94## Linking Rules
95
96**Vertical (always safe):**
97- Node → Parent Seed
98- Seed → Macro
99- Macro → All Seeds
100
101**Horizontal (use 150% rule):**
102Only link when 150% certain of semantic relationship. When in doubt, don't link.
103
104## Passage Engineering Rules
105
1061. One idea per section (100-150 words)
1072. Self-contained (makes sense without context)
1083. Entity-rich (names, not pronouns)
1094. Front-loaded (key info first)
1105. Frame-matched (structure matches intent)
111
112## Common Errors
113
114| Error | Detection | Fix |
115|-------|-----------|-----|
116| Mixed intent frames | Multiple structures on one page | Split into separate pages |
117| Entity inconsistency | "Acme" vs "Acme Inc" | Standardize naming |
118| Evidence distance | Claims without nearby support | Move citations closer |
119| Orphan content | No internal links | Connect to SCN |
120| JS-dependent content | Core text in JavaScript | Move to HTML |
121| Missing attribution | No author/source | Add author schema |
122
123## Output Templates
124
125### Entity Map Output
126```json
127{
128 "entities": [
129 {
130 "name": "",
131 "type": "Organization|Person|Product|Location|Concept",
132 "relationships": [],
133 "schema_type": "",
134 "proof_urls": []
135 }
136 ]
137}
138```
139
140### SCN Map Output
141```yaml
142macro:
143 name: ""
144 description: ""
145seeds:
146 - name: ""
147 nodes:
148 - title: ""
149 intent_frame: ""
150 target_url: ""
151```
152
153### Audit Score Output
154```json
155{
156 "overall_score": 0,
157 "layers": {
158 "macrosemantics": {"score": 0, "issues": []},
159 "microsemantics": {"score": 0, "issues": []},
160 "technical": {"score": 0, "issues": []},
161 "trust": {"score": 0, "issues": []},
162 "query": {"score": 0, "issues": []}
163 },
164 "priority_actions": []
165}
166```