How to use it
- Hit Copy SKILL.md — or use the Claude Code line below to get every file.
- Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
ChatGPT: make a Project and paste it into Instructions.
Neither? Paste it at the top of a new chat — it works for that chat. - Describe your job in plain words. The AI follows the skill from there.
npx degit gooseworks-ai/goose-skills/skills/seo/composites/seo-content-audit#main ~/.claude/skills/seo-content-auditFor one project only, change the path to .claude/skills/seo-content-audit. This skill also uses content-inventory.md, seo-profile.md, brand-voice.md — copying SKILL.md alone won't be enough. See the folder on GitHub.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Show the full text347 lines
SEO Content Audit
The complete SEO footprint analysis — content inventory, real SEO metrics, competitor comparison, gap matrices, and prioritized recommendations in one report.
Quick Start
Run an SEO content audit for [company]. Website: [url]. Competitors: [list].
Inputs
| Input | Required | Description |
|---|---|---|
| Company name | Yes | User provides |
| Company domain | Yes | e.g., "example.com" |
| Seed competitors | Recommended | 2-5 competitor domains; system discovers more |
| Target keywords | Optional | User provides; system also auto-discovers |
Cost
| Component | Est. Cost |
|---|---|
| Content catalog (target) | ~$0-0.50 (free unless Apify fallback needed) |
| Semrush data (target) | ~$0.10 |
| Ahrefs data (target) | ~$0.10 |
| Google rank checks (~30 keywords) | ~$0.06 |
| Competitor Semrush data (3-5 competitors) | ~$0.30-0.50 |
| Content catalog (competitors, lighter) | ~$0-1.00 |
| Brand voice extraction | Free (WebFetch) |
| Total typical audit | ~$1-3 |
Step-by-Step Process
Phase 1: Context & Setup
Gather basics from the user: company name, domain, seed competitors, target keywords.
Phase 2: Content Inventory
Crawl the target domain to build a complete content inventory:
- Fetch sitemap.xml (or RSS, blog index as fallback)
- Catalog every page: URL, title, date, content type, topic cluster
- Group content by type (blog posts, landing pages, case studies, comparisons, etc.)
- Analyze publishing cadence (posts/month, trend, recency)
- Optionally deep-analyze top 20 pages for word count, funnel stage, CTA presence
Phase 3: SEO Performance Data
Pull SEO metrics for the target domain:
- Domain overview — authority score, organic traffic estimate, keyword count, traffic trend (via Apify Semrush scraper if
APIFY_API_TOKENis set, or web search probes as fallback) - Backlink profile — domain rating, referring domains, top linking sites (via Apify Ahrefs scraper)
- Keyword rankings — check actual Google rankings for target keywords (via web search or Apify Google Search scraper)
- Competitor discovery — identify competing domains from keyword overlap
- Competitor metrics — run a lighter version of steps 1-2 for each competitor
Phase 4: Competitor Content Analysis
For each competitor (3-5 max), crawl their site to get:
- Content type breakdown (blog posts, case studies, comparisons, etc.)
- Topic clusters (what topics they cover)
- Publishing cadence (how often they publish)
No deep analysis needed for competitors — just structure and volume.
Phase 5: Build Gap Matrices
Using data from Phases 2-4, build two matrices:
A) Topic/Keyword Gap Matrix
Cross-reference the target's keyword rankings and content topics against competitors:
| Topic / Keyword | [Target] | [Comp 1] | [Comp 2] | [Comp 3] | Gap? |
|-----------------|----------|----------|----------|----------|------|
| cloud cost optimization | #4, 3 posts | #1, 12 posts | #2, 8 posts | #7, 5 posts | Partial |
| aws savings plans | No content | #3, 4 posts | No content | #1, 6 posts | YES |
| finops best practices | 1 post, not ranking | #5, 3 posts | #2, 7 posts | — | YES |
For each topic/keyword:
- Does the target have content? How much?
- Does the target rank for it? What position?
- Which competitors rank? How much content do they have?
- Is this a gap? (target has no/weak content, competitors are strong)
How to build this:
- Collect all unique topic clusters from target + all competitors
- For each topic, count content pieces per company
- Cross-reference with keyword ranking data (from Phase 3)
- Flag gaps where competitors have coverage and target doesn't
B) Content Type Gap Matrix
Compare what types of content each company produces:
| Content Type | [Target] | [Comp 1] | [Comp 2] | [Comp 3] | Gap? |
|-------------|----------|----------|----------|----------|------|
| Blog posts | 89 | 156 | 112 | 45 | Volume gap |
| Comparison pages | 0 | 12 | 8 | 3 | YES |
| Case studies | 5 | 22 | 15 | 8 | Weak |
| Glossary / educational | 0 | 45 | 0 | 30 | YES |
| Integration pages | 12 | 34 | 28 | 15 | Partial |
| ROI calculator / tools | 0 | 1 | 2 | 0 | Opportunity |
| Webinars / video | 3 | 18 | 12 | 6 | Weak |
How to build this:
- Use the content type classifications from all content catalogs
- Count per type per company
- Flag types where target is at zero or significantly behind competitors
Phase 6: Brand Voice Extraction (Optional)
If the audit will feed into content creation:
- From the content inventory (Phase 2), select 10-15 of the best blog posts (most recent, longest, most diverse topics)
- Fetch each page and analyze the writing style
- Produce brand voice guidelines: tone, vocabulary patterns, sentence structure, do's and don'ts
Phase 7: Synthesis & Report
Combine all findings into the final report. Save to the current working directory or wherever the user prefers.
Output Template
# SEO Content Audit: [Company Name]
**Date:** YYYY-MM-DD
**Domain:** [domain]
**Competitors analyzed:** [list]
**Data sources:** [Semrush (via Apify), Ahrefs (via Apify), Google SERP, sitemap crawl, RSS]
---
## Executive Summary
[3-5 sentences. Overall SEO health assessment. Biggest strength. Biggest gap.
Most important recommendation. How they compare to competitors overall.]
---
## 1. Content Inventory
### Overview
- **Total pages cataloged:** X
- **Blog posts:** X
- **Landing pages:** X
- **Case studies:** X
- **Comparison pages:** X
- **Other:** X
### Content by Topic Cluster
| Topic | Posts | % of Content | Most Recent |
|-------|-------|-------------|-------------|
| [Topic 1] | X | X% | YYYY-MM-DD |
| ... |
### Publishing Cadence
- **Average:** X posts/month
- **Trend:** [increasing/decreasing/stable]
- **Most recent publish:** YYYY-MM-DD
- **Unique authors:** X
### Content Depth Assessment
[From deep analysis of top 20 pages: average word count, funnel stage distribution,
how many have CTAs, internal linking patterns]
---
## 2. SEO Performance
### Domain Metrics
| Metric | [Target] | Industry Benchmark* |
|--------|----------|-------------------|
| Authority Score (Semrush) | X/100 | |
| Domain Rating (Ahrefs) | X/100 | |
| Monthly Organic Traffic | ~X | |
| Organic Keywords | X | |
| Backlinks | X | |
| Referring Domains | X | |
### Top Performing Pages
| # | URL | Est. Traffic | Top Keyword | Position |
|---|-----|-------------|-------------|----------|
| 1 | ... | ... | ... | ... |
### Keyword Rankings
| Keyword | Position | URL | Gap? |
|---------|----------|-----|------|
| [keyword 1] | #X | [url] | |
| [keyword 2] | Not ranking | — | YES |
### Backlink Profile
- Domain Rating: X/100
- Referring Domains: X
- Top linking sites: [list]
- Notable: [any insights about link profile quality]
---
## 3. Competitor Comparison
### Domain Metrics Comparison
| Metric | [Target] | [Comp 1] | [Comp 2] | [Comp 3] |
|--------|----------|----------|----------|----------|
| Authority Score | | | | |
| Organic Traffic | | | | |
| Keywords | | | | |
| Blog Posts | | | | |
| Content Types | | | | |
### Topic/Keyword Gap Matrix
| Topic / Keyword | [Target] | [Comp 1] | [Comp 2] | [Comp 3] | Gap? |
|-----------------|----------|----------|----------|----------|------|
| [topic 1] | X posts, #Y | ... | ... | ... | |
| ... |
### Content Type Gap Matrix
| Content Type | [Target] | [Comp 1] | [Comp 2] | [Comp 3] | Gap? |
|-------------|----------|----------|----------|----------|------|
| Blog posts | X | X | X | X | |
| Comparison pages | X | X | X | X | |
| Case studies | X | X | X | X | |
| ... |
---
## 4. Gaps & Opportunities
### Critical Gaps (High Impact, Act Now)
1. **[Gap]:** [Description. What competitors have that target doesn't.
Estimated search volume / traffic opportunity. Difficulty to address.]
2. ...
### Content Type Opportunities
1. **[Missing content type]:** [Why it matters. What competitors are doing.
Estimated effort to create.]
2. ...
### Quick Wins (Low Effort, Immediate Impact)
1. **[Quick win]:** [What to do. Expected impact.]
2. ...
### Keyword Opportunities
| Keyword | Est. Search Volume | Competitor Positions | Difficulty | Priority |
|---------|-------------------|---------------------|------------|----------|
| ... |
---
## 5. Brand Voice Profile
### Voice Summary
[2-3 sentence summary of their writing voice]
### Tone
| Dimension | Position |
|-----------|----------|
| Formality | [e.g., Professional-casual] |
| Authority | [e.g., Expert/teacher] |
| Humor | [e.g., None] |
| Directness | [e.g., Very direct] |
### Writing Guidelines
**Do:**
- [Guideline 1]
- [Guideline 2]
**Don't:**
- [Anti-pattern 1]
- [Anti-pattern 2]
[Link to full brand voice profile if generated]
---
## 6. Recommendations (Prioritized)
### Tier 1: High Impact, Do First
1. **[Recommendation]**
- What: [specific action]
- Why: [evidence from audit]
- Expected impact: [traffic/ranking improvement]
- Effort: [Low/Medium/High]
2. ...
### Tier 2: Medium Impact, Plan For
1. ...
### Tier 3: Long-term Strategic
1. ...
---
## Appendix
### A. Full Content Catalog
[Link to content-inventory.md]
### B. Complete SEO Profile
[Link to seo-profile.md]
### C. Brand Voice Guidelines
[Link to brand-voice.md]
### D. Raw Data
- Content inventory JSON
- SEO profile JSON
- Competitor content JSONs
Tips
- Run Phases 2-3 in parallel. Content cataloging and SEO metrics are independent — run them simultaneously to save time.
- Start with 3 competitors, not 5. More competitors = more Apify costs. Start small, add more if the initial analysis shows gaps.
- The gap matrices are the most valuable output. Focus your analysis effort there. They directly feed into content strategy recommendations.
- Brand voice is optional but valuable. If you're pressed for time, skip it. But if this feeds into content creation or outreach, it's worth the 10 minutes.
- Update quarterly. SEO landscapes shift. Re-run the audit every quarter to track progress and discover new gaps.
- Combine with AEO visibility for a complete organic search picture — traditional SEO + AI answer engine coverage.
- The free fallback works. If Apify is unavailable, the scripts fall back to web search probes. You get less precise data but still a useful audit.
Dependencies
APIFY_API_TOKENenv var (for Semrush/Ahrefs data via Apify; free web search probes work without it)- Web search and web fetch capabilities
| 1 | |
| 2 | name seo-content-audit |
| 3 | description > |
| 4 | Comprehensive SEO footprint analysis. Catalogs all content, pulls real SEO metrics |
| 5 | (via Apify Semrush/Ahrefs scrapers or free web search probes), runs competitor analysis, |
| 6 | builds topic/keyword and content-type gap matrices, and produces a prioritized |
| 7 | recommendations report. The complete SEO audit for any company. |
| 8 | tags [seo] |
| 9 | |
| 10 | |
| 11 | # SEO Content Audit |
| 12 | |
| 13 | The complete SEO footprint analysis — content inventory, real SEO metrics, competitor comparison, gap matrices, and prioritized recommendations in one report. |
| 14 | |
| 15 | ## Quick Start |
| 16 | |
| 17 | |
| 18 | Run an SEO content audit for [company]. Website: [url]. Competitors: [list]. |
| 19 | |
| 20 | |
| 21 | ## Inputs |
| 22 | |
| 23 | | Input | Required | Description | |
| 24 | |-------|----------|-------------| |
| 25 | | **Company name** | Yes | User provides | |
| 26 | | **Company domain** | Yes | e.g., "example.com" | |
| 27 | | **Seed competitors** | Recommended | 2-5 competitor domains; system discovers more | |
| 28 | | **Target keywords** | Optional | User provides; system also auto-discovers | |
| 29 | |
| 30 | ## Cost |
| 31 | |
| 32 | | Component | Est. Cost | |
| 33 | |-----------|-----------| |
| 34 | | Content catalog (target) | ~$0-0.50 (free unless Apify fallback needed) | |
| 35 | | Semrush data (target) | ~$0.10 | |
| 36 | | Ahrefs data (target) | ~$0.10 | |
| 37 | | Google rank checks (~30 keywords) | ~$0.06 | |
| 38 | | Competitor Semrush data (3-5 competitors) | ~$0.30-0.50 | |
| 39 | | Content catalog (competitors, lighter) | ~$0-1.00 | |
| 40 | | Brand voice extraction | Free (WebFetch) | |
| 41 | | **Total typical audit** | **~$1-3** | |
| 42 | |
| 43 | ## Step-by-Step Process |
| 44 | |
| 45 | ### Phase 1: Context & Setup |
| 46 | |
| 47 | Gather basics from the user: company name, domain, seed competitors, target keywords. |
| 48 | |
| 49 | ### Phase 2: Content Inventory |
| 50 | |
| 51 | Crawl the target domain to build a complete content inventory: |
| 52 | |
| 53 | Fetch sitemap.xml (or RSS, blog index as fallback) |
| 54 | Catalog every page: URL, title, date, content type, topic cluster |
| 55 | Group content by type (blog posts, landing pages, case studies, comparisons, etc.) |
| 56 | Analyze publishing cadence (posts/month, trend, recency) |
| 57 | Optionally deep-analyze top 20 pages for word count, funnel stage, CTA presence |
| 58 | |
| 59 | ### Phase 3: SEO Performance Data |
| 60 | |
| 61 | Pull SEO metrics for the target domain: |
| 62 | |
| 63 | **Domain overview** — authority score, organic traffic estimate, keyword count, traffic trend (via Apify Semrush scraper if `APIFY_API_TOKEN` is set, or web search probes as fallback) |
| 64 | **Backlink profile** — domain rating, referring domains, top linking sites (via Apify Ahrefs scraper) |
| 65 | **Keyword rankings** — check actual Google rankings for target keywords (via web search or Apify Google Search scraper) |
| 66 | **Competitor discovery** — identify competing domains from keyword overlap |
| 67 | **Competitor metrics** — run a lighter version of steps 1-2 for each competitor |
| 68 | |
| 69 | ### Phase 4: Competitor Content Analysis |
| 70 | |
| 71 | For each competitor (3-5 max), crawl their site to get: |
| 72 | Content type breakdown (blog posts, case studies, comparisons, etc.) |
| 73 | Topic clusters (what topics they cover) |
| 74 | Publishing cadence (how often they publish) |
| 75 | |
| 76 | No deep analysis needed for competitors — just structure and volume. |
| 77 | |
| 78 | ### Phase 5: Build Gap Matrices |
| 79 | |
| 80 | Using data from Phases 2-4, build two matrices: |
| 81 | |
| 82 | #### A) Topic/Keyword Gap Matrix |
| 83 | |
| 84 | Cross-reference the target's keyword rankings and content topics against competitors: |
| 85 | |
| 86 | |
| 87 | | Topic / Keyword | [Target] | [Comp 1] | [Comp 2] | [Comp 3] | Gap? | |
| 88 | |-----------------|----------|----------|----------|----------|------| |
| 89 | | cloud cost optimization | #4, 3 posts | #1, 12 posts | #2, 8 posts | #7, 5 posts | Partial | |
| 90 | | aws savings plans | No content | #3, 4 posts | No content | #1, 6 posts | YES | |
| 91 | | finops best practices | 1 post, not ranking | #5, 3 posts | #2, 7 posts | — | YES | |
| 92 | |
| 93 | |
| 94 | For each topic/keyword: |
| 95 | Does the target have content? How much? |
| 96 | Does the target rank for it? What position? |
| 97 | Which competitors rank? How much content do they have? |
| 98 | Is this a gap? (target has no/weak content, competitors are strong) |
| 99 | |
| 100 | **How to build this:** |
| 101 | Collect all unique topic clusters from target + all competitors |
| 102 | For each topic, count content pieces per company |
| 103 | Cross-reference with keyword ranking data (from Phase 3) |
| 104 | Flag gaps where competitors have coverage and target doesn't |
| 105 | |
| 106 | #### B) Content Type Gap Matrix |
| 107 | |
| 108 | Compare what types of content each company produces: |
| 109 | |
| 110 | |
| 111 | | Content Type | [Target] | [Comp 1] | [Comp 2] | [Comp 3] | Gap? | |
| 112 | |-------------|----------|----------|----------|----------|------| |
| 113 | | Blog posts | 89 | 156 | 112 | 45 | Volume gap | |
| 114 | | Comparison pages | 0 | 12 | 8 | 3 | YES | |
| 115 | | Case studies | 5 | 22 | 15 | 8 | Weak | |
| 116 | | Glossary / educational | 0 | 45 | 0 | 30 | YES | |
| 117 | | Integration pages | 12 | 34 | 28 | 15 | Partial | |
| 118 | | ROI calculator / tools | 0 | 1 | 2 | 0 | Opportunity | |
| 119 | | Webinars / video | 3 | 18 | 12 | 6 | Weak | |
| 120 | |
| 121 | |
| 122 | **How to build this:** |
| 123 | Use the content type classifications from all content catalogs |
| 124 | Count per type per company |
| 125 | Flag types where target is at zero or significantly behind competitors |
| 126 | |
| 127 | ### Phase 6: Brand Voice Extraction (Optional) |
| 128 | |
| 129 | If the audit will feed into content creation: |
| 130 | |
| 131 | From the content inventory (Phase 2), select 10-15 of the best blog posts (most recent, longest, most diverse topics) |
| 132 | Fetch each page and analyze the writing style |
| 133 | Produce brand voice guidelines: tone, vocabulary patterns, sentence structure, do's and don'ts |
| 134 | |
| 135 | ### Phase 7: Synthesis & Report |
| 136 | |
| 137 | Combine all findings into the final report. Save to the current working directory or wherever the user prefers. |
| 138 | |
| 139 | |
| 140 | |
| 141 | ## Output Template |
| 142 | |
| 143 | |
| 144 | # SEO Content Audit: [Company Name] |
| 145 | |
| 146 | **Date:** YYYY-MM-DD |
| 147 | **Domain:** [domain] |
| 148 | **Competitors analyzed:** [list] |
| 149 | **Data sources:** [Semrush (via Apify), Ahrefs (via Apify), Google SERP, sitemap crawl, RSS] |
| 150 | |
| 151 | |
| 152 | |
| 153 | ## Executive Summary |
| 154 | |
| 155 | [3-5 sentences. Overall SEO health assessment. Biggest strength. Biggest gap. |
| 156 | Most important recommendation. How they compare to competitors overall.] |
| 157 | |
| 158 | |
| 159 | |
| 160 | ## 1. Content Inventory |
| 161 | |
| 162 | ### Overview |
| 163 | - **Total pages cataloged:** X |
| 164 | - **Blog posts:** X |
| 165 | - **Landing pages:** X |
| 166 | - **Case studies:** X |
| 167 | - **Comparison pages:** X |
| 168 | - **Other:** X |
| 169 | |
| 170 | ### Content by Topic Cluster |
| 171 | | Topic | Posts | % of Content | Most Recent | |
| 172 | |-------|-------|-------------|-------------| |
| 173 | | [Topic 1] | X | X% | YYYY-MM-DD | |
| 174 | | ... | |
| 175 | |
| 176 | ### Publishing Cadence |
| 177 | - **Average:** X posts/month |
| 178 | - **Trend:** [increasing/decreasing/stable] |
| 179 | - **Most recent publish:** YYYY-MM-DD |
| 180 | - **Unique authors:** X |
| 181 | |
| 182 | ### Content Depth Assessment |
| 183 | [From deep analysis of top 20 pages: average word count, funnel stage distribution, |
| 184 | how many have CTAs, internal linking patterns] |
| 185 | |
| 186 | |
| 187 | |
| 188 | ## 2. SEO Performance |
| 189 | |
| 190 | ### Domain Metrics |
| 191 | | Metric | [Target] | Industry Benchmark* | |
| 192 | |--------|----------|-------------------| |
| 193 | | Authority Score (Semrush) | X/100 | | |
| 194 | | Domain Rating (Ahrefs) | X/100 | | |
| 195 | | Monthly Organic Traffic | ~X | | |
| 196 | | Organic Keywords | X | | |
| 197 | | Backlinks | X | | |
| 198 | | Referring Domains | X | | |
| 199 | |
| 200 | ### Top Performing Pages |
| 201 | | # | URL | Est. Traffic | Top Keyword | Position | |
| 202 | |---|-----|-------------|-------------|----------| |
| 203 | | 1 | ... | ... | ... | ... | |
| 204 | |
| 205 | ### Keyword Rankings |
| 206 | | Keyword | Position | URL | Gap? | |
| 207 | |---------|----------|-----|------| |
| 208 | | [keyword 1] | #X | [url] | | |
| 209 | | [keyword 2] | Not ranking | — | YES | |
| 210 | |
| 211 | ### Backlink Profile |
| 212 | - Domain Rating: X/100 |
| 213 | - Referring Domains: X |
| 214 | - Top linking sites: [list] |
| 215 | - Notable: [any insights about link profile quality] |
| 216 | |
| 217 | |
| 218 | |
| 219 | ## 3. Competitor Comparison |
| 220 | |
| 221 | ### Domain Metrics Comparison |
| 222 | | Metric | [Target] | [Comp 1] | [Comp 2] | [Comp 3] | |
| 223 | |--------|----------|----------|----------|----------| |
| 224 | | Authority Score | | | | | |
| 225 | | Organic Traffic | | | | | |
| 226 | | Keywords | | | | | |
| 227 | | Blog Posts | | | | | |
| 228 | | Content Types | | | | | |
| 229 | |
| 230 | ### Topic/Keyword Gap Matrix |
| 231 | | Topic / Keyword | [Target] | [Comp 1] | [Comp 2] | [Comp 3] | Gap? | |
| 232 | |-----------------|----------|----------|----------|----------|------| |
| 233 | | [topic 1] | X posts, #Y | ... | ... | ... | | |
| 234 | | ... | |
| 235 | |
| 236 | ### Content Type Gap Matrix |
| 237 | | Content Type | [Target] | [Comp 1] | [Comp 2] | [Comp 3] | Gap? | |
| 238 | |-------------|----------|----------|----------|----------|------| |
| 239 | | Blog posts | X | X | X | X | | |
| 240 | | Comparison pages | X | X | X | X | | |
| 241 | | Case studies | X | X | X | X | | |
| 242 | | ... | |
| 243 | |
| 244 | |
| 245 | |
| 246 | ## 4. Gaps & Opportunities |
| 247 | |
| 248 | ### Critical Gaps (High Impact, Act Now) |
| 249 | 1. **[Gap]:** [Description. What competitors have that target doesn't. |
| 250 | Estimated search volume / traffic opportunity. Difficulty to address.] |
| 251 | 2. ... |
| 252 | |
| 253 | ### Content Type Opportunities |
| 254 | 1. **[Missing content type]:** [Why it matters. What competitors are doing. |
| 255 | Estimated effort to create.] |
| 256 | 2. ... |
| 257 | |
| 258 | ### Quick Wins (Low Effort, Immediate Impact) |
| 259 | 1. **[Quick win]:** [What to do. Expected impact.] |
| 260 | 2. ... |
| 261 | |
| 262 | ### Keyword Opportunities |
| 263 | | Keyword | Est. Search Volume | Competitor Positions | Difficulty | Priority | |
| 264 | |---------|-------------------|---------------------|------------|----------| |
| 265 | | ... | |
| 266 | |
| 267 | |
| 268 | |
| 269 | ## 5. Brand Voice Profile |
| 270 | |
| 271 | ### Voice Summary |
| 272 | [2-3 sentence summary of their writing voice] |
| 273 | |
| 274 | ### Tone |
| 275 | | Dimension | Position | |
| 276 | |-----------|----------| |
| 277 | | Formality | [e.g., Professional-casual] | |
| 278 | | Authority | [e.g., Expert/teacher] | |
| 279 | | Humor | [e.g., None] | |
| 280 | | Directness | [e.g., Very direct] | |
| 281 | |
| 282 | ### Writing Guidelines |
| 283 | **Do:** |
| 284 | - [Guideline 1] |
| 285 | - [Guideline 2] |
| 286 | |
| 287 | **Don't:** |
| 288 | - [Anti-pattern 1] |
| 289 | - [Anti-pattern 2] |
| 290 | |
| 291 | [Link to full brand voice profile if generated] |
| 292 | |
| 293 | |
| 294 | |
| 295 | ## 6. Recommendations (Prioritized) |
| 296 | |
| 297 | ### Tier 1: High Impact, Do First |
| 298 | 1. **[Recommendation]** |
| 299 | - What: [specific action] |
| 300 | - Why: [evidence from audit] |
| 301 | - Expected impact: [traffic/ranking improvement] |
| 302 | - Effort: [Low/Medium/High] |
| 303 | |
| 304 | 2. ... |
| 305 | |
| 306 | ### Tier 2: Medium Impact, Plan For |
| 307 | 1. ... |
| 308 | |
| 309 | ### Tier 3: Long-term Strategic |
| 310 | 1. ... |
| 311 | |
| 312 | |
| 313 | |
| 314 | ## Appendix |
| 315 | |
| 316 | ### A. Full Content Catalog |
| 317 | [Link to content-inventory.md] |
| 318 | |
| 319 | ### B. Complete SEO Profile |
| 320 | [Link to seo-profile.md] |
| 321 | |
| 322 | ### C. Brand Voice Guidelines |
| 323 | [Link to brand-voice.md] |
| 324 | |
| 325 | ### D. Raw Data |
| 326 | - Content inventory JSON |
| 327 | - SEO profile JSON |
| 328 | - Competitor content JSONs |
| 329 | |
| 330 | |
| 331 | |
| 332 | |
| 333 | ## Tips |
| 334 | |
| 335 | **Run Phases 2-3 in parallel.** Content cataloging and SEO metrics are independent — run them simultaneously to save time. |
| 336 | **Start with 3 competitors, not 5.** More competitors = more Apify costs. Start small, add more if the initial analysis shows gaps. |
| 337 | **The gap matrices are the most valuable output.** Focus your analysis effort there. They directly feed into content strategy recommendations. |
| 338 | **Brand voice is optional but valuable.** If you're pressed for time, skip it. But if this feeds into content creation or outreach, it's worth the 10 minutes. |
| 339 | **Update quarterly.** SEO landscapes shift. Re-run the audit every quarter to track progress and discover new gaps. |
| 340 | **Combine with AEO visibility** for a complete organic search picture — traditional SEO + AI answer engine coverage. |
| 341 | **The free fallback works.** If Apify is unavailable, the scripts fall back to web search probes. You get less precise data but still a useful audit. |
| 342 | |
| 343 | ## Dependencies |
| 344 | |
| 345 | `APIFY_API_TOKEN` env var (for Semrush/Ahrefs data via Apify; free web search probes work without it) |
| 346 | Web search and web fetch capabilities |
| 347 |