optbrew 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +6 -0
- package/.claude-plugin/plugin.json +6 -0
- package/.codex-plugin/plugin.json +13 -0
- package/CHANGELOG.md +20 -0
- package/LICENSE +21 -0
- package/README.ko.md +73 -0
- package/README.md +72 -2
- package/THIRD_PARTY_NOTICES.md +10 -0
- package/bin/optbrew.mjs +4 -0
- package/docs/platforms.md +31 -0
- package/docs/release.md +14 -0
- package/lib/cli.mjs +103 -0
- package/lib/doctor.mjs +44 -0
- package/lib/install.mjs +158 -0
- package/lib/paths.mjs +30 -0
- package/lib/records.mjs +44 -0
- package/lib/transaction.mjs +205 -0
- package/lib/update.mjs +181 -0
- package/package.json +39 -4
- package/plugin.json +13 -0
- package/skills/optbrew/LICENSE +21 -0
- package/skills/optbrew/SKILL.md +17 -0
- package/skills/optbrew/THIRD_PARTY_NOTICES.md +10 -0
- package/skills/optbrew/agents/openai.yaml +4 -0
- package/skills/optbrew/bundle-manifest.json +663 -0
- package/skills/optbrew/licenses/firecrawl-seo-audit.txt +15 -0
- package/skills/optbrew/licenses/magnus-seo.txt +21 -0
- package/skills/optbrew/licenses/marketing-search.txt +21 -0
- package/skills/optbrew/licenses/mblode-seo.txt +21 -0
- package/skills/optbrew/licenses/naver-searchadvisor.txt +29 -0
- package/skills/optbrew/licenses/seranking-seo.txt +21 -0
- package/skills/optbrew/modules/firecrawl-seo-audit/GUIDE.md +64 -0
- package/skills/optbrew/modules/magnus-seo/GUIDE.md +79 -0
- package/skills/optbrew/modules/magnus-seo/README.md +45 -0
- package/skills/optbrew/modules/magnus-seo/assets/audit-report-template.md +76 -0
- package/skills/optbrew/modules/magnus-seo/references/aeo-methodology.md +105 -0
- package/skills/optbrew/modules/magnus-seo/references/agent-readable-content.md +28 -0
- package/skills/optbrew/modules/magnus-seo/references/content-and-entity-architecture.md +100 -0
- package/skills/optbrew/modules/magnus-seo/references/content-strategy-seo.md +142 -0
- package/skills/optbrew/modules/magnus-seo/references/discovery-and-freshness.md +47 -0
- package/skills/optbrew/modules/magnus-seo/references/evidence-boundaries.md +75 -0
- package/skills/optbrew/modules/magnus-seo/references/ghost-metadata.md +204 -0
- package/skills/optbrew/modules/magnus-seo/references/implementation-playbook.md +114 -0
- package/skills/optbrew/modules/magnus-seo/references/measurement-and-experimentation.md +47 -0
- package/skills/optbrew/modules/magnus-seo/references/onpage-seo.md +154 -0
- package/skills/optbrew/modules/magnus-seo/references/platform-guidance.md +30 -0
- package/skills/optbrew/modules/magnus-seo/references/schema-markup.md +244 -0
- package/skills/optbrew/modules/magnus-seo/references/source-index.md +36 -0
- package/skills/optbrew/modules/magnus-seo/references/structured-data.md +56 -0
- package/skills/optbrew/modules/magnus-seo/references/technical-seo.md +99 -0
- package/skills/optbrew/modules/magnus-seo/scripts/aeo_audit.py +158 -0
- package/skills/optbrew/modules/magnus-seo/scripts/build_prompt_matrix.py +52 -0
- package/skills/optbrew/modules/magnus-seo/templates/aeo-implementation-plan.md +53 -0
- package/skills/optbrew/modules/magnus-seo/templates/citation-observation-log.md +16 -0
- package/skills/optbrew/modules/magnus-seo/templates/llms.txt.template +15 -0
- package/skills/optbrew/modules/magnus-seo/templates/question-cluster.md +27 -0
- package/skills/optbrew/modules/magnus-seo/templates/robots-ai-crawlers.txt +23 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/GUIDE.md +483 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/agent-readiness.md +57 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/citations-vs-recommendations.md +85 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/content-patterns.md +287 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/content-types.md +71 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/format-volatility.md +98 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/okf.md +104 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/platform-ranking-factors.md +154 -0
- package/skills/optbrew/modules/marketing-search/skills/ai-seo/references/youtube-ai-citations.md +60 -0
- package/skills/optbrew/modules/marketing-search/skills/analytics/GUIDE.md +303 -0
- package/skills/optbrew/modules/marketing-search/skills/analytics/references/event-library.md +260 -0
- package/skills/optbrew/modules/marketing-search/skills/analytics/references/ga4-implementation.md +300 -0
- package/skills/optbrew/modules/marketing-search/skills/analytics/references/gtm-implementation.md +390 -0
- package/skills/optbrew/modules/marketing-search/skills/content-strategy/GUIDE.md +432 -0
- package/skills/optbrew/modules/marketing-search/skills/content-strategy/references/content-distribution.md +83 -0
- package/skills/optbrew/modules/marketing-search/skills/content-strategy/references/headless-cms.md +194 -0
- package/skills/optbrew/modules/marketing-search/skills/programmatic-seo/GUIDE.md +231 -0
- package/skills/optbrew/modules/marketing-search/skills/programmatic-seo/references/playbooks.md +308 -0
- package/skills/optbrew/modules/marketing-search/skills/schema/GUIDE.md +172 -0
- package/skills/optbrew/modules/marketing-search/skills/schema/references/schema-examples.md +398 -0
- package/skills/optbrew/modules/marketing-search/skills/seo-audit/GUIDE.md +492 -0
- package/skills/optbrew/modules/marketing-search/skills/seo-audit/references/ai-writing-detection.md +200 -0
- package/skills/optbrew/modules/marketing-search/skills/seo-audit/references/international-seo.md +230 -0
- package/skills/optbrew/modules/marketing-search/skills/site-architecture/GUIDE.md +350 -0
- package/skills/optbrew/modules/marketing-search/skills/site-architecture/references/mermaid-templates.md +216 -0
- package/skills/optbrew/modules/marketing-search/skills/site-architecture/references/navigation-patterns.md +305 -0
- package/skills/optbrew/modules/marketing-search/skills/site-architecture/references/site-type-templates.md +293 -0
- package/skills/optbrew/modules/mblode-seo/GUIDE.md +74 -0
- package/skills/optbrew/modules/mblode-seo/references/answer-engines.md +58 -0
- package/skills/optbrew/modules/mblode-seo/references/audit.md +78 -0
- package/skills/optbrew/modules/mblode-seo/references/brief-template.md +47 -0
- package/skills/optbrew/modules/mblode-seo/references/monitoring.md +56 -0
- package/skills/optbrew/modules/mblode-seo/references/nextjs-implementation.md +65 -0
- package/skills/optbrew/modules/mblode-seo/references/research-protocol.md +37 -0
- package/skills/optbrew/modules/mblode-seo/references/sources.md +47 -0
- package/skills/optbrew/modules/mblode-seo/references/validation-evidence.md +21 -0
- package/skills/optbrew/modules/naver-searchadvisor/GUIDE.md +75 -0
- package/skills/optbrew/modules/naver-searchadvisor/NOTICE.md +59 -0
- package/skills/optbrew/modules/naver-searchadvisor/references/INDEX.md +97 -0
- package/skills/optbrew/modules/naver-searchadvisor/scripts/audit.mjs +714 -0
- package/skills/optbrew/modules/naver-searchadvisor/scripts/robots.mjs +77 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-ai-search-share-of-voice/GUIDE.md +94 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-api/GUIDE.md +186 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/api-surface-map.md +207 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/auth-and-keys.md +182 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/integration-patterns.md +283 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-api/references/rate-limits-and-credits.md +235 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-competitor-gap-analysis/GUIDE.md +117 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/GUIDE.md +155 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/references/cite.md +84 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/references/core-eeat.md +147 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-content-audit/templates/verdict.md +63 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-firecrawl/GUIDE.md +141 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-firecrawl/references/preflight.md +73 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-geo/GUIDE.md +159 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/GUIDE.md +393 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/assets/templates/cwv-audit-report.md +48 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/assets/templates/gsc-performance-report.md +44 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/assets/templates/indexation-status-report.md +43 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/auth-setup.md +160 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/cross-skill-integration.md +187 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/ga4-data-api.md +184 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/indexing-api.md +109 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/keyword-planner-api.md +66 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/nlp-api.md +55 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/pagespeed-crux-api.md +204 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/rate-limits-quotas.md +75 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/search-console-api.md +156 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/supplementary-apis.md +99 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-google/references/youtube-api.md +49 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-keyword-niche/GUIDE.md +174 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-page/GUIDE.md +174 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-plan/GUIDE.md +220 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/GUIDE.md +135 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/references/google-rich-results.md +89 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/article.json +23 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/breadcrumb-list.json +18 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/faq-page.json +22 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/local-business.json +32 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-schema/templates/product.json +25 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-sitemap/GUIDE.md +128 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-technical-audit/GUIDE.md +235 -0
- package/skills/optbrew/modules/seranking-seo/skills/seo-technical-audit/references/severity-mapping.md +133 -0
- package/skills/optbrew/references/api.md +45 -0
- package/skills/optbrew/references/check-registry.json +28 -0
- package/skills/optbrew/references/evidence.md +9 -0
- package/skills/optbrew/references/intake.md +9 -0
- package/skills/optbrew/references/measurement.md +29 -0
- package/skills/optbrew/references/policies.md +7 -0
- package/skills/optbrew/references/profiles.json +13 -0
- package/skills/optbrew/references/remediations.json +12 -0
- package/skills/optbrew/references/report.md +25 -0
- package/skills/optbrew/references/routing.md +15 -0
- package/skills/optbrew/references/schemas/contract.schema.json +51 -0
- package/skills/optbrew/references/scoring.md +62 -0
- package/skills/optbrew/scripts/adapters/anthropic.mjs +116 -0
- package/skills/optbrew/scripts/adapters/imports.mjs +81 -0
- package/skills/optbrew/scripts/audit.mjs +145 -0
- package/skills/optbrew/scripts/cli.mjs +41 -0
- package/skills/optbrew/scripts/core/bootstrap.mjs +31 -0
- package/skills/optbrew/scripts/core/bundle.mjs +73 -0
- package/skills/optbrew/scripts/core/capabilities.mjs +19 -0
- package/skills/optbrew/scripts/core/collector.mjs +236 -0
- package/skills/optbrew/scripts/core/compare.mjs +47 -0
- package/skills/optbrew/scripts/core/contracts.mjs +144 -0
- package/skills/optbrew/scripts/core/cost-ledger.mjs +95 -0
- package/skills/optbrew/scripts/core/findings.mjs +54 -0
- package/skills/optbrew/scripts/core/metrics.mjs +97 -0
- package/skills/optbrew/scripts/core/protocol.mjs +125 -0
- package/skills/optbrew/scripts/core/report.mjs +652 -0
- package/skills/optbrew/scripts/core/scope.mjs +52 -0
- package/skills/optbrew/scripts/core/score.mjs +71 -0
- package/skills/optbrew/scripts/core/weights.mjs +139 -0
- package/skills/optbrew/source-lock.json +2686 -0
- package/source-lock.json +2686 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
# AEO and GEO Content Patterns
|
|
2
|
+
|
|
3
|
+
Reusable content block patterns optimized for answer engines and AI citation.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Contents
|
|
8
|
+
- Answer Engine Optimization (AEO) Patterns (Definition Block, Step-by-Step Block, Comparison Table Block, Pros and Cons Block, FAQ Block, Listicle Block)
|
|
9
|
+
- Generative Engine Optimization (GEO) Patterns (Statistic Citation Block, Expert Quote Block, Authoritative Claim Block, Self-Contained Answer Block, Evidence Sandwich Block)
|
|
10
|
+
- Domain-Specific GEO Tactics (Technology Content, Health/Medical Content, Financial Content, Legal Content, Business/Marketing Content)
|
|
11
|
+
- Voice Search Optimization (Question Formats for Voice, Voice-Optimized Answer Structure)
|
|
12
|
+
|
|
13
|
+
## Answer Engine Optimization (AEO) Patterns
|
|
14
|
+
|
|
15
|
+
These patterns help content appear in featured snippets, AI Overviews, voice search results, and answer boxes.
|
|
16
|
+
|
|
17
|
+
### Definition Block
|
|
18
|
+
|
|
19
|
+
Use for "What is [X]?" queries.
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
## What is [Term]?
|
|
23
|
+
|
|
24
|
+
[Term] is [concise 1-sentence definition]. [Expanded 1-2 sentence explanation with key characteristics]. [Brief context on why it matters or how it's used].
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Example:**
|
|
28
|
+
```markdown
|
|
29
|
+
## What is Answer Engine Optimization?
|
|
30
|
+
|
|
31
|
+
Answer Engine Optimization (AEO) is the practice of structuring content so AI-powered systems can easily extract and present it as direct answers to user queries. Unlike traditional SEO that focuses on ranking in search results, AEO optimizes for featured snippets, AI Overviews, and voice assistant responses. This approach has become essential as over 60% of Google searches now end without a click.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Step-by-Step Block
|
|
35
|
+
|
|
36
|
+
Use for "How to [X]" queries. Optimal for list snippets.
|
|
37
|
+
|
|
38
|
+
```markdown
|
|
39
|
+
## How to [Action/Goal]
|
|
40
|
+
|
|
41
|
+
[1-sentence overview of the process]
|
|
42
|
+
|
|
43
|
+
1. **[Step Name]**: [Clear action description in 1-2 sentences]
|
|
44
|
+
2. **[Step Name]**: [Clear action description in 1-2 sentences]
|
|
45
|
+
3. **[Step Name]**: [Clear action description in 1-2 sentences]
|
|
46
|
+
4. **[Step Name]**: [Clear action description in 1-2 sentences]
|
|
47
|
+
5. **[Step Name]**: [Clear action description in 1-2 sentences]
|
|
48
|
+
|
|
49
|
+
[Optional: Brief note on expected outcome or time estimate]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Example:**
|
|
53
|
+
```markdown
|
|
54
|
+
## How to Optimize Content for Featured Snippets
|
|
55
|
+
|
|
56
|
+
Earning featured snippets requires strategic formatting and direct answers to search queries.
|
|
57
|
+
|
|
58
|
+
1. **Identify snippet opportunities**: Use tools like Semrush or Ahrefs to find keywords where competitors have snippets you could capture.
|
|
59
|
+
2. **Match the snippet format**: Analyze whether the current snippet is a paragraph, list, or table, and format your content accordingly.
|
|
60
|
+
3. **Answer the question directly**: Provide a clear, concise answer (40-60 words for paragraph snippets) immediately after the question heading.
|
|
61
|
+
4. **Add supporting context**: Expand on your answer with examples, data, and expert insights in the following paragraphs.
|
|
62
|
+
5. **Use proper heading structure**: Place your target question as an H2 or H3, with the answer immediately following.
|
|
63
|
+
|
|
64
|
+
Most featured snippets appear within 2-4 weeks of publishing well-optimized content.
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Comparison Table Block
|
|
68
|
+
|
|
69
|
+
Use for "[X] vs [Y]" queries. Optimal for table snippets.
|
|
70
|
+
|
|
71
|
+
```markdown
|
|
72
|
+
## [Option A] vs [Option B]: [Brief Descriptor]
|
|
73
|
+
|
|
74
|
+
| Feature | [Option A] | [Option B] |
|
|
75
|
+
|---------|------------|------------|
|
|
76
|
+
| [Criteria 1] | [Value/Description] | [Value/Description] |
|
|
77
|
+
| [Criteria 2] | [Value/Description] | [Value/Description] |
|
|
78
|
+
| [Criteria 3] | [Value/Description] | [Value/Description] |
|
|
79
|
+
| [Criteria 4] | [Value/Description] | [Value/Description] |
|
|
80
|
+
| Best For | [Use case] | [Use case] |
|
|
81
|
+
|
|
82
|
+
**Bottom line**: [1-2 sentence recommendation based on different needs]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Pros and Cons Block
|
|
86
|
+
|
|
87
|
+
Use for evaluation queries: "Is [X] worth it?", "Should I [X]?"
|
|
88
|
+
|
|
89
|
+
```markdown
|
|
90
|
+
## Advantages and Disadvantages of [Topic]
|
|
91
|
+
|
|
92
|
+
[1-sentence overview of the evaluation context]
|
|
93
|
+
|
|
94
|
+
### Pros
|
|
95
|
+
|
|
96
|
+
- **[Benefit category]**: [Specific explanation]
|
|
97
|
+
- **[Benefit category]**: [Specific explanation]
|
|
98
|
+
- **[Benefit category]**: [Specific explanation]
|
|
99
|
+
|
|
100
|
+
### Cons
|
|
101
|
+
|
|
102
|
+
- **[Drawback category]**: [Specific explanation]
|
|
103
|
+
- **[Drawback category]**: [Specific explanation]
|
|
104
|
+
- **[Drawback category]**: [Specific explanation]
|
|
105
|
+
|
|
106
|
+
**Verdict**: [1-2 sentence balanced conclusion with recommendation]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### FAQ Block
|
|
110
|
+
|
|
111
|
+
Use for topic pages with multiple common questions. Essential for FAQ schema.
|
|
112
|
+
|
|
113
|
+
```markdown
|
|
114
|
+
## Frequently Asked Questions
|
|
115
|
+
|
|
116
|
+
### [Question phrased exactly as users search]?
|
|
117
|
+
|
|
118
|
+
[Direct answer in first sentence]. [Supporting context in 2-3 additional sentences].
|
|
119
|
+
|
|
120
|
+
### [Question phrased exactly as users search]?
|
|
121
|
+
|
|
122
|
+
[Direct answer in first sentence]. [Supporting context in 2-3 additional sentences].
|
|
123
|
+
|
|
124
|
+
### [Question phrased exactly as users search]?
|
|
125
|
+
|
|
126
|
+
[Direct answer in first sentence]. [Supporting context in 2-3 additional sentences].
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Tips for FAQ questions:**
|
|
130
|
+
- Use natural question phrasing ("How do I..." not "How does one...")
|
|
131
|
+
- Include question words: what, how, why, when, where, who, which
|
|
132
|
+
- Match "People Also Ask" queries from search results
|
|
133
|
+
- Keep answers between 50-100 words
|
|
134
|
+
|
|
135
|
+
### Listicle Block
|
|
136
|
+
|
|
137
|
+
Use for "Best [X]", "Top [X]", "[Number] ways to [X]" queries.
|
|
138
|
+
|
|
139
|
+
**Caveat for self-promotional listicles:** ranking yourself #1 in your own "best [category]" guide gets the page *cited* far more reliably than it gets your brand *recommended* — for emerging brands, AI answers often harvest the competitor names from the guide and recommend them instead. See [citations-vs-recommendations.md](citations-vs-recommendations.md) before building these at scale.
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
## [Number] Best [Items] for [Goal/Purpose]
|
|
143
|
+
|
|
144
|
+
[1-2 sentence intro establishing context and selection criteria]
|
|
145
|
+
|
|
146
|
+
### 1. [Item Name]
|
|
147
|
+
|
|
148
|
+
[Why it's included in 2-3 sentences with specific benefits]
|
|
149
|
+
|
|
150
|
+
### 2. [Item Name]
|
|
151
|
+
|
|
152
|
+
[Why it's included in 2-3 sentences with specific benefits]
|
|
153
|
+
|
|
154
|
+
### 3. [Item Name]
|
|
155
|
+
|
|
156
|
+
[Why it's included in 2-3 sentences with specific benefits]
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Generative Engine Optimization (GEO) Patterns
|
|
162
|
+
|
|
163
|
+
These patterns optimize content for citation by AI assistants like ChatGPT, Claude, Perplexity, and Gemini.
|
|
164
|
+
|
|
165
|
+
### Statistic Citation Block
|
|
166
|
+
|
|
167
|
+
Statistics increase AI citation rates by 15-30%. Always include sources.
|
|
168
|
+
|
|
169
|
+
```markdown
|
|
170
|
+
[Claim statement]. According to [Source/Organization], [specific statistic with number and timeframe]. [Context for why this matters].
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Example:**
|
|
174
|
+
```markdown
|
|
175
|
+
Mobile optimization is no longer optional for SEO success. According to Google's 2024 Core Web Vitals report, 70% of web traffic now comes from mobile devices, and pages failing mobile usability standards see 24% higher bounce rates. This makes mobile-first indexing a critical ranking factor.
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Expert Quote Block
|
|
179
|
+
|
|
180
|
+
Named expert attribution adds credibility and increases citation likelihood.
|
|
181
|
+
|
|
182
|
+
```markdown
|
|
183
|
+
"[Direct quote from expert]," says [Expert Name], [Title/Role] at [Organization]. [1 sentence of context or interpretation].
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**Example:**
|
|
187
|
+
```markdown
|
|
188
|
+
"The shift from keyword-driven search to intent-driven discovery represents the most significant change in SEO since mobile-first indexing," says Rand Fishkin, Co-founder of SparkToro. This perspective highlights why content strategies must evolve beyond traditional keyword optimization.
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Authoritative Claim Block
|
|
192
|
+
|
|
193
|
+
Structure claims for easy AI extraction with clear attribution.
|
|
194
|
+
|
|
195
|
+
```markdown
|
|
196
|
+
[Topic] [verb: is/has/requires/involves] [clear, specific claim]. [Source] [confirms/reports/found] that [supporting evidence]. This [explains/means/suggests] [implication or action].
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Example:**
|
|
200
|
+
```markdown
|
|
201
|
+
E-E-A-T is the cornerstone of Google's content quality evaluation. Google's Search Quality Rater Guidelines confirm that trust is the most critical factor, stating that "untrustworthy pages have low E-E-A-T no matter how experienced, expert, or authoritative they may seem." This means content creators must prioritize transparency and accuracy above all other optimization tactics.
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Self-Contained Answer Block
|
|
205
|
+
|
|
206
|
+
Create quotable, standalone statements that AI can extract directly.
|
|
207
|
+
|
|
208
|
+
```markdown
|
|
209
|
+
**[Topic/Question]**: [Complete, self-contained answer that makes sense without additional context. Include specific details, numbers, or examples in 2-3 sentences.]
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Example:**
|
|
213
|
+
```markdown
|
|
214
|
+
**Ideal blog post length for SEO**: The optimal length for SEO blog posts is 1,500-2,500 words for competitive topics. This range allows comprehensive topic coverage while maintaining reader engagement. HubSpot research shows long-form content earns 77% more backlinks than short articles, directly impacting search rankings.
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Evidence Sandwich Block
|
|
218
|
+
|
|
219
|
+
Structure claims with evidence for maximum credibility.
|
|
220
|
+
|
|
221
|
+
```markdown
|
|
222
|
+
[Opening claim statement].
|
|
223
|
+
|
|
224
|
+
Evidence supporting this includes:
|
|
225
|
+
- [Data point 1 with source]
|
|
226
|
+
- [Data point 2 with source]
|
|
227
|
+
- [Data point 3 with source]
|
|
228
|
+
|
|
229
|
+
[Concluding statement connecting evidence to actionable insight].
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Domain-Specific GEO Tactics
|
|
235
|
+
|
|
236
|
+
Different content domains benefit from different authority signals.
|
|
237
|
+
|
|
238
|
+
### Technology Content
|
|
239
|
+
- Emphasize technical precision and correct terminology
|
|
240
|
+
- Include version numbers and dates for software/tools
|
|
241
|
+
- Reference official documentation
|
|
242
|
+
- Add code examples where relevant
|
|
243
|
+
|
|
244
|
+
### Health/Medical Content
|
|
245
|
+
- Cite peer-reviewed studies with publication details
|
|
246
|
+
- Include expert credentials (MD, RN, etc.)
|
|
247
|
+
- Note study limitations and context
|
|
248
|
+
- Add "last reviewed" dates
|
|
249
|
+
|
|
250
|
+
### Financial Content
|
|
251
|
+
- Reference regulatory bodies (SEC, FTC, etc.)
|
|
252
|
+
- Include specific numbers with timeframes
|
|
253
|
+
- Note that information is educational, not advice
|
|
254
|
+
- Cite recognized financial institutions
|
|
255
|
+
|
|
256
|
+
### Legal Content
|
|
257
|
+
- Cite specific laws, statutes, and regulations
|
|
258
|
+
- Reference jurisdiction clearly
|
|
259
|
+
- Include professional disclaimers
|
|
260
|
+
- Note when professional consultation is advised
|
|
261
|
+
|
|
262
|
+
### Business/Marketing Content
|
|
263
|
+
- Include case studies with measurable results
|
|
264
|
+
- Reference industry research and reports
|
|
265
|
+
- Add percentage changes and timeframes
|
|
266
|
+
- Quote recognized thought leaders
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## Voice Search Optimization
|
|
271
|
+
|
|
272
|
+
Voice queries are conversational and question-based. Optimize for these patterns:
|
|
273
|
+
|
|
274
|
+
### Question Formats for Voice
|
|
275
|
+
- "What is..."
|
|
276
|
+
- "How do I..."
|
|
277
|
+
- "Where can I find..."
|
|
278
|
+
- "Why does..."
|
|
279
|
+
- "When should I..."
|
|
280
|
+
- "Who is..."
|
|
281
|
+
|
|
282
|
+
### Voice-Optimized Answer Structure
|
|
283
|
+
- Lead with direct answer (under 30 words ideal)
|
|
284
|
+
- Use natural, conversational language
|
|
285
|
+
- Avoid jargon unless targeting expert audience
|
|
286
|
+
- Include local context where relevant
|
|
287
|
+
- Structure for single spoken response
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# AI SEO by Content Type
|
|
2
|
+
|
|
3
|
+
Tactical guidance for optimizing specific content types for AI search citation. These tactics work for non-Google AI engines (ChatGPT, Claude, Perplexity, Copilot) and don't hurt Google AI Overviews / AI Mode.
|
|
4
|
+
|
|
5
|
+
For the cross-cutting strategy, see [GUIDE.md](../GUIDE.md).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## SaaS Product Pages
|
|
10
|
+
|
|
11
|
+
**Goal:** Get cited in "What is [category]?" and "Best [category]" queries. (Citation is the realistic goal here; being *recommended* in the answer depends on offsite consensus — see [citations-vs-recommendations.md](citations-vs-recommendations.md).)
|
|
12
|
+
|
|
13
|
+
**Optimize:**
|
|
14
|
+
- Clear product description in first paragraph (what it does, who it's for)
|
|
15
|
+
- Feature comparison tables (you vs. category, not just competitors)
|
|
16
|
+
- Specific metrics ("processes 10,000 transactions/sec" not "blazing fast")
|
|
17
|
+
- Customer count or social proof with numbers
|
|
18
|
+
- Pricing transparency (AI cites pages with visible pricing) — add a `/pricing.md` file so AI agents can parse your plans without rendering your page (see "Machine-Readable Files" in the main skill)
|
|
19
|
+
- FAQ section addressing common buyer questions
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Blog Content
|
|
24
|
+
|
|
25
|
+
**Goal:** Get cited as an authoritative source on topics in your space.
|
|
26
|
+
|
|
27
|
+
**Optimize:**
|
|
28
|
+
- One clear target query per post (match heading to query)
|
|
29
|
+
- Definition in first paragraph for "What is" queries
|
|
30
|
+
- Original data, research, or expert quotes
|
|
31
|
+
- "Last updated" date visible
|
|
32
|
+
- Author bio with relevant credentials
|
|
33
|
+
- Internal links to related product/feature pages
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Comparison / Alternative Pages
|
|
38
|
+
|
|
39
|
+
**Goal:** Get cited in "[X] vs [Y]" and "Best [X] alternatives" queries.
|
|
40
|
+
|
|
41
|
+
**Optimize:**
|
|
42
|
+
- Structured comparison tables (not just prose)
|
|
43
|
+
- Fair and balanced (AI penalizes obviously biased comparisons)
|
|
44
|
+
- Specific criteria with ratings or scores
|
|
45
|
+
- Updated pricing and feature data
|
|
46
|
+
- Cite the `competitors` skill for building these pages
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Documentation / Help Content
|
|
51
|
+
|
|
52
|
+
**Goal:** Get cited in "How to [X] with [your product]" queries.
|
|
53
|
+
|
|
54
|
+
**Optimize:**
|
|
55
|
+
- Step-by-step format with numbered lists
|
|
56
|
+
- Code examples where relevant
|
|
57
|
+
- HowTo schema markup
|
|
58
|
+
- Screenshots with descriptive alt text
|
|
59
|
+
- Clear prerequisites and expected outcomes
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Local Business / Ecom (Google emphasis)
|
|
64
|
+
|
|
65
|
+
Google's AI features pull from product feeds and business profiles for local + ecom queries. Optimize:
|
|
66
|
+
|
|
67
|
+
- **Merchant Center feeds** kept current with accurate inventory, pricing, attributes
|
|
68
|
+
- **Google Business Profile** complete with hours, services, photos, posts, Q&A answered
|
|
69
|
+
- **Reviews** — recent + sufficient volume; respond to reviews to signal active management
|
|
70
|
+
- **Service area schema** for local services
|
|
71
|
+
- **Business Agent** (where available) for conversational customer engagement
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Format Volatility — Which Content Formats AI Cites (and How Fast That Changes)
|
|
2
|
+
|
|
3
|
+
Citation-*source* volatility (Reddit wiped overnight, Gemini favoring owned sites) is covered in [agent-readiness.md](agent-readiness.md). This reference covers the second volatility axis: citation-*format* — which page types AI engines retrieve and cite, and the August 2026 evidence that heavily-exploited formats get demoted.
|
|
4
|
+
|
|
5
|
+
Read this before recommending comparison pages, listicles, or "best X" content for AI visibility. The advice changed materially with ChatGPT 5.6.
|
|
6
|
+
|
|
7
|
+
## The ChatGPT 5.6 format shift (August 2026)
|
|
8
|
+
|
|
9
|
+
Data from Peec AI (shared by Tomek Rudzki via Lily Ray, Aug 2026), comparing ChatGPT retrieval behavior before and after the 5.6 launch:
|
|
10
|
+
|
|
11
|
+
**Fan-out queries** — the modifiers that declined most as a share of ChatGPT's background searches:
|
|
12
|
+
|
|
13
|
+
- "vs"
|
|
14
|
+
- "comparison"
|
|
15
|
+
- "top"
|
|
16
|
+
- "best"
|
|
17
|
+
- "reviews"
|
|
18
|
+
|
|
19
|
+
At the same time: a surge in `site:` searches and modifiers like **"official"**.
|
|
20
|
+
|
|
21
|
+
**Citations by page type** — share of total ChatGPT citations:
|
|
22
|
+
|
|
23
|
+
| Page type | Pre-5.6 | Post-5.6 | Change |
|
|
24
|
+
|---|---:|---:|---:|
|
|
25
|
+
| Listicles ("Top 10 X," "8 best Y") | 15.77% | 7.80% | **−50.5%** |
|
|
26
|
+
| Comparison pages ("X vs Y," alternatives) | 9.08% | 6.17% | **−32.1%** |
|
|
27
|
+
|
|
28
|
+
The interpretation (Lily Ray's, and it fits the fan-out data): these are exactly the two formats companies scaled for GEO over the prior 18 months, and ChatGPT adjusted retrieval to mitigate the spam. The `site:`/"official" surge points the same direction — **toward primary sources and owned domains, away from aggregator formats**.
|
|
29
|
+
|
|
30
|
+
## What this changes (and what it doesn't)
|
|
31
|
+
|
|
32
|
+
**It does NOT mean "stop making comparison pages."** Comparison and best-of content still:
|
|
33
|
+
|
|
34
|
+
- Converts human buyers (its original job)
|
|
35
|
+
- Gets cited by Google AI Overviews (which follow core rankings, not ChatGPT's retrieval)
|
|
36
|
+
- Feeds Gemini and Perplexity, which haven't shown the same demotion
|
|
37
|
+
- Answers real mid-funnel queries on your own site
|
|
38
|
+
|
|
39
|
+
**It DOES mean:**
|
|
40
|
+
|
|
41
|
+
1. **Stop justifying scaled listicle/comparison production with "it wins AI citations."** On ChatGPT — the largest AI answer surface — that rationale lost half its force in one release.
|
|
42
|
+
2. **The "official"/primary-source shift favors your owned pages.** Product pages, docs, pricing pages, original research — the pages only you can publish — are rising as the citable class. This compounds the Gemini finding (business-owned sites ≈ 60% of citations).
|
|
43
|
+
3. **Format strategy is now per-platform.** Check which engines matter for your category before choosing formats:
|
|
44
|
+
|
|
45
|
+
| Format | ChatGPT (post-5.6) | Google AIO | Gemini | Perplexity |
|
|
46
|
+
|---|---|---|---|---|
|
|
47
|
+
| Listicles / best-of | Demoted | Rankings-dependent | OK | OK |
|
|
48
|
+
| Comparison / vs pages | Demoted | Rankings-dependent | OK | OK |
|
|
49
|
+
| Original research + data | Strong | Strong | Strong | Strong |
|
|
50
|
+
| Product/docs/pricing (owned, "official") | **Rising** | Strong | **Dominant** | Strong |
|
|
51
|
+
| How-to / guides | Steady | Strong | OK | Strong |
|
|
52
|
+
|
|
53
|
+
*(Table caveat: the demotion was measured on ChatGPT only. "OK" for Gemini/Perplexity means no demotion has been reported there — not that stability was measured. Any engine can ship its own 5.6-style shift.)*
|
|
54
|
+
|
|
55
|
+
4. **Treat every number above as a dated snapshot.** Same doctrine as source volatility: these are Aug 2026 measurements of a moving system. Verify against your own citation monitoring before betting budget.
|
|
56
|
+
|
|
57
|
+
## LinkedIn as a citation surface (from LinkedIn's own AEO guide)
|
|
58
|
+
|
|
59
|
+
LinkedIn quietly published its own AEO/AI-search guidance (surfaced by Chris Long, Sep 2026). The platform-reported numbers:
|
|
60
|
+
|
|
61
|
+
- LinkedIn is the **most-cited outlet for professional-topic searches**
|
|
62
|
+
- **~60% of LinkedIn citations come from Articles**, ~40% from Posts
|
|
63
|
+
- Post URLs use the **first words of the post as the slug**
|
|
64
|
+
|
|
65
|
+
**Tactics:**
|
|
66
|
+
|
|
67
|
+
- For professional/B2B topics, LinkedIn Articles are a first-class Presence-pillar surface — treat long-form Articles (not just feed posts) as citable assets with the same extractable structure as blog content.
|
|
68
|
+
- **Front-load the target phrase in a post's opening words** — they become the URL slug, which is retrieval surface.
|
|
69
|
+
- This is platform-reported data (LinkedIn grading its own homework); weight accordingly, but the Articles > Posts split matches the general pattern that long-form structured content out-cites feed content.
|
|
70
|
+
|
|
71
|
+
## DIY diagnostic: extract ChatGPT's real fan-out queries
|
|
72
|
+
|
|
73
|
+
You don't need a tool to see what ChatGPT actually searches for in your niche (method circulating publicly, Aug 2026):
|
|
74
|
+
|
|
75
|
+
1. Run an important query for your category in ChatGPT (with search).
|
|
76
|
+
2. Open DevTools → Network tab, refresh the conversation (URL id after `/c/`).
|
|
77
|
+
3. Find the conversation response payload and search it for `queries`.
|
|
78
|
+
4. You'll see the literal background searches ChatGPT fanned out to.
|
|
79
|
+
|
|
80
|
+
**Use it for:** building your query-test list from *real* fan-out behavior instead of guesses; checking whether your category's fan-outs still use "best/vs" modifiers or have shifted to `site:`/"official" patterns; finding sub-topics your content doesn't cover.
|
|
81
|
+
|
|
82
|
+
**Do not use it for:** auto-generating and mass-publishing an article per fan-out query. That's the exact scaled-content pattern 5.6 demoted (and Google's scaled content abuse policy names). The diagnostic is for coverage planning, not content spam.
|
|
83
|
+
|
|
84
|
+
## Measurement rigor: AI answers are non-deterministic
|
|
85
|
+
|
|
86
|
+
A single ChatGPT answer is an anecdote, not a measurement — the same prompt returns different sources run-to-run. (The statistical-rigor framing here is popularized by Initial Commit's AEO audit skill, Josh Pigford, Aug 2026; the practice stands on its own.)
|
|
87
|
+
|
|
88
|
+
When auditing or monitoring:
|
|
89
|
+
|
|
90
|
+
- **Run each query 3–5 times per platform**, fresh session each time.
|
|
91
|
+
- **Track mention/citation *rate*** ("cited in 3 of 5 runs"), never a yes/no from one run.
|
|
92
|
+
- **Report the sample size** with every number ("40% mention rate, n=5") so future-you knows how much to trust it.
|
|
93
|
+
- **Compare rates over time, not runs.** A drop from 4/5 to 3/5 is noise; a drop from 4/5 to 0/5 sustained across a month is signal.
|
|
94
|
+
- Before diagnosing *why* you're not cited, split causes the way an audit should: **technical** (can't be crawled/parsed — see agent-readiness.md), **comprehension** (AI describes you inaccurately or vaguely), or **trust** (understood but not selected — see citations-vs-recommendations.md).
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
*Sources, all labeled and dated: Peec AI pre/post-5.6 citation data via Tomek Rudzki and Lily Ray (Aug 2026); LinkedIn's AEO guide numbers via Chris Long (Sep 2026, platform-reported); fan-out extraction method as publicly circulated (Aug 2026); measurement-rigor framing credited to Initial Commit's AEO audit skill (Josh Pigford, Aug 2026). All snapshots of a volatile system — verify against your own monitoring.*
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Open Knowledge Format (OKF)
|
|
2
|
+
|
|
3
|
+
Google's v0.1 markdown spec for representing site content as an agent-readable bundle. Introduced on the [Google Cloud blog](https://cloud.google.com/blog/products/data-analytics/how-the-open-knowledge-format-can-improve-data-sharing) on 2026-06-12 and shipped inside Knowledge Catalog.
|
|
4
|
+
|
|
5
|
+
## What it is
|
|
6
|
+
|
|
7
|
+
OKF is a directory of cross-linked markdown files. Each file has:
|
|
8
|
+
|
|
9
|
+
- A YAML frontmatter block (`type` required; `title`, `description`, `resource`, `tags`, `timestamp` recommended)
|
|
10
|
+
- A standard markdown body
|
|
11
|
+
- Standard markdown links to other files in the bundle (which the spec treats as concept relationships)
|
|
12
|
+
|
|
13
|
+
An optional `index.md` lists the files for progressive disclosure. The bundle can be distributed as a git repo (recommended), a tarball/zip, or a subdirectory of a larger repo.
|
|
14
|
+
|
|
15
|
+
The [full spec](https://github.com/GoogleCloudPlatform/knowledge-catalog/blob/HEAD/okf/SPEC.md) fits on one page. The repo lives under `GoogleCloudPlatform` (the "not an official Google product" disclaimer is Google's standard open-source boilerplate, not a denial — it appears on most of Google's open-source repos including their main AI samples repo).
|
|
16
|
+
|
|
17
|
+
### A minimal concept file
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
---
|
|
21
|
+
type: Article
|
|
22
|
+
title: How to Connect the Ahrefs MCP Server to Manus
|
|
23
|
+
description: The official MCP servers, why they did not connect, and the fix.
|
|
24
|
+
resource: https://yoursite.com/blog/ahrefs-mcp-manus/
|
|
25
|
+
tags: [mcp, ahrefs]
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# How to Connect the Ahrefs MCP Server to Manus
|
|
29
|
+
|
|
30
|
+
The body of the post, as clean markdown.
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Add an `index.md` that lists all files so an agent can see the bundle's shape before opening each file, and that is the entire format.
|
|
34
|
+
|
|
35
|
+
## Honest framing
|
|
36
|
+
|
|
37
|
+
**Google built OKF for data teams sharing catalog metadata** — BigQuery tables, API endpoints, metrics, playbooks. Most of the spec's examples are data-team artifacts, not blog posts. Google's blog post framing: "improve data sharing" and "standardized documentation" for collaboration across teams.
|
|
38
|
+
|
|
39
|
+
Pointing OKF at a marketing site is a **clever repurposing** popularized by [Suganthan Mohanadasan](https://suganthan.com/blog/open-knowledge-format/). It's a legitimate use case for the format but not Google's primary one. Frame it accurately when explaining it to founders or marketing teams.
|
|
40
|
+
|
|
41
|
+
## What it does for AI search today
|
|
42
|
+
|
|
43
|
+
Nothing immediate. Nothing crawls the web for OKF bundles yet — the spec is weeks old, no AI engine has announced integration, and Knowledge Catalog ingests bundles only for paying enterprise customers' data teams.
|
|
44
|
+
|
|
45
|
+
Treat OKF as **protocol-layer registration** — the same shape of bet as early `schema.org` adoption was a decade ago. Schema took the better part of ten years to pay off; people who shipped it early are still glad they did.
|
|
46
|
+
|
|
47
|
+
A secondary benefit that pays off today regardless: **generating the bundle is itself an internal-linking audit**. Suganthan's tool draws every page as a node and every internal link as an edge, so islands and orphans become obvious at a glance.
|
|
48
|
+
|
|
49
|
+
## Where OKF fits in the agent-readable stack
|
|
50
|
+
|
|
51
|
+
| Layer | Purpose |
|
|
52
|
+
|---|---|
|
|
53
|
+
| `sitemap.xml` | Tells a crawler which URLs exist |
|
|
54
|
+
| `robots.txt` (with AI bot rules) | Permits or blocks AI crawlers |
|
|
55
|
+
| `llms.txt` | Points an agent at the handful of pages you most want read |
|
|
56
|
+
| `/pricing.md` | Structured pricing for agent-buyer comparisons |
|
|
57
|
+
| **`/okf/` bundle** | Hands over the content itself as cross-linked concepts |
|
|
58
|
+
| Schema markup | Per-page structured data (Article, FAQPage, Product, etc.) |
|
|
59
|
+
|
|
60
|
+
These stack rather than compete. `llms.txt` is a signpost, OKF is the library.
|
|
61
|
+
|
|
62
|
+
## How to ship one
|
|
63
|
+
|
|
64
|
+
Three options, ordered by how much effort they take:
|
|
65
|
+
|
|
66
|
+
### 1. Suganthan's free web tool (recommended for most sites)
|
|
67
|
+
|
|
68
|
+
[suganthan.com/okf-generator](https://suganthan.com/okf-generator/) — paste a URL or sitemap, crawls up to 100 pages, returns a downloadable bundle. Also draws the resulting page graph so you can spot disconnected pages before publishing.
|
|
69
|
+
|
|
70
|
+
### 2. WordPress plugin (pending wp.org approval)
|
|
71
|
+
|
|
72
|
+
Suganthan's plugin (free, GPL, awaiting wp.org approval at time of writing) installs in a minute, serves the bundle at `/okf/`, and rebuilds on every publish or edit so it stays in sync. Direct download link is in [his blog post](https://suganthan.com/blog/open-knowledge-format/). Requires WordPress 6.0+ and PHP 7.4+. Read-only — never edits posts or settings.
|
|
73
|
+
|
|
74
|
+
### 3. By hand
|
|
75
|
+
|
|
76
|
+
Only practical for a handful of pages. Each post becomes a markdown file with frontmatter that you cross-link manually. Miserable for a whole site.
|
|
77
|
+
|
|
78
|
+
## Hosting & discovery
|
|
79
|
+
|
|
80
|
+
Serve the bundle at `yoursite.com/okf/`, starting with `yoursite.com/okf/index.md`:
|
|
81
|
+
|
|
82
|
+
- **Static hosts / Cloudflare**: drag and drop
|
|
83
|
+
- **WordPress**: Suganthan's plugin handles the serving
|
|
84
|
+
- **Static sites with custom paths**: upload the directory to `/okf/`
|
|
85
|
+
- **Closed platforms (Wix, Squarespace, most page-builders)**: you usually can't serve files at custom paths — skip OKF entirely
|
|
86
|
+
|
|
87
|
+
After it's serving, add a line to `llms.txt` pointing to the bundle so agents that read `llms.txt` (today) can discover the bundle (later).
|
|
88
|
+
|
|
89
|
+
## When to skip
|
|
90
|
+
|
|
91
|
+
- Site is <10 pages — overhead exceeds payoff
|
|
92
|
+
- Site is on a closed platform that won't allow custom paths
|
|
93
|
+
- You're not maintaining `llms.txt`, schema markup, or other machine-readable files (OKF compounds with those; alone it does nothing)
|
|
94
|
+
- You can't budget the 30 minutes a quarter to refresh the bundle as content changes
|
|
95
|
+
|
|
96
|
+
## What to watch
|
|
97
|
+
|
|
98
|
+
OKF is v0.1, weeks old. Worth tracking, not worth obsessing over:
|
|
99
|
+
|
|
100
|
+
- Whether Google announces OKF support in AI Overviews / Knowledge Graph (currently no signal)
|
|
101
|
+
- Whether non-Google engines (ChatGPT, Perplexity, Claude) announce OKF reading
|
|
102
|
+
- Whether the spec moves to v1.0 (breaking changes are possible at <1.0)
|
|
103
|
+
- Whether Knowledge Catalog adds public ingestion endpoints
|
|
104
|
+
- Adoption signals — search GitHub for `okf/index.md` to see who's shipping bundles
|