# Prioritization System Guide

**Last Updated:** 2026-01-05

## Overview

The blog post prioritization system uses comprehensive data-driven scoring to identify which posts should be reviewed and improved first. The system adapts automatically to data changes and provides multiple views of priorities.

## How Prioritization Works

### Scoring Methodology

Priority scores are calculated using a **balanced approach** with 7 weighted factors:

1. **Traffic Potential (25%)**

   - Current traffic (GA4 page views, GSC clicks)
   - Traffic growth trends
   - Keyword volume potential
   - Domain opportunity traffic gain

2. **Quick Win Potential (20%)**

   - Low competition keywords available
   - Current position (4-10 = quick win range)
   - Low effort improvements (missing H1, short content, no FAQs)
   - High impact fixes (schema markup, meta tags)

3. **Current Performance (15%)**

   - SEO score
   - Link quality score
   - Content quality rating
   - Search performance (CTR, position)

4. **Opportunity Size (15%)**

   - Keyword volume
   - Domain opportunity potential
   - Search intent alignment
   - Competition level (inverse - lower competition = higher score)

5. **Content Gaps (10%)**

   - Word count below target
   - Missing FAQs
   - Missing schema markup
   - Missing internal links

6. **Strategic Value (10%)**

   - Category priority (Ratgeber > Lexikon > Inside Ordio)
   - Cluster importance
   - Conversion potential
   - Business alignment

7. **Effort Required (5%)** (Inverse - lower effort = higher score)
   - Content expansion needed
   - Technical complexity
   - Research required

### Priority Levels

- **High Priority:** Score ≥ 70
- **Medium Priority:** Score 50-69
- **Low Priority:** Score < 50

## Using the Prioritization System

### Generating Priority Lists

**Adaptive Priority List:**

```bash
php v2/scripts/blog/generate-adaptive-priority-list.php
```

Generates `REVIEW_PRIORITY_LIST.md` with:

- Posts sorted by priority score
- Trend analysis (improving vs declining)
- New opportunities detected
- Declining performance alerts

**Priority Dashboard:**

```bash
php v2/scripts/blog/generate-priority-dashboard.php
```

Generates `PRIORITY_DASHBOARD.md` with multiple views:

- Top Priority Posts (Top 20)
- Quick Wins (Low Effort, High Impact)
- Traffic Opportunities (High Impressions, Low CTR)
- Declining Performance (Needs Attention)
- New Opportunities (Recently Detected)
- Strategic Priorities (Ratgeber Posts, High Score)

### Data Collection

**Step 1: Aggregate Prioritization Data**

```bash
php v2/scripts/blog/aggregate-prioritization-data.php --all
```

Collects all prioritization-relevant data from:

- GA4 (page views, sessions, bounce rate, engagement time)
- GSC (clicks, impressions, CTR, position, top queries)
- SISTRIX (keyword volume, difficulty, competition, position)
- Domain Opportunities (keyword opportunities, potential traffic gain)
- Search Intent (intent type, intent distribution)
- Competition Levels (competition scores, quick-win opportunities)
- Content Analysis (word count, SEO score, link score, FAQ count)

**Step 2: Calculate Priority Scores**

```bash
php v2/scripts/blog/calculate-comprehensive-priority.php --all
```

Calculates priority scores using the 7-factor weighted approach.

**Step 3: Generate Priority Lists**

```bash
php v2/scripts/blog/generate-adaptive-priority-list.php
php v2/scripts/blog/generate-priority-dashboard.php
```

### Weekly Auto-Refresh

**Set up weekly refresh:**

```bash
php v2/scripts/blog/weekly-priority-refresh.php
```

Recommended cron job (every Monday at 9:00 AM):

```cron
0 9 * * 1 cd /path/to/project && php v2/scripts/blog/weekly-priority-refresh.php
```

The weekly refresh:

1. Collects latest data (GA4, GSC, SISTRIX)
2. Recalculates priority scores
3. Updates priority list
4. Generates priority dashboard
5. Detects new opportunities
6. Regenerates automated reports

### Checking Data Freshness

**Monitor data freshness:**

```bash
php v2/scripts/blog/check-data-freshness.php
```

Generates `DATA_FRESHNESS_REPORT.md` with:

- Data age for GA4, GSC, SISTRIX
- Report generation timestamps
- Alerts for stale data
- Recommendations for refresh

**Freshness Thresholds:**

- GA4 Data: 7 days
- GSC Data: 7 days
- SISTRIX Data: 30 days
- Reports: 7 days

## Interpreting Priority Scores

### High Priority (Score ≥ 70)

Posts with high priority scores typically have:

- High traffic potential or current traffic
- Quick win opportunities (position 4-10, low competition keywords)
- Significant content gaps (low word count, missing FAQs)
- High strategic value (Ratgeber posts, important clusters)

**Action:** Review and improve immediately.

### Medium Priority (Score 50-69)

Posts with medium priority scores typically have:

- Moderate traffic potential
- Some quick win opportunities
- Moderate content gaps
- Moderate strategic value

**Action:** Review and improve when high priority posts are complete.

### Low Priority (Score < 50)

Posts with low priority scores typically have:

- Low traffic potential
- Few quick win opportunities
- Minor content gaps
- Lower strategic value

**Action:** Review and improve as time permits.

## Adjusting Priorities Manually

Priority scores are calculated automatically, but you can adjust priorities manually by:

1. **Editing prioritization data:**

   - File: `docs/content/blog/posts/{category}/{slug}/data/prioritization-data.json`
   - Add manual overrides or adjustments

2. **Using strategic overrides:**
   - Mark posts as "strategic priority" in the system
   - Adjust category weights if needed

## Understanding Score Breakdowns

Each post's priority score includes a detailed breakdown:

```json
{
  "priority_calculation": {
    "total_score": 72.5,
    "priority_level": "High",
    "factors": {
      "traffic_potential": {
        "score": 80,
        "weight": 25,
        "contribution": 20.0
      },
      "quick_win_potential": {
        "score": 75,
        "weight": 20,
        "contribution": 15.0
      },
      ...
    }
  }
}
```

This breakdown helps identify:

- Which factors contribute most to the score
- Where improvements will have the biggest impact
- Why a post has a particular priority level

## Best Practices

1. **Review high priority posts first** - Focus on posts with score ≥ 70
2. **Look for quick wins** - Posts with position 4-10 or low competition keywords
3. **Address declining performance** - Posts with decreasing traffic need attention
4. **Monitor data freshness** - Refresh data weekly to maintain accurate priorities
5. **Use the dashboard** - Check multiple views to find the best opportunities
6. **Balance effort and impact** - Quick wins provide immediate value

## Troubleshooting

**Priority scores not updating:**

- Run `aggregate-prioritization-data.php --all` to refresh data
- Run `calculate-comprehensive-priority.php --all` to recalculate scores

**Missing priority data:**

- Check if data files exist in `data/` folder
- Run data collection scripts for missing sources

**Stale data warnings:**

- Run `check-data-freshness.php` to identify stale data
- Refresh stale data sources
- Set up weekly auto-refresh cron job

## Related Documentation

- `MANUAL_REVIEW_WORKFLOW.md` - Manual review process
- `MANUAL_REVIEWER_TRAINING_GUIDE.md` - Training guide for reviewers
- `DATA_COLLECTION_GUIDE.md` - Data collection setup and usage
- `REVIEW_PRIORITY_LIST.md` - Current priority list (generated)
- `PRIORITY_DASHBOARD.md` - Priority dashboard (generated)
