Install
openclaw skills install afrexai-seo-content-engineComplete SEO content creation system for AI agents. Research keywords, analyze competitors, write optimized articles, and track rankings — all through natural conversation. No APIs required.
openclaw skills install afrexai-seo-content-engineTurn your AI agent into a full SEO content team. Research → Plan → Write → Optimize → Publish — all in natural language.
No APIs. No subscriptions. Just smart agent workflows using web search and structured frameworks.
When given a topic, expand it systematically:
For each keyword, classify intent:
| Intent | Signal Words | Content Type |
|---|---|---|
| Informational | how to, what is, guide, tutorial, why | How-to guide, explainer, tutorial |
| Commercial | best, top, review, comparison, vs | Listicle, comparison, review |
| Transactional | buy, pricing, discount, free trial, download | Product page, landing page |
| Navigational | [brand name], login, support, docs | Brand page (skip — low value) |
For each target keyword:
Step 1: Search the exact keyword
Step 2: Analyze top 5 results:
- What type of content ranks? (listicle, guide, review)
- What's the average word count? (check article length)
- What subtopics do ALL top results cover? (table stakes)
- What subtopics do NONE cover? (your opportunity)
- Who wrote them? (big brand = harder, niche blog = beatable)
Step 3: Score opportunity:
- Mostly forums/Reddit in top 5 = HIGH opportunity (no dedicated content)
- All big brands (Forbes, HubSpot) = LOW opportunity (hard to outrank)
- Mix of niche sites = MEDIUM opportunity (winnable with better content)
Score each keyword (1-5 per dimension):
| Dimension | 1 (Low) | 5 (High) |
|---|---|---|
| Relevance | Tangentially related | Core topic |
| Intent match | Informational only | Commercial/transactional |
| Competition gap | All big brands | Forums, thin content |
| Business value | No conversion path | Direct product tie-in |
| Content feasibility | Need proprietary data | Can write from expertise |
Priority: Score ≥ 18 = write immediately. 13-17 = queue. < 13 = skip.
Before writing ANY article, create this brief:
# Content Brief: [Title]
**Target keyword**: [primary keyword]
**Secondary keywords**: [3-5 related terms to weave in naturally]
**Search intent**: [informational/commercial/transactional]
**Target word count**: [based on competitor analysis]
**Content type**: [guide/listicle/comparison/review/case study]
## Audience
- Who is searching this? [persona]
- What do they already know? [beginner/intermediate/advanced]
- What do they want to DO after reading? [action]
## Must-Cover Subtopics (from competitor analysis)
1. [Topic all competitors cover — table stakes]
2. [Topic all competitors cover — table stakes]
3. ...
## Differentiation Angles (our edge)
1. [Topic NO competitor covers — our advantage]
2. [Fresh data/perspective they're missing]
3. [Practical template/tool they don't provide]
## Internal Links
- Link TO: [existing content on your site]
- Link FROM: [update these older articles to link to this one]
## CTA
- Primary: [what should the reader do?]
- Secondary: [email signup, related article, tool]
Organize articles into clusters:
PILLAR PAGE: "Complete Guide to [Topic]" (3,000-5,000 words)
├── CLUSTER: "How to [Subtopic A]" (1,500-2,500 words)
├── CLUSTER: "Best [Subtopic B] for [Audience]" (2,000-3,000 words)
├── CLUSTER: "[Subtopic C] vs [Subtopic D]" (1,500-2,000 words)
├── CLUSTER: "[Subtopic E] Template + Examples" (1,000-1,500 words)
└── CLUSTER: "Common [Topic] Mistakes" (1,500-2,000 words)
Each cluster article links back to the pillar. The pillar links to all clusters. This builds topical authority.
Every article follows this skeleton:
✅ DO:
- Primary keyword in title (H1)
- Primary keyword in first 100 words
- Primary keyword in 1-2 H2 headings
- Primary keyword in conclusion
- Secondary keywords scattered in body (1-2 each)
- Semantic variants throughout (synonyms, related phrases)
❌ DON'T:
- Use exact keyword more than 1x per 200 words
- Force keywords into headings where they sound unnatural
- Use the same keyword phrase 3x in one paragraph
- Stuff keywords in image alt text unnaturally
Run this checklist on every article before publishing:
/best-project-management-tools{
"@context": "https://schema.org",
"@type": "Article",
"headline": "[Title]",
"description": "[Meta description]",
"author": {
"@type": "Person",
"name": "[Author]"
},
"datePublished": "[YYYY-MM-DD]",
"dateModified": "[YYYY-MM-DD]",
"publisher": {
"@type": "Organization",
"name": "[Site Name]"
}
}
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "[Question 1]",
"acceptedAnswer": {
"@type": "Answer",
"text": "[Answer 1]"
}
}
]
}
# Best [X] for [Y] in [Year]
[Hook: Stat about the problem or market size]
[Bridge: Why choosing the right X matters for Y]
## Quick Comparison Table
| Product | Best For | Price | Rating |
|---------|----------|-------|--------|
## 1. [Product Name] — Best Overall
### Why It Stands Out
### Key Features
### Pricing
### Who It's For
### Downsides
[Repeat for 7-10 products]
## How We Evaluated
[Methodology — builds trust]
## FAQ
## Final Verdict
# How to [X]: Step-by-Step Guide ([Year])
[Hook: What you'll achieve by the end]
[Bridge: Common mistakes people make with X]
## What You'll Need
[Prerequisites, tools, time estimate]
## Step 1: [Action Verb + Outcome]
[Detailed instructions]
[Screenshot or example]
[Pro tip callout]
[Repeat for each step]
## Common Mistakes to Avoid
## Advanced Tips
## FAQ
## Next Steps
# [X] vs [Y]: Which Is Better in [Year]?
[Hook: The core difference in one sentence]
[Bridge: When to choose X vs Y]
## Quick Verdict
[TL;DR comparison — who should choose what]
## Overview Comparison
| Feature | X | Y |
|---------|---|---|
## [Feature Category 1]: [X] vs [Y]
### How [X] Handles It
### How [Y] Handles It
### Winner: [X/Y] because [reason]
[Repeat for 5-7 feature categories]
## Pricing Breakdown
## Who Should Choose [X]
## Who Should Choose [Y]
## FAQ
## Our Recommendation
# The Ultimate Guide to [Topic] ([Year])
[Hook: Why this topic matters now]
[Bridge: What this guide covers that others don't]
## Table of Contents
## Chapter 1: [Foundational Concept]
[Explain the basics — link to cluster article for deep dive]
## Chapter 2: [Core Strategy]
[Main approach — link to how-to cluster]
## Chapter 3: [Tools & Resources]
[Curated list — link to comparison cluster]
## Chapter 4: [Advanced Techniques]
[Expert-level tactics]
## Chapter 5: [Common Mistakes]
[What to avoid — link to mistakes cluster]
## Chapter 6: [Case Studies / Examples]
[Real-world applications]
## FAQ (10-15 questions for this one)
## Conclusion + What to Do Next
1. READABILITY CHECK
- Flesch Reading Ease: aim for 60-70 (8th-9th grade level)
- No paragraphs over 4 sentences
- No sentences over 25 words without a break
- Subheading every 250-300 words
2. KEYWORD DENSITY CHECK
- Primary keyword: 0.5-1.5% density (not higher)
- If over 1.5%: replace some instances with synonyms
- If under 0.5%: add naturally in body paragraphs
3. LINK AUDIT
- Internal links: 3-5 per 1,500 words minimum
- External links: 2-3 to authoritative sources (.gov, .edu, industry leaders)
- No orphan pages (every article linked from at least one other)
4. MEDIA CHECK
- Featured image with alt text
- In-content images/diagrams every 300-500 words
- Tables where data comparison exists
- Callout boxes for key takeaways
5. CTA CHECK
- One primary CTA (not competing CTAs)
- CTA appears at end and optionally mid-article
- CTA is specific ("Download the template" not "Learn more")
1. INDEX REQUEST
- Submit URL to Google Search Console
- Share on social media (generates initial signals)
2. INTERNAL LINKING UPDATE
- Find 3-5 existing articles related to this topic
- Add contextual links from those articles to this new one
- This distributes link equity and helps discovery
3. MONITOR (Week 1-4)
- Track ranking position for target keyword
- Monitor organic impressions in Search Console
- Check bounce rate and time on page
4. UPDATE CYCLE
- Refresh content every 6-12 months
- Update stats, add new sections, improve based on search performance
- Articles that rank page 2 (positions 11-20) = highest ROI to update
Score every article before publishing (aim for 85+):
| Criteria | Points | How to Score |
|---|---|---|
| Keyword optimization | /15 | Title + H2s + natural body placement |
| Content depth | /20 | Covers all subtopics competitors cover + unique angles |
| Readability | /15 | Short paragraphs, varied sentences, scannable |
| Practical value | /15 | Templates, examples, actionable steps (not just theory) |
| Structure | /10 | Clear H2/H3 hierarchy, logical flow, TOC for long articles |
| Internal links | /5 | 3+ contextual internal links |
| External links | /5 | 2+ authoritative external references |
| Media | /5 | Images, tables, or diagrams present |
| Meta tags | /5 | Title < 60 chars, description 150-160 chars, both include keyword |
| CTA clarity | /5 | Single clear CTA with specific action |
| TOTAL | /100 |
Score guide:
Use natural language to trigger these workflows:
| Command | What It Does |
|---|---|
| "Research keywords for [topic]" | Full keyword expansion + prioritization matrix |
| "Analyze competitors for [keyword]" | Top 5 SERP analysis with content gaps |
| "Create a content brief for [keyword]" | Full brief using the template above |
| "Write an article about [topic]" | Full article using HBCFC framework + on-page checklist |
| "Optimize this article for [keyword]" | Run the optimization workflow on existing content |
| "Score this article" | Apply the 100-point scoring rubric |
| "Plan a content cluster for [topic]" | Pillar + 5-6 cluster articles with internal linking map |
| "Generate schema for this article" | Article + FAQ JSON-LD markup |
| "Create a [listicle/guide/comparison]" | Use the specific template for that content type |
| "Audit my SEO" | Full on-page checklist against provided content |
Don't just target one keyword — own the entire topic:
To win featured snippets (position 0):
Google favors fresh content for time-sensitive queries:
Built by AfrexAI — AI agent infrastructure for businesses that ship.