Check all links and anchors on the LOCAL development server using lychee link checker.
Check all links and anchors on the LOCAL development server (http://localhost:4000) using lychee link checker.
lychee must be installed:
brew install lychee
LOCAL Jekyll server must be running:
bundle exec jekyll serve
The server should be accessible at http://localhost:4000
Check if lychee is installed:
which lychee || echo "lychee not found - install with: brew install lychee"
Check if LOCAL server is running:
curl -s -o /dev/null -w "%{http_code}" http://localhost:4000/ || echo "LOCAL server not running - start with: bundle exec jekyll serve"
Run lychee for each page with anchor fragment checking enabled:
lychee --include-fragments --exclude "ec.europa.eu/taxation_customs/vies" --exclude "bit.ly" "URL" 2>&1
The --exclude flags skip:
/tests-prod-test-bitly-links to avoid inflating Bitly analytics)Run all 4 checks in parallel using the Task tool for efficiency, or run sequentially:
# Example for one page:
lychee --include-fragments --exclude "ec.europa.eu/taxation_customs/vies" --exclude "bit.ly" "http://localhost:4000/ru/" 2>&1
Parse the output for each page:
Some links may show errors but are false positives:
https://ec.europa.eu/taxation_customs/vies/#/vat-validation) - these use client-side routing and cannot be validated by lychee## LOCAL Site Link Check Results
| Page | Total | OK | Redirects | Excluded | Errors | Status |
|------|-------|-----|-----------|----------|--------|--------|
| EN Index (/) | 150 | 138 | 10 | 2 | 0 | ✅ |
| RU Index (/ru/) | 171 | 158 | 10 | 3 | 0 | ✅ |
| UA Index (/ua/) | 165 | 152 | 10 | 3 | 0 | ✅ |
| ES Index (/es/) | 150 | 138 | 10 | 2 | 0 | ✅ |
Note: Total = OK + Redirects + Excluded + Errors
## ❌ Errors Found
### RU Index (/ru/)
1. [ERROR] http://localhost:4000/ru/#broken-anchor | Cannot find fragment
2. [ERROR] https://broken-link.com | Network error
### Action Required
- Fix broken links listed above
- For anchor errors: verify the target section exists on the page
End with a clear summary:
## Final Status
✅ **ALL LOCAL LINKS VALID** - All 4 pages passed (X total links, Y anchors verified)
OR
## Final Status
❌ **LOCAL ISSUES FOUND** - X broken link(s) across Y page(s)
Action required: Fix the errors listed above before deploying.
--include-fragments enables anchor/fragment checking (critical for internal navigation)localhost (not 127.0.0.1) to match Jekyll's generated URLs and get accurate link counts