Skip to content

IT-Journey Link Health Analysis - Executive Summary

Generated: 2025-12-11 Analysis of: Link check run on 2025-12-12T03:20:06Z


Why Such a Large Number?

Lychee counts every link occurrence on every page, not unique URLs.

Example: Your navigation menu appears on 721 HTML pages. If it has 10 links: - Unique links: 10 - Total counted by Lychee: 10 Γ— 721 = 7,210 link instances

Actual Statistics

Metric Count Notes
Lychee "Total" 152,992 Every link on every page
Unique URLs ~5,295 Actual distinct URLs
HTML Pages Scanned 721 Built site pages
Avg Links/Page 212 Including nav, footer, social buttons
Files with Errors 877 Pages containing broken links

Every page on your site includes: 1. Navigation menu (~20 links Γ— 721 pages = ~14,000 instances) 2. Social share buttons (~3 links/page Γ— 721 pages = ~2,100 instances) - LinkedIn share button - Reddit share button - GitHub.dev edit link 3. Footer links (~10 links Γ— 721 pages = ~7,000 instances) 4. Sidebar navigation (varies by page)

This is completely normal and expected for a Jekyll site!


πŸ” Actual Issues Found

Error Breakdown (19,877 error instances)

Domain Error Instances Unique URLs % of Total
it-journey.dev 15,928 ~1,500 80.1%
github.com 1,930 ~200 9.7%
0.0.0.0:4002 1,770 353 8.9%
Other 249 ~120 1.3%

Issue Categories

1. πŸ”§ FIXABLE: Local Development URLs (1,770 instances)

  • 353 unique URLs pointing to http://0.0.0.0:4002/
  • These are in LinkedIn/Reddit share buttons in built HTML
  • Root cause: Social sharing buttons are using relative URLs that get expanded to localhost
  • Impact: Medium - doesn't affect site function but looks unprofessional in shares
  • Fix: Update social share button template to use {{ site.url }} instead of relative paths

Sample broken URLs: - http://0.0.0.0:4002/quests/1100/temple-of-templates/ - http://0.0.0.0:4002/about/readme/ - http://0.0.0.0:4002/notes/dev/Curiculum/curiculum/

2. πŸ“„ FIXABLE: IT-Journey Missing Pages (15,928 instances)

Based on detailed_analysis.md, these are 404 errors: - /privacy-policy/ - Referenced in preview builds - /services - Referenced in preview builds - /subscribe - Referenced in preview builds - /zer0/ - Bookmarked in home.md (line 9) - /blog/ - Referenced in quest files - /contact - Missing page - /about/theme - Missing page - /categories - Missing page - /terms-of-service - Missing page - Many tag pages: /tags/#devops-mastery, /tags/#lvl-1011, etc.

Key finding: Most errors are in _site/preview/ directory, not production builds!

3. ⚠️ INFORMATIONAL: Rate Limits (1,930 instances)

  • GitHub repository links getting 429 errors during link check
  • Not actually broken - just rate limited during mass checking
  • Fix: Add to link-checker exclusion list or ignore

4. ⏱️ EXTERNAL: Timeouts (11 instances)

  • memory.loc.gov URLs timing out
  • External sites beyond your control
  • Fix: Consider using archived versions or removing

Priority 1: Fix Local Dev URLs in Social Buttons

Impact: High visibility, easy fix

Find where social share buttons are generated (likely in _includes/ or theme files) and ensure they use:

{{ site.url }}{{ page.url }}
Instead of relative paths like:
{{ page.url }}

Priority 2: Clean Up Preview Build Issues

Impact: Most errors are in preview, not production

The _site/preview/ directory seems to be generating broken links. Consider: - Exclude preview from link checking: --exclude-path _site/preview/ - Fix or remove the preview build process - Verify these aren't in production deployment

Priority 3: Fix Missing Internal Pages

Impact: Medium - broken internal navigation

Either create the missing pages or remove references: - Remove /zer0/ bookmark from pages/home.md - Remove /blog/ reference from quest files - Create or remove privacy-policy, services, subscribe, contact pages

Impact: Reduces noise in future reports

Add to .lycheeignore or link-checker config:

# Rate-limited domains (not actually broken)
https://github.com/*/blob/
https://reddit.com/submit

# Known external timeouts
http://memory.loc.gov


Metric Value Status
Unique URLs 5,295 βœ… Good
Unique Broken ~2,173 ⚠️ Needs attention
Success Rate 85.4% 🟑 Fair
Target Success Rate >95% 🎯 Goal

After Fixes Expected:

  • Remove ~353 local dev URLs: +7% success
  • Ignore ~200 rate limit false positives: +4% success
  • Fix ~100 missing pages: +2% success
  • Projected success rate: ~98% βœ…

πŸ”§ Quick Fix Commands

1. Find social share button templates

grep -r "linkedin.com/sharing" _includes/ _layouts/ 2>/dev/null
grep -r "reddit.com/submit" _includes/ _layouts/ 2>/dev/null

2. Find references to missing pages

grep -r "/zer0/" pages/ --include="*.md"
grep -r "/blog/" pages/ --include="*.md"
grep -r "/privacy-policy" pages/ --include="*.md"
python scripts/link-checker.py --scope website --exclude-path "_site/preview/" --timeout 30

πŸ’‘ Key Takeaways

βœ… The 152K count is NORMAL - it's counting link instances, not unique URLs βœ… Most errors are in preview builds, not production βœ… Real issues: ~353 local dev URLs + ~1,500 missing pages βœ… Quick wins: Fix social buttons, clean up preview, ignore rate limits βœ… Expected outcome: 98% success rate after fixes


Next Steps: 1. Fix social share buttons to use {{ site.url }} 2. Exclude or fix preview build 3. Remove references to non-existent pages 4. Re-run link checker to validate improvements