@hanzlaa/rcode 4.3.2 → 4.4.0
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/AGENTS.md +1 -1
- package/CONTRIBUTING.md +2 -1
- package/README.md +45 -10
- package/cli/doctor.js +21 -3
- package/cli/index.js +5 -1
- package/cli/install.js +16 -2
- package/cli/postinstall.js +1 -1
- package/cli/uninstall.js +48 -6
- package/dist/rcode.js +178 -174
- package/package.json +12 -22
- package/rcode/agents/rcode-codebase-mapper.md +12 -0
- package/rcode/agents/rcode-phase-researcher.md +13 -0
- package/rcode/agents/rcode-project-researcher.md +32 -0
- package/rcode/agents/rcode-roadmapper.md +15 -0
- package/rcode/agents/rules/planner/common-patterns.md +40 -0
- package/rcode/bin/lib/roadmap.cjs +184 -11
- package/rcode/bin/rcode-hooks.cjs +303 -14
- package/rcode/bin/rcode-tools.cjs +669 -55
- package/rcode/commands/lens-audit.md +8 -6
- package/rcode/data/intent-table.json +87 -0
- package/rcode/modules/seo.yaml +22 -0
- package/rcode/references/project-types.yaml +75 -0
- package/rcode/skills/SKILLS_INDEX.md +20 -2
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/SKILL.md +16 -21
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/backlog-building.md +13 -0
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/merge-strategy.md +17 -0
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/orchestrator-rhythm.md +9 -0
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/wave-design.md +21 -0
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/templates/heartbeat.sh +0 -0
- package/rcode/skills/actions/4-implementation/rcode-scaffold-project/SKILL.md +60 -1
- package/rcode/skills/core/rcode-lazy/SKILL.md +149 -0
- package/rcode/skills/seo/module.yaml +20 -0
- package/rcode/skills/seo/on-page-seo-auditor/SKILL.md +308 -0
- package/rcode/skills/seo/on-page-seo-auditor/references/audit-example.md +109 -0
- package/rcode/skills/seo/on-page-seo-auditor/references/audit-templates.md +427 -0
- package/rcode/skills/seo/on-page-seo-auditor/references/bulk-audit-playbook.md +116 -0
- package/rcode/skills/seo/on-page-seo-auditor/references/scoring-rubric.md +525 -0
- package/rcode/skills/seo/rank-and-rent-local-seo/SKILL.md +94 -0
- package/rcode/skills/seo/rank-and-rent-local-seo/rules/city-matrix-and-pages.md +76 -0
- package/rcode/skills/seo/rank-and-rent-local-seo/rules/monetization.md +70 -0
- package/rcode/skills/seo/rank-and-rent-local-seo/rules/niche-selection.md +60 -0
- package/rcode/skills/seo/rank-and-rent-local-seo/rules/subniche-discovery.md +66 -0
- package/rcode/skills/seo/rank-and-rent-local-seo/templates/service-city-page.md +36 -0
- package/rcode/skills/seo/rank-and-rent-local-seo/templates/subniche-research-prompt.md +34 -0
- package/rcode/skills/seo/seo-audit/SKILL.md +412 -0
- package/rcode/skills/seo/seo-audit/evals/evals.json +136 -0
- package/rcode/skills/seo/seo-audit/references/ai-writing-detection.md +200 -0
- package/rcode/skills/seo/seo-content-factory/SKILL.md +130 -0
- package/rcode/skills/seo/seo-content-factory/rules/agents.md +80 -0
- package/rcode/skills/seo/seo-content-factory/rules/herdr-wave-mapping.md +80 -0
- package/rcode/skills/seo/seo-content-factory/rules/pipeline.md +102 -0
- package/rcode/skills/seo/seo-content-factory/rules/programmatic-pages.md +107 -0
- package/rcode/skills/seo/seo-content-factory/rules/quality-gates.md +68 -0
- package/rcode/skills/seo/seo-content-factory/rules/weekly-cadence.md +61 -0
- package/rcode/skills/seo/seo-content-factory/templates/BACKLOG.md +23 -0
- package/rcode/skills/seo/seo-content-factory/templates/agent-prompts/01-funnel-A1-A4.md +63 -0
- package/rcode/skills/seo/seo-content-factory/templates/agent-prompts/02-fanout-editorial-A5-A6-A8.md +28 -0
- package/rcode/skills/seo/seo-content-factory/templates/agent-prompts/03-fanout-programmatic-A7-A6-A8.md +25 -0
- package/rcode/skills/seo/seo-content-factory/templates/agent-prompts/04-loop-A9-A10.md +34 -0
- package/rcode/skills/seo/seo-content-factory/templates/article.mdx +39 -0
- package/rcode/skills/seo/seo-content-factory/templates/cluster.schema.json +52 -0
- package/rcode/skills/seo/seo-content-factory/templates/content-brief.md +51 -0
- package/rcode/skills/seo/seo-content-factory/templates/jsonld-builders.ts +49 -0
- package/rcode/skills/seo/seo-content-factory/templates/keywords.csv +13 -0
- package/rcode/skills/seo/seo-content-factory/templates/programmatic-page.tsx +58 -0
- package/rcode/skills/seo/seo-content-writer/SKILL.md +263 -0
- package/rcode/skills/seo/seo-content-writer/references/content-structure-templates.md +875 -0
- package/rcode/skills/seo/seo-content-writer/references/instructions-detail.md +239 -0
- package/rcode/skills/seo/seo-content-writer/references/seo-writing-checklist.md +250 -0
- package/rcode/skills/seo/seo-content-writer/references/title-formulas.md +339 -0
- package/rcode/skills/seo/seo-growth-orchestrator/SKILL.md +79 -0
- package/rcode/skills/seo/seo-growth-orchestrator/rules/backlinks.md +29 -0
- package/rcode/skills/seo/seo-growth-orchestrator/rules/content-engine.md +27 -0
- package/rcode/skills/seo/seo-growth-orchestrator/rules/dos-and-donts.md +40 -0
- package/rcode/skills/seo/seo-growth-orchestrator/rules/goals-protocol.md +34 -0
- package/rcode/skills/seo/seo-growth-orchestrator/rules/local-seo-stack.md +35 -0
- package/rcode/skills/seo/seo-growth-orchestrator/rules/mrr-sprint.md +27 -0
- package/rcode/skills/seo/seo-growth-orchestrator/rules/tools.md +19 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/backlink-research.md +29 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/goal-protocol.md +35 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/local-citations.md +24 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/local-city-pages.md +27 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/local-gbp-categories.md +23 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/local-gsc-goldmine.md +27 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/local-review-mining.md +26 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/mrr-30day-plan.md +19 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/mrr-cut.md +13 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/mrr-opportunity-finder.md +17 -0
- package/rcode/skills/seo/seo-growth-orchestrator/templates/mrr-role-model.md +18 -0
- package/rcode/skills/seo/seo-site-builder/SKILL.md +149 -0
- package/rcode/skills/seo/seo-site-builder/rules/01-niche-discovery.md +64 -0
- package/rcode/skills/seo/seo-site-builder/rules/02-deep-research.md +164 -0
- package/rcode/skills/seo/seo-site-builder/rules/03-keyword-strategy.md +82 -0
- package/rcode/skills/seo/seo-site-builder/rules/04-content-plan.md +173 -0
- package/rcode/skills/seo/seo-site-builder/rules/05-site-build.md +187 -0
- package/rcode/skills/seo/seo-site-builder/rules/06-yolo.md +127 -0
- package/rcode/skills/seo/seo-site-builder/templates/article-stub.mdx +62 -0
- package/rcode/skills/seo/seo-site-builder/templates/image-prompt.md +97 -0
- package/rcode/skills/seo/seo-site-builder/templates/keyword-export.md +45 -0
- package/rcode/skills/seo/seo-site-builder/templates/niche-scorecard.md +28 -0
- package/rcode/skills/seo/technical-seo-checker/SKILL.md +329 -0
- package/rcode/skills/seo/technical-seo-checker/references/bulk-audit-playbook.md +118 -0
- package/rcode/skills/seo/technical-seo-checker/references/ecommerce-platform-patterns.md +166 -0
- package/rcode/skills/seo/technical-seo-checker/references/http-status-codes.md +705 -0
- package/rcode/skills/seo/technical-seo-checker/references/llm-crawler-handling.md +257 -0
- package/rcode/skills/seo/technical-seo-checker/references/pre-migration-playbook.md +137 -0
- package/rcode/skills/seo/technical-seo-checker/references/robots-txt-reference.md +717 -0
- package/rcode/skills/seo/technical-seo-checker/references/technical-audit-example.md +169 -0
- package/rcode/skills/seo/technical-seo-checker/references/technical-audit-templates.md +436 -0
- package/rcode/templates/settings-hooks.json +16 -1
- package/rcode/workflows/do.md +17 -0
- package/rcode/workflows/enable-hooks.md +3 -2
- package/rcode/workflows/execute-sprint.md +22 -0
- package/rcode/workflows/execute.md +17 -3
- package/rcode/workflows/lens-audit.md +49 -8
- package/rcode/workflows/new-milestone.md +21 -9
- package/rcode/workflows/new-project-create-roadmap.md +2 -0
- package/rcode/workflows/new-project-roadmap.md +2 -0
- package/rcode/workflows/new-project.md +3 -0
- package/rcode/workflows/plan.md +15 -2
- package/server/dashboard.js +6 -2
- package/server/lib/api.js +35 -20
- package/server/lib/html/client/components/OrchPanel.js +43 -2
- package/server/lib/html/client/components/dashboard/InProgress.js +5 -4
- package/server/lib/html/client/components/shared.js +14 -0
- package/server/lib/html/client/orchestrator.js +13 -0
- package/server/lib/html/client/views/KanbanView.js +33 -4
- package/server/lib/html/css.js +57 -3
- package/server/lib/scanner.js +40 -4
- package/server/orchestrator.js +42 -0
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
# On-Page SEO Auditor — Output Templates
|
|
2
|
+
|
|
3
|
+
Detailed output templates for on-page-seo-auditor steps 1-11. Referenced from [SKILL.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/optimize/on-page-seo-auditor/SKILL.md).
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Step 1: Gather Page Information
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
### Audit Setup
|
|
11
|
+
|
|
12
|
+
**Page URL**: [URL]
|
|
13
|
+
**Target Keyword**: [primary keyword]
|
|
14
|
+
**Secondary Keywords**: [additional keywords]
|
|
15
|
+
**Page Type**: [blog/product/landing/service]
|
|
16
|
+
**Business Goal**: [traffic/conversions/authority]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Step 2: Audit Title Tag
|
|
22
|
+
|
|
23
|
+
```markdown
|
|
24
|
+
## Title Tag Analysis
|
|
25
|
+
|
|
26
|
+
**Current Title**: [title]
|
|
27
|
+
**Character Count**: [X] characters
|
|
28
|
+
|
|
29
|
+
| Criterion | Status | Notes |
|
|
30
|
+
|-----------|--------|-------|
|
|
31
|
+
| Length (50-60 chars) | Pass/Warn/Fail | [notes] |
|
|
32
|
+
| Keyword included | Pass/Warn/Fail | Position: [front/middle/end] |
|
|
33
|
+
| Keyword at front | Pass/Warn/Fail | [notes] |
|
|
34
|
+
| Unique across site | Pass/Warn/Fail | [notes] |
|
|
35
|
+
| Compelling/clickable | Pass/Warn/Fail | [notes] |
|
|
36
|
+
| Matches intent | Pass/Warn/Fail | [notes] |
|
|
37
|
+
|
|
38
|
+
**Title Score**: [X]/10
|
|
39
|
+
|
|
40
|
+
**Issues Found**:
|
|
41
|
+
- [Issue 1]
|
|
42
|
+
- [Issue 2]
|
|
43
|
+
|
|
44
|
+
**Recommended Title**:
|
|
45
|
+
"[Optimized title suggestion]"
|
|
46
|
+
|
|
47
|
+
**Why**: [Explanation of improvements]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Step 3: Audit Meta Description
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
## Meta Description Analysis
|
|
56
|
+
|
|
57
|
+
**Current Description**: [description]
|
|
58
|
+
**Character Count**: [X] characters
|
|
59
|
+
|
|
60
|
+
| Criterion | Status | Notes |
|
|
61
|
+
|-----------|--------|-------|
|
|
62
|
+
| Length (150-160 chars) | Pass/Warn/Fail | [notes] |
|
|
63
|
+
| Keyword included | Pass/Warn/Fail | [notes] |
|
|
64
|
+
| Call-to-action present | Pass/Warn/Fail | [notes] |
|
|
65
|
+
| Unique across site | Pass/Warn/Fail | [notes] |
|
|
66
|
+
| Accurately describes page | Pass/Warn/Fail | [notes] |
|
|
67
|
+
| Compelling copy | Pass/Warn/Fail | [notes] |
|
|
68
|
+
|
|
69
|
+
**Description Score**: [X]/10
|
|
70
|
+
|
|
71
|
+
**Issues Found**:
|
|
72
|
+
- [Issue 1]
|
|
73
|
+
|
|
74
|
+
**Recommended Description**:
|
|
75
|
+
"[Optimized description suggestion]" ([X] chars)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Step 4: Audit Header Structure
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
## Header Structure Analysis
|
|
84
|
+
|
|
85
|
+
### Current Header Hierarchy
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
H1: [H1 text]
|
|
89
|
+
H2: [H2 text]
|
|
90
|
+
H3: [H3 text]
|
|
91
|
+
H3: [H3 text]
|
|
92
|
+
H2: [H2 text]
|
|
93
|
+
H3: [H3 text]
|
|
94
|
+
H2: [H2 text]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
| Criterion | Status | Notes |
|
|
98
|
+
|-----------|--------|-------|
|
|
99
|
+
| Single H1 | Pass/Warn/Fail | Found: [X] H1s |
|
|
100
|
+
| H1 includes keyword | Pass/Warn/Fail | [notes] |
|
|
101
|
+
| Logical hierarchy | Pass/Warn/Fail | [notes] |
|
|
102
|
+
| H2s include keywords | Pass/Warn/Fail | [X]/[Y] contain keywords |
|
|
103
|
+
| No skipped levels | Pass/Warn/Fail | [notes] |
|
|
104
|
+
| Descriptive headers | Pass/Warn/Fail | [notes] |
|
|
105
|
+
|
|
106
|
+
**Header Score**: [X]/10
|
|
107
|
+
|
|
108
|
+
**Issues Found**:
|
|
109
|
+
- [Issue 1]
|
|
110
|
+
- [Issue 2]
|
|
111
|
+
|
|
112
|
+
**Recommended Changes**:
|
|
113
|
+
- H1: [suggestion]
|
|
114
|
+
- H2s: [suggestions]
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Step 5: Audit Content Quality
|
|
120
|
+
|
|
121
|
+
```markdown
|
|
122
|
+
## Content Quality Analysis
|
|
123
|
+
|
|
124
|
+
**Word Count**: [X] words
|
|
125
|
+
**Reading Level**: [Grade level]
|
|
126
|
+
**Estimated Read Time**: [X] minutes
|
|
127
|
+
|
|
128
|
+
| Criterion | Status | Notes |
|
|
129
|
+
|-----------|--------|-------|
|
|
130
|
+
| Sufficient length | ✅/⚠️/❌ | [comparison to ranking content] |
|
|
131
|
+
| Comprehensive coverage | ✅/⚠️/❌ | [notes] |
|
|
132
|
+
| Unique value/insights | ✅/⚠️/❌ | [notes] |
|
|
133
|
+
| Up-to-date information | ✅/⚠️/❌ | [notes] |
|
|
134
|
+
| Proper formatting | ✅/⚠️/❌ | [notes] |
|
|
135
|
+
| Readability | ✅/⚠️/❌ | [notes] |
|
|
136
|
+
| E-E-A-T signals | ✅/⚠️/❌ | [notes] |
|
|
137
|
+
|
|
138
|
+
**Content Elements Present**:
|
|
139
|
+
- [ ] Introduction with keyword
|
|
140
|
+
- [ ] Clear sections/structure
|
|
141
|
+
- [ ] Bullet points/lists
|
|
142
|
+
- [ ] Tables where appropriate
|
|
143
|
+
- [ ] Images/visuals
|
|
144
|
+
- [ ] Examples/case studies
|
|
145
|
+
- [ ] Statistics with sources
|
|
146
|
+
- [ ] Expert quotes
|
|
147
|
+
- [ ] FAQ section
|
|
148
|
+
- [ ] Conclusion with CTA
|
|
149
|
+
|
|
150
|
+
**Content Score**: [X]/10
|
|
151
|
+
|
|
152
|
+
**Gaps Identified**:
|
|
153
|
+
- [Missing topic/section 1]
|
|
154
|
+
- [Missing topic/section 2]
|
|
155
|
+
|
|
156
|
+
**Recommendations**:
|
|
157
|
+
1. [Specific improvement]
|
|
158
|
+
2. [Specific improvement]
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Step 6: Audit Keyword Usage
|
|
164
|
+
|
|
165
|
+
```markdown
|
|
166
|
+
## Keyword Optimization Analysis
|
|
167
|
+
|
|
168
|
+
**Primary Keyword**: "[keyword]"
|
|
169
|
+
**Keyword Density**: [X]%
|
|
170
|
+
|
|
171
|
+
### Keyword Placement
|
|
172
|
+
|
|
173
|
+
| Location | Present | Notes |
|
|
174
|
+
|----------|---------|-------|
|
|
175
|
+
| Title tag | ✅/❌ | Position: [X] |
|
|
176
|
+
| Meta description | ✅/❌ | [notes] |
|
|
177
|
+
| H1 | ✅/❌ | [notes] |
|
|
178
|
+
| First 100 words | ✅/❌ | Word position: [X] |
|
|
179
|
+
| H2 headings | ✅/❌ | In [X]/[Y] H2s |
|
|
180
|
+
| Body content | ✅/❌ | [X] occurrences |
|
|
181
|
+
| URL slug | ✅/❌ | [notes] |
|
|
182
|
+
| Image alt text | ✅/❌ | In [X]/[Y] images |
|
|
183
|
+
| Conclusion | ✅/❌ | [notes] |
|
|
184
|
+
|
|
185
|
+
### Secondary Keywords
|
|
186
|
+
|
|
187
|
+
| Keyword | Occurrences | Status |
|
|
188
|
+
|---------|-------------|--------|
|
|
189
|
+
| [keyword 1] | [X] | ✅/⚠️/❌ |
|
|
190
|
+
| [keyword 2] | [X] | ✅/⚠️/❌ |
|
|
191
|
+
|
|
192
|
+
### LSI/Related Terms
|
|
193
|
+
|
|
194
|
+
**Present**: [list of related terms found]
|
|
195
|
+
**Missing**: [important related terms not found]
|
|
196
|
+
|
|
197
|
+
**Keyword Score**: [X]/10
|
|
198
|
+
|
|
199
|
+
**Issues**:
|
|
200
|
+
- [Issue 1]
|
|
201
|
+
|
|
202
|
+
**Recommendations**:
|
|
203
|
+
- [Suggestion 1]
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Step 7: Audit Internal Links
|
|
209
|
+
|
|
210
|
+
```markdown
|
|
211
|
+
## Internal Linking Analysis
|
|
212
|
+
|
|
213
|
+
**Total Internal Links**: [X]
|
|
214
|
+
**Unique Internal Links**: [X]
|
|
215
|
+
|
|
216
|
+
| Criterion | Status | Notes |
|
|
217
|
+
|-----------|--------|-------|
|
|
218
|
+
| Number of internal links | ✅/⚠️/❌ | [X] (recommend 3-5+) |
|
|
219
|
+
| Relevant anchor text | ✅/⚠️/❌ | [notes] |
|
|
220
|
+
| Links to related content | ✅/⚠️/❌ | [notes] |
|
|
221
|
+
| Links to important pages | ✅/⚠️/❌ | [notes] |
|
|
222
|
+
| No broken links | ✅/⚠️/❌ | [X] broken found |
|
|
223
|
+
| Natural placement | ✅/⚠️/❌ | [notes] |
|
|
224
|
+
|
|
225
|
+
**Current Internal Links**:
|
|
226
|
+
1. "[Anchor text]" → [URL]
|
|
227
|
+
2. "[Anchor text]" → [URL]
|
|
228
|
+
3. "[Anchor text]" → [URL]
|
|
229
|
+
|
|
230
|
+
**Internal Linking Score**: [X]/10
|
|
231
|
+
|
|
232
|
+
**Recommended Additional Links**:
|
|
233
|
+
1. Add link to "[Related page]" with anchor "[suggested anchor]"
|
|
234
|
+
2. Add link to "[Related page]" with anchor "[suggested anchor]"
|
|
235
|
+
|
|
236
|
+
**Anchor Text Improvements**:
|
|
237
|
+
- Change "[current anchor]" to "[improved anchor]"
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Step 8: Audit Images
|
|
243
|
+
|
|
244
|
+
```markdown
|
|
245
|
+
## Image Optimization Analysis
|
|
246
|
+
|
|
247
|
+
**Total Images**: [X]
|
|
248
|
+
|
|
249
|
+
### Image Audit Table
|
|
250
|
+
|
|
251
|
+
| Image | Alt Text | File Name | Size | Status |
|
|
252
|
+
|-------|----------|-----------|------|--------|
|
|
253
|
+
| [img1] | [alt or "missing"] | [filename] | [KB] | ✅/⚠️/❌ |
|
|
254
|
+
| [img2] | [alt or "missing"] | [filename] | [KB] | ✅/⚠️/❌ |
|
|
255
|
+
|
|
256
|
+
| Criterion | Status | Notes |
|
|
257
|
+
|-----------|--------|-------|
|
|
258
|
+
| All images have alt text | ✅/⚠️/❌ | [X]/[Y] have alt |
|
|
259
|
+
| Alt text includes keywords | ✅/⚠️/❌ | [notes] |
|
|
260
|
+
| Descriptive file names | ✅/⚠️/❌ | [notes] |
|
|
261
|
+
| Appropriate file sizes | ✅/⚠️/❌ | [notes] |
|
|
262
|
+
| Modern formats (WebP) | ✅/⚠️/❌ | [notes] |
|
|
263
|
+
| Lazy loading enabled | ✅/⚠️/❌ | [notes] |
|
|
264
|
+
|
|
265
|
+
**Image Score**: [X]/10
|
|
266
|
+
|
|
267
|
+
**Recommendations**:
|
|
268
|
+
1. Add alt text to image [X]: "[suggested alt text]"
|
|
269
|
+
2. Compress image [Y]: Currently [X]KB, should be under [Y]KB
|
|
270
|
+
3. Rename [filename] to [better-filename]
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Step 9: Audit Technical On-Page Elements
|
|
276
|
+
|
|
277
|
+
```markdown
|
|
278
|
+
## Technical On-Page Analysis
|
|
279
|
+
|
|
280
|
+
| Element | Current Value | Status | Recommendation |
|
|
281
|
+
|---------|---------------|--------|----------------|
|
|
282
|
+
| URL | [URL] | ✅/⚠️/❌ | [notes] |
|
|
283
|
+
| URL length | [X] chars | ✅/⚠️/❌ | [notes] |
|
|
284
|
+
| URL keywords | [present/absent] | ✅/⚠️/❌ | [notes] |
|
|
285
|
+
| Canonical tag | [URL or "missing"] | ✅/⚠️/❌ | [notes] |
|
|
286
|
+
| Mobile-friendly | [yes/no] | ✅/⚠️/❌ | [notes] |
|
|
287
|
+
| Page speed | [X]s | ✅/⚠️/❌ | [notes] |
|
|
288
|
+
| HTTPS | [yes/no] | ✅/⚠️/❌ | [notes] |
|
|
289
|
+
| Schema markup | [types or "none"] | ✅/⚠️/❌ | [notes] |
|
|
290
|
+
|
|
291
|
+
**Technical Score**: [X]/10
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Step 10: CORE-EEAT Content Quality Quick Scan
|
|
297
|
+
|
|
298
|
+
Run a quick scan of on-page-relevant CORE-EEAT items. Reference: [CORE-EEAT Benchmark](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/core-eeat-benchmark.md)
|
|
299
|
+
|
|
300
|
+
```markdown
|
|
301
|
+
## CORE-EEAT Quick Scan
|
|
302
|
+
|
|
303
|
+
Content-relevant items from the 80-item benchmark:
|
|
304
|
+
|
|
305
|
+
| ID | Check Item | Status | Notes |
|
|
306
|
+
|----|-----------|--------|-------|
|
|
307
|
+
| C01 | Intent Alignment | ✅/⚠️/❌ | Title promise = content delivery |
|
|
308
|
+
| C02 | Direct Answer | ✅/⚠️/❌ | Core answer in first 150 words |
|
|
309
|
+
| C09 | FAQ Coverage | ✅/⚠️/❌ | Structured FAQ present |
|
|
310
|
+
| C10 | Semantic Closure | ✅/⚠️/❌ | Conclusion answers opening |
|
|
311
|
+
| O01 | Heading Hierarchy | ✅/⚠️/❌ | H1→H2→H3, no skipping |
|
|
312
|
+
| O02 | Summary Box | ✅/⚠️/❌ | TL;DR or Key Takeaways |
|
|
313
|
+
| O03 | Data Tables | ✅/⚠️/❌ | Comparisons in tables |
|
|
314
|
+
| O05 | Schema Markup | ✅/⚠️/❌ | Appropriate JSON-LD |
|
|
315
|
+
| O06 | Section Chunking | ✅/⚠️/❌ | Single topic per section |
|
|
316
|
+
| R01 | Data Precision | ✅/⚠️/❌ | ≥5 precise numbers |
|
|
317
|
+
| R02 | Citation Density | ✅/⚠️/❌ | ≥1 per 500 words |
|
|
318
|
+
| R06 | Timestamp | ✅/⚠️/❌ | Updated <1 year |
|
|
319
|
+
| R08 | Internal Link Graph | ✅/⚠️/❌ | Descriptive anchors |
|
|
320
|
+
| R10 | Content Consistency | ✅/⚠️/❌ | No contradictions |
|
|
321
|
+
| Exp01 | First-Person Narrative | ✅/⚠️/❌ | "I tested" or "We found" |
|
|
322
|
+
| Ept01 | Author Identity | ✅/⚠️/❌ | Byline + bio present |
|
|
323
|
+
| T04 | Disclosure Statements | ✅/⚠️/❌ | Affiliate links disclosed |
|
|
324
|
+
|
|
325
|
+
**CORE-EEAT Quick Score**: [X]/17 items passing
|
|
326
|
+
|
|
327
|
+
> For a complete 80-item audit with weighted scoring, use `content-quality-auditor`.
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Step 11: Generate Audit Summary
|
|
333
|
+
|
|
334
|
+
```markdown
|
|
335
|
+
# On-Page SEO Audit Report
|
|
336
|
+
|
|
337
|
+
**Page**: [URL]
|
|
338
|
+
**Target Keyword**: [keyword]
|
|
339
|
+
**Audit Date**: [date]
|
|
340
|
+
|
|
341
|
+
## Overall Score: [X]/100
|
|
342
|
+
|
|
343
|
+
```
|
|
344
|
+
Score Breakdown:
|
|
345
|
+
████████░░ Title Tag: 8/10
|
|
346
|
+
██████░░░░ Meta Description: 6/10
|
|
347
|
+
█████████░ Headers: 9/10
|
|
348
|
+
███████░░░ Content: 7/10
|
|
349
|
+
██████░░░░ Keywords: 6/10
|
|
350
|
+
█████░░░░░ Internal Links: 5/10
|
|
351
|
+
████░░░░░░ Images: 4/10
|
|
352
|
+
████████░░ Technical: 8/10
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
## Priority Issues
|
|
356
|
+
|
|
357
|
+
### 🔴 Critical (Fix Immediately)
|
|
358
|
+
1. [Critical issue 1]
|
|
359
|
+
2. [Critical issue 2]
|
|
360
|
+
|
|
361
|
+
### 🟡 Important (Fix Soon)
|
|
362
|
+
1. [Important issue 1]
|
|
363
|
+
2. [Important issue 2]
|
|
364
|
+
|
|
365
|
+
### 🟢 Minor (Nice to Have)
|
|
366
|
+
1. [Minor issue 1]
|
|
367
|
+
2. [Minor issue 2]
|
|
368
|
+
|
|
369
|
+
## Quick Wins
|
|
370
|
+
|
|
371
|
+
These changes will have immediate impact:
|
|
372
|
+
|
|
373
|
+
1. **[Change 1]**: [Why and how]
|
|
374
|
+
2. **[Change 2]**: [Why and how]
|
|
375
|
+
3. **[Change 3]**: [Why and how]
|
|
376
|
+
|
|
377
|
+
## Detailed Recommendations
|
|
378
|
+
|
|
379
|
+
### Title Tag
|
|
380
|
+
- **Current**: [current title]
|
|
381
|
+
- **Recommended**: [new title]
|
|
382
|
+
- **Impact**: [expected improvement]
|
|
383
|
+
|
|
384
|
+
### Meta Description
|
|
385
|
+
- **Current**: [current description]
|
|
386
|
+
- **Recommended**: [new description]
|
|
387
|
+
- **Impact**: [expected improvement]
|
|
388
|
+
|
|
389
|
+
### Content Improvements
|
|
390
|
+
1. [Specific content change with location]
|
|
391
|
+
2. [Specific content change with location]
|
|
392
|
+
|
|
393
|
+
### Internal Linking
|
|
394
|
+
1. Add link: "[anchor]" → [destination]
|
|
395
|
+
2. Add link: "[anchor]" → [destination]
|
|
396
|
+
|
|
397
|
+
### Image Optimization
|
|
398
|
+
1. [Image 1]: [change needed]
|
|
399
|
+
2. [Image 2]: [change needed]
|
|
400
|
+
|
|
401
|
+
## Competitor Comparison
|
|
402
|
+
|
|
403
|
+
| Element | Your Page | Top Competitor | Gap |
|
|
404
|
+
|---------|-----------|----------------|-----|
|
|
405
|
+
| Word count | [X] | [Y] | [+/-Z] |
|
|
406
|
+
| Internal links | [X] | [Y] | [+/-Z] |
|
|
407
|
+
| Images | [X] | [Y] | [+/-Z] |
|
|
408
|
+
| H2 headings | [X] | [Y] | [+/-Z] |
|
|
409
|
+
|
|
410
|
+
## Action Checklist
|
|
411
|
+
|
|
412
|
+
- [ ] Update title tag
|
|
413
|
+
- [ ] Rewrite meta description
|
|
414
|
+
- [ ] Add keyword to H1
|
|
415
|
+
- [ ] Add [X] more internal links
|
|
416
|
+
- [ ] Add alt text to [X] images
|
|
417
|
+
- [ ] Add [X] more content sections
|
|
418
|
+
- [ ] Implement FAQ schema
|
|
419
|
+
- [ ] [Additional action items]
|
|
420
|
+
|
|
421
|
+
## Expected Results
|
|
422
|
+
|
|
423
|
+
After implementing these changes:
|
|
424
|
+
- Estimated ranking improvement: [X] positions
|
|
425
|
+
- Estimated CTR improvement: [X]%
|
|
426
|
+
- Estimated traffic increase: [X]%
|
|
427
|
+
```
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# On-Page SEO — Site-Wide / Bulk Audit Playbook
|
|
2
|
+
|
|
3
|
+
Referenced from [SKILL.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/optimize/on-page-seo-auditor/SKILL.md). Use when the user wants on-page audits across >5 pages at once.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## When to use bulk mode
|
|
8
|
+
|
|
9
|
+
- User wants to audit a content category (all blog posts, all product pages)
|
|
10
|
+
- User is triaging a site-wide traffic drop across many URLs
|
|
11
|
+
- Pre-publish audit for a content batch (5+ articles)
|
|
12
|
+
- Competitive benchmarking across many URLs
|
|
13
|
+
|
|
14
|
+
## Inputs accepted
|
|
15
|
+
|
|
16
|
+
1. **URL list** — user pastes 5+ URLs
|
|
17
|
+
2. **Sitemap URL** — scope to a section (e.g., `/sitemap-blog.xml`)
|
|
18
|
+
3. **GSC export** — URLs ranked for target queries
|
|
19
|
+
4. **Content type + sitemap** — "audit all 40 blog posts on example.com/blog/"
|
|
20
|
+
|
|
21
|
+
## Workflow
|
|
22
|
+
|
|
23
|
+
### Step 1 — Classify URLs into clusters
|
|
24
|
+
|
|
25
|
+
Group URLs by content-type template (blog post / product / landing / guide / comparison / listicle). Surface the cluster distribution to the user before spending effort:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Your 40 URLs:
|
|
29
|
+
- 24 blog posts (informational)
|
|
30
|
+
- 10 guide pages (commercial)
|
|
31
|
+
- 4 comparison pages (commercial)
|
|
32
|
+
- 2 landing pages (transactional)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Step 2 — Sample 2-3 URLs per cluster
|
|
36
|
+
|
|
37
|
+
Run the standard on-page audit flow on the sampled URLs. Capture:
|
|
38
|
+
- Title pattern (e.g., "all titles start with product name + `| Brand`")
|
|
39
|
+
- H1 pattern consistency
|
|
40
|
+
- Meta description quality distribution
|
|
41
|
+
- CORE-EEAT dimension profile for the cluster
|
|
42
|
+
|
|
43
|
+
### Step 3 — Extrapolate + confirm
|
|
44
|
+
|
|
45
|
+
Produce cluster-level findings with scope:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
### Cluster: Blog posts (24 URLs) — sample of 3
|
|
49
|
+
|
|
50
|
+
**Common strengths**:
|
|
51
|
+
- Title pattern is keyword-front-loaded + year qualifier (strong)
|
|
52
|
+
- H1 matches title (strong)
|
|
53
|
+
|
|
54
|
+
**Common weaknesses**:
|
|
55
|
+
- Meta description length distribution: 8 short (<120 chars), 16 OK, 0 over — sampled 3: 2 short, 1 OK. **Estimate: 67% need rewrite.**
|
|
56
|
+
- No H2 every 300 words — sampled 3: all violate. **Estimate: 24/24 affected.**
|
|
57
|
+
- Thin intro (<60 words before first H2) — sampled 3: 2 affected. **Estimate: 16/24.**
|
|
58
|
+
|
|
59
|
+
**CORE-EEAT profile (sampled)**:
|
|
60
|
+
- Strong: C02, O01, O02
|
|
61
|
+
- Weak: R01 (no citations), Exp02 (no first-person narrative), E01 (no original data)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Step 4 — Portfolio priority
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
P0 (affects majority of cluster):
|
|
68
|
+
- Rewrite meta descriptions across blog cluster (est. 16 URLs) — template improvement
|
|
69
|
+
|
|
70
|
+
P1 (affects minority but high-impact):
|
|
71
|
+
- Add author bio + credentials to all blog posts (est. 24 URLs) — CORE-EEAT Ept
|
|
72
|
+
- Add 1 original stat per blog post (est. 20+ URLs) — CORE-EEAT R01
|
|
73
|
+
|
|
74
|
+
P2 (single-page refinements):
|
|
75
|
+
- Specific URLs flagged during deep sample: [list]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Step 5 — Deliver bulk handoff
|
|
79
|
+
|
|
80
|
+
- **Status**: DONE | DONE_WITH_CONCERNS
|
|
81
|
+
- **Objective**: "Bulk on-page audit across <cluster_count> clusters (<total_urls> URLs)"
|
|
82
|
+
- **Key Findings / Output**: per-cluster pattern findings + portfolio priority
|
|
83
|
+
- **Evidence**: "Sampled N/M URLs; extrapolated to cluster level; confidence flagged per finding"
|
|
84
|
+
- **Open Loops**: un-sampled clusters, URLs flagged for individual attention, data gaps (no keyword data, etc.)
|
|
85
|
+
- **Recommended Next Skill**: `content-refresher` (for bulk content edits) OR `meta-tags-optimizer` (for title/description template work) OR `internal-linking-optimizer` (if linking pattern is the dominant issue)
|
|
86
|
+
|
|
87
|
+
## Template suggestions (common bulk outputs)
|
|
88
|
+
|
|
89
|
+
**Meta description template for a blog cluster**:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
[Benefit in first 80 chars]. [Proof — number, source, or specific]. [CTA clause].
|
|
93
|
+
— Target: 140-155 chars. Front-load the benefit.
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**H1 template for product cluster**:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
[Product name]: [differentiator] for [audience]
|
|
100
|
+
— e.g., "Cloud Hosting: Managed Kubernetes for Small Teams"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Alt-text template for images**:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
[Descriptive noun phrase, 6-12 words, no "image of"]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Minimum viable bulk input
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
1. URL list (or sitemap URL or content-type scope)
|
|
113
|
+
2. Are these already ranking, or new/pre-publish?
|
|
114
|
+
3. What's the business goal for this cluster?
|
|
115
|
+
4. Any known template/CMS that affects all of them?
|
|
116
|
+
```
|