Plugin screenshot thumbnail 1/2
Plugin screenshot thumbnail 2/2

AceLabs Bulk Link Checker for Craft CMS

A fast, multi-site link-scanning utility for Craft CMS.
Scan internal links, external links, redirects, and asset references – all in one pass.


Why This Plugin Exists

Content changes. URLs change. External sites disappear. Redirect chains pile up.

Manually checking hundreds of links is impossible.
Bulk Link Checker does it for you.

It crawls entries, fields, and rich text content across one or many sites and reports everything that’s broken, redirected, or suspicious.


Features

  • Full multi-site scanning
  • Redirect chain detection (with hop history)
  • Internal and external link checking
  • Optional asset checks (images/files)
  • Advanced ignore patterns and filtering
  • Optional disabled or draft scanning
  • Craft queue-powered background scanning
  • Utility UI with grouped results
  • CLI command for CI/CD pipelines
  • JSON output for automation

Redirect Handling

The scanner:

  • Captures each redirect hop
  • Shows the full redirect chain
  • Distinguishes direct 200s from 200s via redirects
  • Surfaces slow or chained redirects

Example chain:

301 /old-url     → /new-url
301 /new-url     → /newer-url
200 /newer-url

Installation

Composer

composer require acelabs/bulk-link-checker

Then enable the plugin at:

Settings → Plugins


Control Panel Usage

In the CP Utility, you can:

  • Select which sites to scan
  • Scan internal, external, or both link types
  • Include or exclude drafts or disabled content
  • Apply ignore rules
  • Flag broken assets
  • View results grouped by entry
  • Inspect redirect chains
  • Fix issues and rescan instantly

Command-Line Usage

Basic scan:

php craft bulk-link-checker/scan/run

Ideal for CI, deployments, and local automation.


CLI Options

Sites

--sites=1,2
--sites=default,en

Accepts IDs or handles.

Entry Scope

--entryScope=all
--entryScope=section
--entryScope=entryType

Section or entryType usage:

--sections=3,7
--entryTypes=12,13

Link Types

--linkMode=both
--linkMode=internal
--linkMode=external

Additional Options

--includeDisabled=1
--checkContentLinks=0
--checkAssets=1

Ignore Patterns

Supports multiline strings:

--ignorePatterns="google.com
facebook.com"

Output Format

--format=text
--format=json

JSON is recommended for CI.


Example CI Run

php craft bulk-link-checker/scan/run --sites=default --linkMode=external --format=json

Exit Codes:

  • 0 = No issues
  • 1 = Broken links found

Performance

You can adjust concurrency for faster scans:

config/bulk-link-checker.php

<?php
return [
    'concurrency' => 10, // URLs to check in parallel
];

Recommendations:

  • Increase only if your server has enough CPU threads.
  • Avoid hammering external domains with high parallel requests.
  • Use ignore patterns to exclude risky or rate-limited URLs.

Requirements

  • Craft CMS 5.x+
  • PHP 8.0+

Reporting Issues

Please open an issue on the project repository.


License

Craft License © AceLabs 2025

Standard

Plus $49/year after one year.

Installation Instructions

To install this plugin, copy the command above to your terminal.

Reviews

This plugin doesn't have any reviews.

Active Installs
1
Version
1.0.0.2
License
Craft
Compatibility
Craft 4, Craft 5
Last release
November 20, 2025
Activity (30 days)
1
Closed Issues
0
Open Issues
0
Merged PRs
0
Open PRs