Back to skills
SkillHub ClubGrow & DistributeFull StackTech Writer

content-refresher

This skill should be used when the user asks to "update old content", "refresh content", "content is outdated", "improve declining rankings", "revive old blog posts", "this post is outdated", "traffic is declining on this page", or "rankings dropped for this article". Identifies and updates outdated content to restore and improve search rankings. Analyzes content freshness, adds new information, updates statistics, and optimizes for current SEO and GEO best practices. For writing new content from scratch, see seo-content-writer. For auditing without rewriting, see on-page-seo-auditor.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,077
Hot score
99
Updated
March 20, 2026
Overall rating
C4.5
Composite score
4.5
Best-practice grade
C62.8

Install command

npx @skill-hub/cli install openclaw-skills-content-refresher

Repository

openclaw/skills

Skill path: skills/aaron-he-zhu/content-refresher

This skill should be used when the user asks to "update old content", "refresh content", "content is outdated", "improve declining rankings", "revive old blog posts", "this post is outdated", "traffic is declining on this page", or "rankings dropped for this article". Identifies and updates outdated content to restore and improve search rankings. Analyzes content freshness, adds new information, updates statistics, and optimizes for current SEO and GEO best practices. For writing new content from scratch, see seo-content-writer. For auditing without rewriting, see on-page-seo-auditor.

Open repository

Best for

Primary workflow: Grow & Distribute.

Technical facets: Full Stack, Tech Writer.

Target audience: everyone.

License: Apache-2.0.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install content-refresher into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding content-refresher to shared team environments
  • Use content-refresher for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: content-refresher
version: "3.0.0"
description: 'This skill should be used when the user asks to "update old content", "refresh content", "content is outdated", "improve declining rankings", "revive old blog posts", "this post is outdated", "traffic is declining on this page", or "rankings dropped for this article". Identifies and updates outdated content to restore and improve search rankings. Analyzes content freshness, adds new information, updates statistics, and optimizes for current SEO and GEO best practices. For writing new content from scratch, see seo-content-writer. For auditing without rewriting, see on-page-seo-auditor.'
license: Apache-2.0
compatibility: "Claude Code ≥1.0, skills.sh marketplace, ClawHub marketplace, Vercel Labs skills ecosystem. No system packages required. Optional: MCP network access for SEO tool integrations."
metadata:
  author: aaron-he-zhu
  version: "3.0.0"
  geo-relevance: "medium"
  tags:
    - seo
    - geo
    - content refresh
    - content update
    - outdated content
    - content decay
    - ranking recovery
    - content optimization
    - content-update
    - content-decay
    - evergreen-content
    - content-freshness
    - content-revival
    - refresh-content
    - update-statistics
    - republishing
    - content-lifecycle
  triggers:
    - "update old content"
    - "refresh content"
    - "content is outdated"
    - "improve declining rankings"
    - "revive old blog posts"
    - "content decay"
    - "ranking dropped"
    - "this post is outdated"
    - "traffic is declining on this page"
    - "rankings dropped for this article"
---

# Content Refresher


> **[SEO & GEO Skills Library](https://skills.sh/aaron-he-zhu/seo-geo-claude-skills)** · 20 skills for SEO + GEO · Install all: `npx skills add aaron-he-zhu/seo-geo-claude-skills`

<details>
<summary>Browse all 20 skills</summary>

**Research** · [keyword-research](../../research/keyword-research/) · [competitor-analysis](../../research/competitor-analysis/) · [serp-analysis](../../research/serp-analysis/) · [content-gap-analysis](../../research/content-gap-analysis/)

**Build** · [seo-content-writer](../../build/seo-content-writer/) · [geo-content-optimizer](../../build/geo-content-optimizer/) · [meta-tags-optimizer](../../build/meta-tags-optimizer/) · [schema-markup-generator](../../build/schema-markup-generator/)

**Optimize** · [on-page-seo-auditor](../on-page-seo-auditor/) · [technical-seo-checker](../technical-seo-checker/) · [internal-linking-optimizer](../internal-linking-optimizer/) · **content-refresher**

**Monitor** · [rank-tracker](../../monitor/rank-tracker/) · [backlink-analyzer](../../monitor/backlink-analyzer/) · [performance-reporter](../../monitor/performance-reporter/) · [alert-manager](../../monitor/alert-manager/)

**Cross-cutting** · [content-quality-auditor](../../cross-cutting/content-quality-auditor/) · [domain-authority-auditor](../../cross-cutting/domain-authority-auditor/) · [entity-optimizer](../../cross-cutting/entity-optimizer/) · [memory-management](../../cross-cutting/memory-management/)

</details>

This skill helps identify and revitalize outdated content to reclaim lost rankings and traffic. It analyzes content freshness, identifies update opportunities, and guides the refresh process for maximum SEO and GEO impact.

## When to Use This Skill

- Content has lost rankings or traffic over time
- Statistics and information are outdated
- Competitors have published better content
- Content needs updating for a new year
- Industry changes require content updates
- Adding new sections to existing content
- Converting old content for GEO optimization

## What This Skill Does

1. **Freshness Analysis**: Identifies outdated content needing updates
2. **Performance Tracking**: Finds content with declining traffic
3. **Gap Identification**: Spots missing information competitors have
4. **Update Prioritization**: Ranks content by refresh potential
5. **Refresh Recommendations**: Provides specific update guidance
6. **GEO Enhancement**: Updates content for AI citation potential
7. **Republishing Strategy**: Advises on date and promotion tactics

## How to Use

### Identify Content to Refresh

```
Find content on [domain] that needs refreshing
```

```
Which of my blog posts have lost the most traffic?
```

### Refresh Specific Content

```
Refresh this article for [current year]: [URL/content]
```

```
Update this content to outrank [competitor URL]: [your URL]
```

### Content Refresh Strategy

```
Create a content refresh strategy for [domain/topic]
```

## Data Sources

> See [CONNECTORS.md](../../CONNECTORS.md) for tool category placeholders.

**With ~~analytics + ~~search console + ~~SEO tool connected:**
Claude can automatically pull historical traffic trends from ~~analytics, fetch impression and ranking data from ~~search console, retrieve keyword position history from ~~SEO tool, and identify content with declining performance. This enables data-driven refresh prioritization.

**With manual data only:**
Ask the user to provide:
1. Traffic data or screenshots showing performance trends
2. Ranking screenshots or history for key pages
3. Content publish dates and last update dates
4. List of pages the user suspects need refreshing

Proceed with the analysis using provided data. Note in the output which findings are from automated data vs. manual review.

## Instructions

When a user requests content refresh help:

1. **CORE-EEAT Quick Score — Identify Weak Dimensions**

   Before refreshing, run a quick CORE-EEAT assessment to focus effort on the weakest areas. Reference: [CORE-EEAT Benchmark](../../references/core-eeat-benchmark.md)

   ```markdown
   ### CORE-EEAT Quick Assessment

   **Content**: [title or URL]
   **Content Type**: [type]

   Rapidly score each dimension (estimate 0-100):

   | Dimension | Quick Score | Key Weakness | Refresh Priority |
   |-----------|-----------|--------------|-----------------|
   | C — Contextual Clarity | [X]/100 | [main issue] | 🔴/🟡/🟢 |
   | O — Organization | [X]/100 | [main issue] | 🔴/🟡/🟢 |
   | R — Referenceability | [X]/100 | [main issue] | 🔴/🟡/🟢 |
   | E — Exclusivity | [X]/100 | [main issue] | 🔴/🟡/🟢 |
   | Exp — Experience | [X]/100 | [main issue] | 🔴/🟡/🟢 |
   | Ept — Expertise | [X]/100 | [main issue] | 🔴/🟡/🟢 |
   | A — Authority | [X]/100 | [main issue] | 🔴/🟡/🟢 |
   | T — Trust | [X]/100 | [main issue] | 🔴/🟡/🟢 |

   **Weakest Dimensions** (focus refresh here):
   1. [Dimension] — [what needs fixing]
   2. [Dimension] — [what needs fixing]

   **Refresh Strategy**: Focus on 🔴 dimensions first, then 🟡.

   _For full 80-item audit, use [content-quality-auditor](../../cross-cutting/content-quality-auditor/)_
   ```

2. **Identify Content Refresh Candidates**

   ```markdown
   ## Content Refresh Analysis
   
   ### Refresh Candidate Identification
   
   **Criteria for Content Refresh**:
   - Published more than 6 months ago
   - Contains dated information (years, statistics)
   - Declining traffic trend
   - Lost keyword rankings
   - Outdated references or broken links
   - Missing topics competitors now cover
   - No GEO optimization
   
   ### Content Audit Results
   
   | Content | Published | Last Updated | Traffic Trend | Priority |
   |---------|-----------|--------------|---------------|----------|
   | [Title 1] | [date] | [date] | ↓ -45% | 🔴 High |
   | [Title 2] | [date] | Never | ↓ -30% | 🔴 High |
   | [Title 3] | [date] | [date] | ↓ -20% | 🟡 Medium |
   | [Title 4] | [date] | [date] | → 0% | 🟡 Medium |
   
   ### Refresh Prioritization Matrix
   
   ```
   High Traffic + High Decline = 🔴 Refresh Immediately
   High Traffic + Low Decline = 🟡 Schedule Refresh
   Low Traffic + High Decline = 🟡 Evaluate & Decide
   Low Traffic + Low Decline = 🟢 Low Priority
   ```
   ```

3. **Analyze Individual Content for Refresh**

   ```markdown
   ## Content Refresh Analysis: [Title]
   
   **URL**: [URL]
   **Published**: [date]
   **Last Updated**: [date]
   **Word Count**: [X]
   
   ### Performance Metrics
   
   | Metric | 6 Mo Ago | Current | Change |
   |--------|----------|---------|--------|
   | Organic Traffic | [X]/mo | [X]/mo | [+/-X]% |
   | Avg Position | [X] | [X] | [+/-X] |
   | Impressions | [X] | [X] | [+/-X]% |
   | CTR | [X]% | [X]% | [+/-X]% |
   
   ### Keywords Analysis
   
   | Keyword | Old Position | Current Position | Change |
   |---------|--------------|------------------|--------|
   | [kw 1] | [X] | [X] | ↓ [X] |
   | [kw 2] | [X] | [X] | ↓ [X] |
   | [kw 3] | [X] | [X] | ↓ [X] |
   
   ### Why This Content Needs Refresh
   
   1. **Outdated information**: [specific examples]
   2. **Competitive gap**: [what competitors added]
   3. **Missing topics**: [new subtopics to cover]
   4. **SEO issues**: [current optimization problems]
   5. **GEO potential**: [AI citation opportunities]
   ```

4. **Identify Specific Updates Needed**

   ```markdown
   ## Refresh Requirements
   
   ### Outdated Elements
   
   | Element | Current | Update Needed |
   |---------|---------|---------------|
   | Year references | "[old year]" | Update to [current year] |
   | Statistics | "[old stat]" | Find current data |
   | Tool mentions | "[old tool]" | Add newer tools |
   | Links | [X] broken | Fix or replace |
   | Screenshots | Outdated UI | Recapture |
   
   ### Missing Information
   
   **Topics competitors now cover that you don't**:
   
   | Topic | Competitor Coverage | Words Needed | Priority |
   |-------|---------------------|--------------|----------|
   | [Topic 1] | 3/5 competitors | ~300 words | High |
   | [Topic 2] | 2/5 competitors | ~200 words | Medium |
   | [Topic 3] | 4/5 competitors | ~400 words | High |
   
   ### SEO Updates Needed
   
   - [ ] Update title tag with current year
   - [ ] Refresh meta description
   - [ ] Add new H2 sections for [topics]
   - [ ] Update internal links to newer content
   - [ ] Add FAQ section for featured snippets
   - [ ] Refresh images and add new alt text
   
   ### GEO Updates Needed
   
   - [ ] Add clear definition at start
   - [ ] Include quotable statistics with sources
   - [ ] Add Q&A formatted sections
   - [ ] Update sources with current citations
   - [ ] Create standalone factual statements
   ```

5. **Create Refresh Plan** — Structural changes, content additions, statistics/links/images to update

   > **Reference**: See [references/refresh-templates.md](./references/refresh-templates.md) for the full refresh plan template (Step 5).

6. **Write Refresh Content** — Updated introduction, new sections, refreshed statistics, new FAQ section

   > **Reference**: See [references/refresh-templates.md](./references/refresh-templates.md) for the refresh content writing template (Step 6).

7. **Optimize for GEO During Refresh** — Clear definitions, quotable statements, Q&A sections, updated citations

   > **Reference**: See [references/refresh-templates.md](./references/refresh-templates.md) for the GEO enhancement template (Step 7).

8. **Generate Republishing Strategy** — Date strategy (update/add "last updated"/keep original), technical implementation, promotion plan

   > **Reference**: See [references/refresh-templates.md](./references/refresh-templates.md) for the republishing strategy template (Step 8).

9. **Create Refresh Report** — Summary of changes, updates completed, expected outcomes, next review date

   > **Reference**: See [references/refresh-templates.md](./references/refresh-templates.md) for the refresh report template (Step 9).

## Validation Checkpoints

### Input Validation
- [ ] Target content URL or title clearly identified
- [ ] Historical performance data available (traffic trends, rankings)
- [ ] Content publish/update dates known
- [ ] If comparing to competitors, competitor URLs provided

### Output Validation
- [ ] Every recommendation cites specific data points (not generic advice)
- [ ] Outdated elements identified with specific examples and replacement data
- [ ] All suggested additions include word counts and section locations
- [ ] Source of each data point clearly stated (~~analytics data, ~~search console, ~~SEO tool, user-provided, or estimated)

## Example

> **Reference**: See [references/refresh-example.md](./references/refresh-example.md) for a full worked example (cloud hosting refresh) and the comprehensive content refresh checklist.

## Tips for Success

1. **Prioritize by ROI** - Refresh high-potential content first
2. **Don't just add dates** - Make substantial improvements
3. **Beat competitors** - Add what they have and more
4. **Track results** - Monitor ranking changes post-refresh
5. **Schedule regular audits** - Check content health quarterly
6. **Optimize for GEO** - Every refresh is a GEO opportunity

> **Reference data**: For content decay signal taxonomy, lifecycle stages, refresh vs. rewrite decision framework, and update strategy by content type, see [references/content-decay-signals.md](./references/content-decay-signals.md).

## Reference Materials

- [Content Decay Signals](./references/content-decay-signals.md) — Decay indicators, lifecycle stages, and refresh triggers by content type
- [Refresh Templates](./references/refresh-templates.md) — Detailed output templates for steps 5-9 (refresh plan, content writing, GEO enhancement, republishing, report)
- [Refresh Example & Checklist](./references/refresh-example.md) — Full worked example and pre/post-refresh checklist

## Related Skills

- [content-gap-analysis](../../research/content-gap-analysis/) — Find what to add
- [seo-content-writer](../../build/seo-content-writer/) — Write new sections
- [geo-content-optimizer](../../build/geo-content-optimizer/) — Enhance for AI
- [on-page-seo-auditor](../on-page-seo-auditor/) — Audit refreshed content
- [content-quality-auditor](../../cross-cutting/content-quality-auditor/) — Full 80-item CORE-EEAT audit



---

## Referenced Files

> The following files are referenced in this skill and included for context.

### references/refresh-templates.md

```markdown
# Content Refresh Templates

Detailed output templates for content-refresher steps 5-9. Referenced from [SKILL.md](../SKILL.md).

---

## Step 5: Create Refresh Plan

```markdown
## Content Refresh Plan

### Title/URL
**Current**: [current title]
**Refreshed**: [updated title with year/hook]

### Structural Changes

**Keep As-Is**:
- [Section 1] - Still relevant and accurate
- [Section 2] - Still relevant and accurate

**Update/Expand**:
- [Section 3] - Update statistics, add [X] words
- [Section 4] - Add new examples from [current year]

**Add New Sections**:
- [New Section 1] - [description, ~X words]
- [New Section 2] - [description, ~X words]
- FAQ Section - [X questions for featured snippets]

**Remove/Consolidate**:
- [Section 5] - Outdated, remove or redirect topic

### Content Additions

**New Word Count Target**: [X] words (+[Y] from current)

| Section | Current | After Refresh | Notes |
|---------|---------|---------------|-------|
| Introduction | [X] | [X] | Add hook, update context |
| [Section 1] | [X] | [X] | Keep |
| [Section 2] | [X] | [X] | Update stats |
| [New Section] | 0 | [X] | Add entirely |
| FAQ | 0 | [X] | Add for GEO |
| Conclusion | [X] | [X] | Update CTA |

### Specific Updates

**Statistics to Update**:

| Old Statistic | New Statistic | Source |
|---------------|---------------|--------|
| "[old stat]" | "[find current]" | [source] |
| "[old stat]" | "[find current]" | [source] |

**Links to Update**:

| Anchor Text | Old URL | New URL | Reason |
|-------------|---------|---------|--------|
| "[anchor]" | [old] | [new] | Broken |
| "[anchor]" | [old] | [new] | Better resource |

**Images to Update**:

| Image | Action | New Alt Text |
|-------|--------|--------------|
| [img 1] | Replace | "[keyword-rich alt]" |
| [img 2] | Keep | Update alt text |
```

---

## Step 6: Write Refresh Content

```markdown
## Refreshed Content Sections

### Updated Introduction

[Write new introduction with:]
- Updated hook for current year
- Fresh statistics
- Clear value proposition
- Primary keyword in first 100 words

### New Section: [Title]

[Write new section covering:]
- [Topic competitors now cover]
- Current information and examples
- GEO-optimized with quotable statements

### Updated Statistics Section

**Replace**:
> "[Old statement with outdated stat]"

**With**:
> "[New statement with current stat] (Source, [current year])"

### New FAQ Section

## Frequently Asked Questions

### [Question matching PAA/common query]?

[Direct answer in 40-60 words, optimized for featured snippets]

### [Question 2]?

[Direct answer]

### [Question 3]?

[Direct answer]
```

---

## Step 7: Optimize for GEO During Refresh

```markdown
## GEO Enhancement Opportunities

### Add Clear Definitions

**Add at start of article**:
> **[Topic]** is [clear, quotable definition in 40-60 words that
> AI systems can cite directly].

### Add Quotable Statements

**Transform**:
> "Email marketing is effective for businesses."

**Into**:
> "Email marketing delivers an average ROI of $42 for every $1
> invested, making it the highest-ROI digital marketing channel
> according to the Data & Marketing Association ([current year])."

### Add Q&A Sections

Structure content with questions AI might answer:
- What is [topic]?
- How does [topic] work?
- Why is [topic] important?
- What are the benefits of [topic]?

### Update Citations

- Add sources for all statistics
- Link to authoritative references
- Include publication dates
- Use recent sources (last 2 years)
```

---

## Step 8: Generate Republishing Strategy

```markdown
## Republishing Strategy

### Date Strategy

**Options**:

1. **Update Published Date**
   - Use when: Major overhaul (50%+ new content)
   - Pros: Signals freshness to Google
   - Cons: Loses "original" authority

2. **Add "Last Updated" Date**
   - Use when: Moderate updates (20-50% new)
   - Pros: Shows both original and fresh
   - Cons: Original date visible

3. **Keep Original Date**
   - Use when: Minor updates (<20% new)
   - Pros: Maintains authority
   - Cons: Doesn't signal update

**Recommendation**: [Option X] because [reason]

### Technical Implementation

- [ ] Update `dateModified` in schema
- [ ] Update sitemap lastmod
- [ ] Clear cache after publishing
- [ ] Resubmit to ~~search console

### Promotion Strategy

**Immediately after refresh**:
- [ ] Share on social media as "updated for [current year]"
- [ ] Send to email list if significant update
- [ ] Update internal links with fresh anchors
- [ ] Reach out for new backlinks

**Track Results**:
- [ ] Monitor rankings for 4-6 weeks
- [ ] Track traffic changes
- [ ] Watch for featured snippet capture
- [ ] Check AI citation improvements
```

---

## Step 9: Create Refresh Report

```markdown
# Content Refresh Report

## Summary

**Content**: [Title]
**Refresh Date**: [Date]
**Refresh Level**: [Major/Moderate/Minor]

## Changes Made

| Element | Before | After |
|---------|--------|-------|
| Word count | [X] | [Y] (+[Z]%) |
| Sections | [X] | [Y] |
| Statistics | [X] outdated | [Y] current |
| Internal links | [X] | [Y] |
| Images | [X] | [Y] |
| FAQ questions | 0 | [X] |

## Updates Completed

- [x] Updated title with current year
- [x] Refreshed meta description
- [x] Added [X] new sections
- [x] Updated [X] statistics with sources
- [x] Fixed [X] broken links
- [x] Added FAQ section for GEO
- [x] Implemented FAQ schema
- [x] Updated images and alt text

## Expected Outcomes

| Metric | Current | 30-Day Target | 90-Day Target |
|--------|---------|---------------|---------------|
| Avg Position | [X] | [Y] | [Z] |
| Organic Traffic | [X]/mo | [Y]/mo | [Z]/mo |
| Featured Snippets | 0 | 1+ | 2+ |

## Next Review

Schedule next refresh review: [Date - 6 months from now]
```

```

### references/refresh-example.md

```markdown
# Content Refresher — Worked Example & Checklist

Referenced from [SKILL.md](../SKILL.md).

---

## Worked Example

**User**: "Refresh my blog post about 'best cloud hosting providers'"

**Output**:

```markdown
### CORE-EEAT Quick Assessment

**Content**: "Best Cloud Hosting Providers 2023"
**Content Type**: Commercial comparison / listicle

| Dimension | Quick Score | Key Weakness | Refresh Priority |
|-----------|-----------|--------------|-----------------|
| C — Contextual Clarity | 60/100 | Title says 2023 — stale intent signal | 🔴 |
| O — Organization | 75/100 | Good comparison tables but no summary box | 🟡 |
| R — Referenceability | 35/100 | Pricing from Q1 2023, 3 broken links | 🔴 |
| E — Exclusivity | 50/100 | No original benchmarks or test data | 🟡 |
| Exp — Experience | 30/100 | No first-person testing narrative | 🔴 |
| Ept — Expertise | 65/100 | Author bio present but lacks credentials | 🟡 |
| A — Authority | 55/100 | 12 backlinks, was ranking page 1 | 🟢 |
| T — Trust | 60/100 | Affiliate links present but not disclosed | 🔴 |

**Weakest Dimensions** (focus refresh here):
1. **Experience** — Add hands-on testing results ("We migrated a test site to each provider")
2. **Referenceability** — Replace all 2023 pricing/uptime data with current figures

## Content Refresh Analysis: Best Cloud Hosting Providers 2023

**URL**: cloudhosting.com/best-cloud-hosting
**Published**: 2023-02-14
**Last Updated**: Never
**Word Count**: 2,100

### Performance Metrics

| Metric | 6 Mo Ago | Current | Change |
|--------|----------|---------|--------|
| Organic Traffic | 3,200/mo | 1,400/mo | -56% |
| Avg Position | 4.2 | 14.8 | ↓ 10.6 |
| Impressions | 18,000 | 9,500 | -47% |
| CTR | 6.1% | 2.3% | -3.8% |

### Content Decay Signals Identified

1. **Outdated year in title and H1** — "2023" signals stale content to users and search engines
2. **Pricing data 18+ months old** — AWS Lightsail listed at $3.50/mo (now $5/mo), DigitalOcean at $4/mo (now $6/mo)
3. **Missing new entrants** — No mention of Hetzner Cloud or Vultr, which 4/5 top competitors now cover
4. **3 broken outbound links** — Provider comparison pages that have moved or been retired

### Refresh vs. Rewrite Decision

| Factor | Assessment |
|--------|-----------|
| Content quality | Good structure, solid comparison tables — foundation is sound |
| URL equity | 12 referring domains, 18 months old |
| Scope of changes | ~40% of content needs updating |
| Search intent | Unchanged — still commercial comparison |

**Decision**: **REFRESH** — The URL has earned backlinks, the structure is solid, and less than 50% needs rewriting. Keep the URL, update in place.

## Content Refresh Plan

**Current Title**: "Best Cloud Hosting Providers 2023"
**Refreshed Title**: "Best Cloud Hosting Providers 2024: 7 Platforms Tested & Compared"

### Specific Refresh Actions

1. **Update all pricing and specs** (~30 min)
   - Replace 2023 pricing for all 5 listed providers with current data
   - Add uptime stats from the last 12 months (source: UptimeRobot public status pages)
   - Update feature comparison table with current plan tiers

2. **Add 2 missing providers + testing narrative** (~600 words)
   - Add Hetzner Cloud and Vultr sections with same comparison format
   - Write intro paragraph: "We deployed a WordPress benchmark site to each provider and measured TTFB, uptime, and support response times over 30 days"

3. **Add affiliate disclosure and FAQ section** (~200 words)
   - Add disclosure statement below introduction: "This post contains affiliate links. See our editorial policy."
   - Add FAQ with 4 questions targeting People Also Ask (e.g., "What is the cheapest cloud hosting?", "Is cloud hosting faster than shared hosting?")
   - Implement FAQ schema markup for rich result eligibility

4. **Fix broken links and update internal links** (~15 min)
   - Replace 3 broken outbound links with current provider URLs
   - Add internal links to cloudhosting.com/vps-vs-cloud and cloudhosting.com/hosting-speed-test

### Republishing Strategy

**Recommendation**: Update Published Date — this is a major overhaul (40%+ new content, new providers, fresh test data). Update `dateModified` in Article schema, resubmit URL in Search Console, and share on social as "Updated for 2024."

### Expected Outcomes

| Metric | Current | 30-Day Target | 90-Day Target |
|--------|---------|---------------|---------------|
| Avg Position | 14.8 | 8-10 | 3-6 |
| Organic Traffic | 1,400/mo | 2,200/mo | 3,500/mo |
| Featured Snippets | 0 | 1 (FAQ) | 2+ |
```

---

## Content Refresh Checklist

```markdown
### Pre-Refresh
- [ ] Analyze current performance metrics
- [ ] Identify outdated information
- [ ] Research competitor updates
- [ ] Note missing topics

### Content Updates
- [ ] Update year references
- [ ] Refresh statistics with sources
- [ ] Add new examples and case studies
- [ ] Expand thin sections
- [ ] Add new relevant sections
- [ ] Create FAQ section

### SEO Updates
- [ ] Update title tag
- [ ] Refresh meta description
- [ ] Optimize headers
- [ ] Update internal links
- [ ] Add new images with alt text

### GEO Updates
- [ ] Add clear definition
- [ ] Include quotable statements
- [ ] Add Q&A formatted content
- [ ] Update source citations

### Technical
- [ ] Update schema dateModified
- [ ] Clear page cache
- [ ] Update sitemap
- [ ] Test page speed
```

```

### references/content-decay-signals.md

```markdown
# Content Decay Signals

Comprehensive decay detection system with automated monitoring setup, severity scoring, refresh playbooks by content type, and ROI estimation for content refresh investments.

## Decay Signal Detection System

### Primary Signals (High Reliability)

These signals directly indicate content performance decline and should trigger immediate investigation.

#### 1. Organic Traffic Decline

| Severity | Threshold | Detection Window | Action |
|----------|-----------|-----------------|--------|
| Watch | 10-20% decline | Month-over-month | Add to monitoring list |
| Warning | 20-40% decline | Month-over-month | Schedule refresh within 2 weeks |
| Critical | 40-60% decline | Month-over-month | Refresh this week |
| Emergency | >60% decline | Month-over-month | Investigate immediately (may be technical issue) |

**Detection method**: Compare current month's organic sessions to same month previous year (to account for seasonality) and to previous month (for trend detection).

**False positive check**: Before attributing traffic decline to content decay, rule out:
- Seasonal variations (compare year-over-year, not just month-over-month)
- Algorithm updates (check if decline coincides with known Google updates)
- Technical issues (crawl errors, indexation problems, site speed regression)
- Tracking code changes (analytics misconfiguration)

#### 2. Ranking Position Drops

| Severity | Threshold | Detection Window | Action |
|----------|-----------|-----------------|--------|
| Watch | 1-3 positions lost | 2-week average | Monitor |
| Warning | 3-5 positions lost | 2-week average | Investigate cause |
| Critical | 5-10 positions lost | 2-week average | Schedule immediate refresh |
| Emergency | Dropped off page 1 to page 3+ | Any timeframe | Priority refresh or rewrite |

**Detection method**: Track primary keyword positions weekly. Use 2-week rolling averages to smooth daily fluctuations.

#### 3. Click-Through Rate Decline

| Severity | Threshold | Context | Action |
|----------|-----------|---------|--------|
| Watch | CTR below expected for position | Position stable, CTR dropping | Review title and meta description |
| Warning | CTR dropped 20%+ vs. baseline | With stable impressions | Rewrite title tag and meta description |
| Critical | CTR dropped 40%+ vs. baseline | May indicate stale SERP appearance | Full refresh of title, description, and structured data |

**Expected CTR by position** (organic, desktop, approximate):

| Position | Expected CTR Range | Below This = Investigate |
|----------|--------------------|-------------------------|
| 1 | 25-35% | <20% |
| 2 | 12-18% | <10% |
| 3 | 8-12% | <6% |
| 4-5 | 5-8% | <4% |
| 6-10 | 2-5% | <2% |

---

### Secondary Signals (Moderate Reliability)

These signals suggest potential decay but may have other causes. Use them to corroborate primary signals.

#### 4. Engagement Metric Decline

| Metric | Decay Indicator | Possible Cause |
|--------|----------------|---------------|
| Bounce rate increase >15% | Content no longer satisfies intent | Outdated information, better competitor content |
| Time on page decrease >20% | Users leaving faster | Content not comprehensive enough |
| Scroll depth decrease | Users not reading full content | Front-loading outdated info, losing interest |
| Pages per session decrease | Users not exploring further | Poor internal linking, irrelevant content |

#### 5. Content Freshness Indicators

| Indicator | Decay Risk | Detection |
|-----------|-----------|-----------|
| Published >12 months ago, never updated | High | CMS date audit |
| Contains year references 2+ years old | High | Text search for year patterns |
| Statistics from 3+ years ago | Medium | Manual review or text search for "20XX" |
| Broken external links (>10% of total) | Medium | Monthly crawl report |
| Screenshots of outdated UI | Medium | Manual visual review |
| References to discontinued products/tools | High | Manual review |

#### 6. Competitive Displacement Signals

| Signal | Detection Method | Severity |
|--------|-----------------|----------|
| New competitor content ranking above you | SERP monitoring | High |
| Competitor content is longer and more comprehensive | Manual comparison | Medium |
| Competitor has more recent publication date displayed in SERP | SERP monitoring | Medium |
| Featured snippet lost to competitor | SERP monitoring | High |
| AI overview now answers query without click | SERP monitoring | High |

---

### Tertiary Signals (Low Reliability, Supporting Evidence)

These signals alone do not indicate decay but strengthen the case when combined with primary or secondary signals.

| Signal | What It Suggests |
|--------|-----------------|
| Fewer social shares over time | Content less share-worthy (may be stale) |
| Decrease in backlink acquisition | Content no longer being cited as a resource |
| Fewer comments or engagement | Community interest waning |
| Content not appearing in AI responses | Not structured for GEO or information is outdated |

---

## Automated Monitoring Setup

### Monitoring Dashboard Configuration

Set up these automated checks to catch decay early.

#### Weekly Checks

| Check | Data Source | Alert Threshold |
|-------|-----------|----------------|
| Keyword position changes | Rank tracker | Any target keyword drops >3 positions |
| Crawl errors on key pages | Search Console | Any new crawl error on monitored pages |
| Index coverage changes | Search Console | Any page drops from index |

#### Monthly Checks

| Check | Data Source | Alert Threshold |
|-------|-----------|----------------|
| Traffic comparison (MoM) | Analytics | >15% decline on any monitored page |
| CTR comparison | Search Console | >20% CTR decline for any target keyword |
| Broken link scan | Crawler | Any new broken links on monitored pages |
| Competitor SERP changes | SERP tracker | New competitor enters top 5 |

#### Quarterly Checks

| Check | Data Source | Process |
|-------|-----------|---------|
| Content freshness audit | CMS + manual | Review all content older than 6 months |
| Statistics accuracy check | Manual | Verify top 20 pages have current data |
| Engagement trend review | Analytics | Compare engagement metrics across quarters |
| Full competitive content gap | SEO tool | Identify new competitor content opportunities |

### Alert Priority Matrix

When multiple signals fire simultaneously, use this matrix to determine response urgency.

| Primary Signal + Secondary Signal | Priority | Response |
|----------------------------------|----------|----------|
| Traffic decline + Position drop | P1 (Critical) | Refresh within 48 hours |
| Traffic decline + CTR decline | P1 (Critical) | Rewrite title/description immediately, schedule content refresh |
| Position drop + Competitor displacement | P2 (High) | Refresh within 1 week |
| Traffic decline + Engagement decline | P2 (High) | Refresh within 1 week |
| CTR decline only | P3 (Medium) | Rewrite title and meta description this week |
| Freshness indicators only | P3 (Medium) | Schedule refresh within 2 weeks |
| Engagement decline only | P4 (Low) | Investigate and schedule if confirmed |

---

## Decay Severity Scoring

### Composite Decay Score

Calculate a 0-100 decay severity score by summing weighted signal scores.

| Signal Category | Weight | Score Range |
|----------------|--------|-------------|
| Traffic decline | 30% | 0 = no decline, 100 = >60% decline |
| Position drops | 25% | 0 = stable, 100 = dropped off page 1 |
| CTR decline | 15% | 0 = stable, 100 = >40% decline |
| Content freshness | 15% | 0 = updated this quarter, 100 = >2 years stale |
| Competitive displacement | 15% | 0 = no new competitors, 100 = displaced from top 3 |

### Score Interpretation

| Composite Score | Decay Stage | Action |
|----------------|-------------|--------|
| 0-20 | Healthy | Continue monitoring |
| 21-40 | Early decay | Add to refresh queue (next month) |
| 41-60 | Active decay | Schedule refresh (this week) |
| 61-80 | Significant decay | Immediate refresh or rewrite decision |
| 81-100 | Terminal decay | Rewrite, redirect, or retire |

---

## Refresh Playbooks by Content Type

### Blog Post / Article Refresh Playbook

| Step | Action | Time Estimate |
|------|--------|--------------|
| 1 | Update title with current year or hook | 10 min |
| 2 | Rewrite introduction with fresh angle | 20 min |
| 3 | Update all statistics with current sources | 30-60 min |
| 4 | Add 1-2 new sections covering gaps | 60-90 min |
| 5 | Update screenshots and images | 30 min |
| 6 | Add or update FAQ section | 20 min |
| 7 | Refresh internal links | 15 min |
| 8 | Update meta description | 5 min |
| 9 | Add/update schema markup | 10 min |
| 10 | Update dateModified and republish | 5 min |
| **Total** | | **3-4 hours** |

### Product/Service Page Refresh Playbook

| Step | Action | Time Estimate |
|------|--------|--------------|
| 1 | Update pricing, features, specifications | 30 min |
| 2 | Add new customer testimonials/reviews | 20 min |
| 3 | Update product images | 30 min |
| 4 | Refresh comparison tables | 20 min |
| 5 | Update internal links to related products | 15 min |
| 6 | Verify and update schema markup | 10 min |
| **Total** | | **2-2.5 hours** |

### Statistics/Data Roundup Refresh Playbook

| Step | Action | Time Estimate |
|------|--------|--------------|
| 1 | Verify every statistic is still current | 60-90 min |
| 2 | Replace outdated stats with current data | 60 min |
| 3 | Add new statistics from recent studies | 30 min |
| 4 | Update source links and citations | 30 min |
| 5 | Update year references throughout | 15 min |
| 6 | Add new visualization if data changed significantly | 30 min |
| 7 | Update title, meta description with year | 10 min |
| **Total** | | **4-5 hours** |

### How-To Guide Refresh Playbook

| Step | Action | Time Estimate |
|------|--------|--------------|
| 1 | Verify all steps are still accurate | 30 min |
| 2 | Update screenshots for UI changes | 60 min |
| 3 | Add new methods or alternative approaches | 30 min |
| 4 | Update tool recommendations | 15 min |
| 5 | Add troubleshooting section if missing | 20 min |
| 6 | Update FAQ with new common questions | 15 min |
| 7 | Test all links and embedded resources | 15 min |
| **Total** | | **3-3.5 hours** |

---

## ROI Estimation for Content Refresh

### Cost-Benefit Framework

| Factor | Measurement |
|--------|------------|
| **Cost of refresh** | Writer hours x hourly rate + tool costs |
| **Current monthly traffic value** | Organic sessions x conversion rate x avg order value |
| **Projected traffic recovery** | Based on decay stage and content potential |
| **Time to recover** | Typically 4-8 weeks for rankings to respond |

### Traffic Recovery Benchmarks

Based on industry data for content refreshes (not rewrites):

| Decay Stage at Refresh | Typical Traffic Recovery | Recovery Timeline |
|------------------------|------------------------|-------------------|
| Early decay | 90-110% of peak (often exceeds) | 2-4 weeks |
| Active decay | 70-90% of peak | 4-8 weeks |
| Significant decay | 40-70% of peak | 6-12 weeks |
| Terminal decay | 10-40% of peak (rewrite may be better) | 8-16 weeks |

### ROI Calculation Template

```
Refresh Cost:
  Writer time: [X hours] x [$Y/hour] = $[Z]
  Tool costs: $[A] (one-time crawl, research tools)
  Total cost: $[Z + A]

Monthly Traffic Value (before decay):
  Peak monthly organic sessions: [N]
  Conversion rate: [X]%
  Average conversion value: $[Y]
  Peak monthly value: [N] x [X]% x $[Y] = $[V]

Expected Recovery:
  Projected recovery: [%] of peak = $[V x %] per month
  Current monthly value: $[current]
  Monthly value increase: $[V x % - current]

ROI:
  Payback period: $[total cost] / $[monthly value increase] = [months]
  12-month ROI: ($[monthly value increase] x 12 - $[total cost]) / $[total cost] x 100 = [X]%
```

### Refresh Priority Scoring

When choosing which content to refresh first, score each candidate:

| Factor | Weight | Score (1-10) |
|--------|--------|-------------|
| Current traffic value | 25% | Higher traffic = higher score |
| Decay severity | 20% | More decay = more urgency |
| Competitive opportunity | 20% | Weaker competition = higher score |
| Refresh difficulty | 15% | Easier refresh = higher score |
| Strategic importance | 10% | Aligns with business goals = higher score |
| Backlink equity | 10% | More backlinks = more worth preserving |

**Priority formula**: Weighted score total. Refresh highest-scoring content first.

---

## Content Retirement Decision

Not all decaying content should be refreshed. Use this checklist to decide when to retire content instead.

### Retire When

- [ ] Content targets a keyword with zero search volume
- [ ] Topic is no longer relevant to your business
- [ ] No backlinks worth preserving
- [ ] Content never ranked well even when fresh
- [ ] Cost to refresh exceeds projected 12-month value recovery
- [ ] Content cannibalizes a better-performing page on the same topic

### Retirement Options

| Option | When to Use | Implementation |
|--------|------------|---------------|
| 301 redirect | Content has backlinks or residual traffic | Redirect to best related page |
| Consolidate | Multiple weak pages on same topic | Merge into one strong page, redirect others |
| Noindex | Page has internal utility but should not rank | Add noindex, keep page accessible |
| Delete (410) | Content has no value, no links, no traffic | Return 410 Gone status |

### Post-Retirement Monitoring

After retiring content, monitor for 4 weeks:
- Verify redirects are working (no 404 errors)
- Check that target pages are receiving redirected traffic
- Monitor rankings of consolidated/target pages
- Ensure no orphan pages were created by removing internal links

---

## Content Decay Signal Taxonomy

### Decay Indicators

| Signal | Source | Severity | Detection Method |
|--------|--------|----------|-----------------|
| Traffic decline >20% MoM | Analytics | High | Monthly traffic comparison |
| Position drop >5 positions | Rank tracker | High | Weekly rank monitoring |
| Outdated statistics/dates | Manual review | Medium | Annual content audit |
| Broken external links | Crawler | Medium | Monthly crawl reports |
| Decreased CTR | Search Console | Medium | Quarterly CTR analysis |
| Competitor new content | SERP monitoring | Medium | Monthly SERP checks |
| User engagement drop | Analytics | Low | Quarterly engagement review |
| Index coverage issues | Search Console | High | Weekly coverage monitoring |

### Content Decay Stages

| Stage | Symptoms | Urgency | Recommended Action |
|-------|---------|---------|-------------------|
| **Early decay** | Slight traffic/position dip | Low | Monitor for 2-4 weeks |
| **Active decay** | Consistent decline across 2+ months | Medium | Schedule refresh within 2 weeks |
| **Significant decay** | 50%+ traffic loss, page 2+ | High | Immediate refresh or rewrite |
| **Terminal decay** | No organic traffic, deindexed | Critical | Rewrite, redirect, or retire |

## Refresh vs. Rewrite Decision Framework

| Factor | Refresh (Update) | Rewrite (New version) |
|--------|-----------------|---------------------|
| Content quality | Good foundation, needs updating | Fundamentally flawed or outdated approach |
| Position | Was ranking well, now dropping | Never ranked well despite optimization |
| URL age | 1+ years, has earned backlinks | Young URL with no backlink equity |
| Backlinks | Has external links pointing to it | No backlinks worth preserving |
| Scope of changes needed | <50% of content changing | >50% needs rewriting |
| Search intent | Intent hasn't changed | Search intent has evolved |

**Decision rule:** If the URL has backlinks and was ranking, REFRESH. If not, consider REWRITE at a new URL (with 301 redirect if old URL has any equity).

## Content Lifecycle Model

```
CREATE → PROMOTE → MAINTAIN → REFRESH → [REFRESH again] or RETIRE
  │         │          │          │                          │
  │      Month 1    Month 2-6   Month 6-12              When terminal
  │    Social,      Monitor     Update facts,            301 redirect
  │    outreach,    rankings,   add new sections,         to related
  │    email        fix issues  improve depth              content
```

### Lifecycle Actions by Phase

| Phase | Duration | Key Actions | Metrics to Track |
|-------|----------|------------|-----------------|
| Create | Week 1 | Publish, submit to Search Console | Indexation |
| Promote | Month 1 | Social shares, email, outreach | Referral traffic, backlinks |
| Maintain | Months 2-6 | Monitor, fix broken links, respond to comments | Rankings, traffic trend |
| Refresh | Months 6-12+ | Update data, add sections, improve structure | Traffic recovery, new keywords |
| Retire | When terminal | 301 redirect to best alternative | Redirect traffic recovery |

## Update Strategy by Content Type

| Content Type | Refresh Frequency | Key Updates | Shelf Life |
|-------------|-------------------|------------|-----------|
| Statistics roundups | Every 6 months | Replace old stats, add new sources | 6-12 months |
| Tool comparisons | Every 3-6 months | Update pricing, features, screenshots | 3-6 months |
| How-to guides | Annually | Update steps, screenshots, links | 12-18 months |
| Evergreen guides | Every 12-18 months | Add new sections, update examples | 18-24 months |
| News/trend content | Don't refresh | Archive or redirect | 1-3 months |
| Case studies | Rarely | Update results if available | 2-3 years |
| Glossary/definitions | As needed | Update when definitions evolve | 2-5 years |


```



---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### _meta.json

```json
{
  "owner": "aaron-he-zhu",
  "slug": "content-refresher",
  "displayName": "Content Refresher",
  "latest": {
    "version": "3.0.0",
    "publishedAt": 1772640499945,
    "commit": "https://github.com/openclaw/skills/commit/fe40b18d69538707893d393643f73429e0832eea"
  },
  "history": [
    {
      "version": "2.0.0",
      "publishedAt": 1771042842826,
      "commit": "https://github.com/openclaw/skills/commit/80b8a10ace9f1b0536fcbe41cd726b1083e222d8"
    },
    {
      "version": "0.1.2",
      "publishedAt": 1770824269256,
      "commit": "https://github.com/openclaw/skills/commit/2c3fa8769125a92485b5a994ad82795501177406"
    },
    {
      "version": "0.1.1",
      "publishedAt": 1770739552743,
      "commit": "https://github.com/openclaw/skills/commit/06ce8dbd3636911d57083398a1a4003775b3d926"
    },
    {
      "version": "0.1.0",
      "publishedAt": 1770559590562,
      "commit": "https://github.com/openclaw/skills/commit/cf09f1966ddee19998b5824ea01a152a084b7595"
    }
  ]
}

```

content-refresher | SkillHub