# Update Post Linking Guide

**Last Updated:** 2026-01-10

Guide for updating internal links in existing blog posts.

## When to Update Links

### Regular Updates
- Monthly link health check
- When new content is added
- When target pages change
- When SEO strategy evolves

### Triggered Updates
- Broken links detected
- Low anchor text variety score
- Missing cluster links identified
- New product/industry pages launched

## Update Process

### 1. Review Current Links
- [ ] Extract all existing links from post
- [ ] Categorize by target type
- [ ] Identify broken or outdated links
- [ ] Check anchor text quality

### 2. Identify Missing Links
- [ ] Check cluster requirements (pillar, product links)
- [ ] Review content for new linking opportunities
- [ ] Check related posts for missing links
- [ ] Review FAQ answers for links

### 3. Improve Existing Links
- [ ] Update generic anchor text
- [ ] Improve contextually inappropriate links
- [ ] Vary repeated anchor text
- [ ] Fix broken links

### 4. Add New Links
- [ ] Add missing pillar page links
- [ ] Add missing product page links
- [ ] Add relevant tools/templates links
- [ ] Add industry page links if relevant

### 5. Update JSON File
- [ ] Update `internal_links` field
- [ ] Update HTML content if needed
- [ ] Update `modified_date`
- [ ] Verify JSON is valid

### 6. Validate Changes
- [ ] Run link validation script
- [ ] Check anchor text quality
- [ ] Verify no broken links
- [ ] Test on staging if available

## Common Update Scenarios

### Scenario 1: Adding Missing Pillar Link
**Before:**
```json
{
  "internal_links": [
    {
      "url": "/schichtplan",
      "anchor_text": "Schichtplanung"
    }
  ]
}
```

**After:**
```json
{
  "internal_links": [
    {
      "url": "/schichtplan",
      "anchor_text": "Schichtplanung"
    },
    {
      "url": "/insights/dienstplan",
      "normalized_url": "/insights/dienstplan",
      "anchor_text": "Dienstplan",
      "target_type": "pillar-page",
      "priority": "critical",
      "added_at": "2026-01-10 12:00:00",
      "reasoning": "Cluster requirement: dienstplan cluster posts should link to pillar page"
    }
  ]
}
```

### Scenario 2: Improving Anchor Text
**Before:**
```json
{
  "anchor_text": "hier"
}
```

**After:**
```json
{
  "anchor_text": "Schichtplanung mit Ordio"
}
```

### Scenario 3: Adding FAQ Links
**Before:**
```html
<p>Die Zeiterfassung ist gesetzlich vorgeschrieben.</p>
```

**After:**
```html
<p>Die <a href="/insights/zeiterfassung">Zeiterfassung</a> ist gesetzlich vorgeschrieben.</p>
```

## Tools for Updates

### Automated Scripts
- `suggest-new-links.php` - Suggests new links based on content
- `validate-all-links.py` - Validates existing links
- `link-health-check.php` - Checks for broken links

### Manual Review
- Review content for natural linking opportunities
- Check cluster requirements
- Review anchor text quality
- Verify link placement

## Best Practices

1. **Don't Over-Link**
   - Maintain natural link density
   - Don't add links just to add links

2. **Maintain Quality**
   - Every link should add value
   - Anchor text should be natural
   - Links should be contextually relevant

3. **Track Changes**
   - Document why links were added/removed
   - Update `internal_links` field
   - Note reasoning in link data

4. **Test Thoroughly**
   - Validate all links work
   - Check anchor text quality
   - Verify placement makes sense

## Related Documentation

- [Internal Linking Guide](./INTERNAL_LINKING_GUIDE.md)
- [New Post Linking Checklist](./NEW_POST_LINKING_CHECKLIST.md)
- [Link Placement Guide](./LINK_PLACEMENT_GUIDE.md)
