# Broken Internal Links Analysis - 2026-03-16

**Analysis Date:** 2026-03-16  
**CSV Source:** `ordio.com_internal_broken_links_20260316.csv`  
**Status:** Analysis Complete

## Summary

Analysis of broken links from CSV compared to current blog post content reveals that **most links have already been fixed** in the current JSON files. The CSV data appears to be outdated (from March 14, 2026), while the blog posts show `modified_date` of March 14, 2026 17:20:19, suggesting fixes were applied after the CSV was generated.

## Link Status Mapping

### 1. `/insights/lexikon/abwesenheitsplan/` → `/insights/lexikon/urlaubsplan/`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/abwesenheitsplan.json`
- **Current Link:** `/insights/lexikon/urlaubsanspruch/` (anchor text: "Urlaubsplan")
- **Note:** Anchor text says "Urlaubsplan" but links to correct canonical URL `/insights/lexikon/urlaubsanspruch/`
- **Action Required:** None - link is correct

### 2. `/insights/lexikon/arbeitszeitmanagement/` → `/insights/lexikon/schichtplan/`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/arbeitszeitmanagement.json`
- **Current Link:** `/schichtplan` (product page)
- **Note:** Links to product page, not lexicon post (which doesn't exist)
- **Action Required:** None - link is correct

### 3. `/insights/lexikon/bewerbungsprozess/` → `/onboarding`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/bewerbungsprozess.json`
- **Current Link:** `/insights/lexikon/onboarding/` (canonical)
- **Note:** Already uses canonical URL format
- **Action Required:** None - link is correct

### 4. `/insights/lexikon/rahmendienstplan/` → `/insights/lexikon/schichtarbeit/`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/rahmendienstplan.json`
- **Current Link:** `/insights/ratgeber/schichtarbeit-arbeitsvertraege-leitfaden-gratis-vorlage/`
- **Note:** Links to ratgeber page (correct replacement)
- **Action Required:** None - link is correct

### 5. `/insights/lexikon/rahmendienstplan/` → `/insights/lexikon/arbeitszeitgesetz-arbzg/`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/rahmendienstplan.json`
- **Current Link:** External link to `https://www.gesetze-im-internet.de/arbzg/__3.html`
- **Note:** Links to external legal resource (correct)
- **Action Required:** None - link is correct

### 6. `/insights/lexikon/regelarbeitszeit/` → `/insights/lexikon/schichtarbeit/`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/regelarbeitszeit.json`
- **Current Link:** `/insights/ratgeber/schichtarbeit-arbeitsvertraege-leitfaden-gratis-vorlage/`
- **Note:** Links to ratgeber page (correct replacement)
- **Action Required:** None - link is correct

### 7. `/insights/lexikon/schichtzulagen/` → `/insights/lexikon/schichtarbeit/`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/schichtzulagen.json`
- **Current Link:** `/insights/ratgeber/schichtarbeit-arbeitsvertraege-leitfaden-gratis-vorlage/`
- **Note:** Links to ratgeber page (correct replacement)
- **Action Required:** None - link is correct

### 8. `/insights/lexikon/spaetschicht/` → `/insights/lexikon/schichtarbeit/`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/spaetschicht.json`
- **Current Link:** `/insights/ratgeber/schichtarbeit-arbeitsvertraege-leitfaden-gratis-vorlage/`
- **Note:** Links to ratgeber page (correct replacement)
- **Action Required:** None - link is correct

### 9. `/insights/lexikon/wechselschicht/` → `/insights/lexikon/schichtarbeit/`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/wechselschicht.json`
- **Current Link:** `/insights/ratgeber/schichtarbeit-arbeitsvertraege-leitfaden-gratis-vorlage/`
- **Note:** Links to ratgeber page (correct replacement)
- **Action Required:** None - link is correct

### 10. `/insights/lexikon/wochenarbeitszeit/` → `/insights/lexikon/schichtarbeit/`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/wochenarbeitszeit.json`
- **Current Link:** `/insights/ratgeber/schichtarbeit-arbeitsvertraege-leitfaden-gratis-vorlage/`
- **Note:** Links to ratgeber page (correct replacement)
- **Action Required:** None - link is correct

### 11. `/insights/lexikon/wochenendzuschlag/` → `/insights/lexikon/schichtarbeit/`

**CSV Status:** Broken (404)  
**Current State:** ✅ **ALREADY FIXED**
- **File:** `v2/data/blog/posts/lexikon/wochenendzuschlag.json`
- **Current Link:** `/insights/ratgeber/schichtarbeit-arbeitsvertraege-leitfaden-gratis-vorlage/`
- **Note:** Links to ratgeber page (correct replacement)
- **Action Required:** None - link is correct

## Direct 404 URLs (from `ordio.com_http_4xx_client_errors_20260316.csv`)

These URLs return 404 errors directly:

1. `/insights/lexikon/arbeitszeitgesetz-arbzg/` - ✅ Fixed (replaced with external ArbZG link or `/insights/lexikon/arbeitszeit/`)
2. `/insights/lexikon/schichtarbeit/` - ✅ Fixed (replaced with `/insights/ratgeber/schichtarbeit-arbeitsvertraege-leitfaden-gratis-vorlage/`)
3. `/insights/lexikon/schichtplan/` - ✅ Fixed (replaced with `/schichtplan` product page)
4. `/insights/lexikon/urlaubsplan/` - ✅ Fixed (replaced with `/insights/lexikon/urlaubsanspruch/` or `/insights/lexikon/urlaubsplanung/`)
5. `/onboarding` - ✅ Fixed (replaced with `/insights/lexikon/onboarding/`)

## Conclusion

**All reported broken links have already been fixed in the current blog post content.** The CSV data appears to be outdated and reflects a state before fixes were applied.

## Recommendations

1. **Re-run link validation:** Run `audit-all-internal-links.php` to generate fresh CSV data
2. **Prevent future issues:** Implement link validation script before saving posts (see `create-validation-script` todo)
3. **Update documentation:** Add link validation requirements to blog production workflow

## Next Steps

1. ✅ **COMPLETED:** Verified all 11 posts - all links are already fixed
2. Run fresh link audit to confirm all fixes
3. Create validation script to prevent future broken links
4. Update documentation with link validation requirements
