go-linkchecker scans markdown content, checks every HTTP or HTTPS URL, and ships a clean report you can use in CI, cron jobs, or weekly content reviews.
Most link checkers are too heavy, too generic, or too noisy for markdown-only content repos. go-linkchecker stays narrow and useful.
Install from source or use Go directly.
go install github.com/srmdn/go-linkchecker@latest
go-linkchecker ./content/blog
Only want the failures?
go-linkchecker --only-broken ./content/blog
This is the kind of command you would wire into a weekly timer for a content repo.
go-linkchecker \
--only-broken \
--concurrency 8 \
--timeout 15s \
--ignore-status 401,403 \
--skip-pattern "localhost|openai\.com|wikipedia\.org" \
./content/blog
SMTP support is built in. Configure it once and send weekly reports directly to your inbox.
export LINKCHECKER_SMTP_HOST=smtp.example.com
export LINKCHECKER_SMTP_PORT=465
export LINKCHECKER_SMTP_USER=user@example.com
export LINKCHECKER_SMTP_PASS=yourpassword
export LINKCHECKER_SMTP_FROM="Link Checker <user@example.com>"
export LINKCHECKER_SMTP_TO=you@example.com
go-linkchecker --only-broken ./content/blog
Set --email-only-broken=false when you want an all-clear email too.
It helps other people find a simple markdown-first link checker without pulling in a large stack.
Star go-linkchecker