Filtering
-m / --match=PATTERN and -i / --ignore=PATTERN
Regex applied to every discovered URL before it's fetched. To prevent ReDoS, patterns are capped at 1024 characters and nested-quantifier shapes (e.g. (a+)+) are rejected.
# Only check internal links
deadfinder sitemap https://www.example.com/sitemap.xml \
--match='^https://(www\.)?example\.com/'
# Skip media files
deadfinder url https://www.example.com \
--ignore='\.(png|jpg|gif|webp|mp4)$'
Using both: --match is applied first, then --ignore.
-r / --include30x
Link checks don't follow redirects — the 3xx status itself is the result, and by default it's treated as healthy. Enable this flag to report redirecting links as dead too:
deadfinder url https://www.example.com --include30x
Use this when your policy is "redirects are technical debt".
--limit=N
Cap the number of URLs scanned per invocation (useful for quick smoke tests of a large sitemap):
deadfinder sitemap https://www.example.com/sitemap.xml --limit=50
Applies to the input list (file lines, STDIN lines, or sitemap <loc> entries). Not to discovered child links on each page.
-c / --concurrency=N and -t / --timeout=N
Not filters per se, but the other knobs you'll reach for:
--concurrency=50(default) — number of parallel workers.--timeout=10(default, seconds) — per-request connect + read timeout.
Ramp concurrency down on rate-limited targets; up on fast internal scans.