PHPackages                             acelabs/bulk-link-checker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. acelabs/bulk-link-checker

ActiveCraft-plugin

acelabs/bulk-link-checker
=========================

Bulk Link Checker plugin for Craft CMS by AceLabs.

1.0.1(5mo ago)020proprietaryPHPCI failing

Since Nov 17Pushed 5mo agoCompare

[ Source](https://github.com/EchoUrandom404/bulk-link-checker)[ Packagist](https://packagist.org/packages/acelabs/bulk-link-checker)[ RSS](/packages/acelabs-bulk-link-checker/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (2)Versions (5)Used By (0)

**AceLabs Bulk Link Checker for Craft CMS**
===========================================

[](#acelabs-bulk-link-checker-for-craft-cms)

A link scanning utility for Craft CMS. It can scan issues with every link all in one go.

---

Why This Plugin Exists
----------------------

[](#why-this-plugin-exists)

Real sites get messy over time:

- Editors add content for years
- URLs change after redesigns
- External sites disappear
- Redirect chains accumulate

Manually checking every link is impossible. However, Bulk Link Checker does this for you.

---

Features
--------

[](#features)

- Full multi-site scanning
- Redirect‑chain tracking
- Internal &amp; external link checking
- Advanced filtering
- Export to CSV
- Optional draft/disabled content scanning
- See HTTP status codes &amp; messages
- Optional asset scanning (images/files)
- Craft queue‑based background scanning
- Utility UI with grouped results
- Console command for CI/CD

---

Redirect Handling
-----------------

[](#redirect-handling)

This plugin automatically:

- Captures all redirect hops
- Displays the full redirect chain
- Tracks the final resolved URL
- Distinguishes direct `200` vs `200 via redirect`

**Example:**

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

```

---

Installation
------------

[](#installation)

### Via Composer

[](#via-composer)

```
composer require acelabs/bulk-link-checker

```

Then enable the plugin in:

**Settings → Plugins**

---

Control Panel Usage
-------------------

[](#control-panel-usage)

- Select sites to scan
- Choose internal / external / both link types
- Apply ignore patterns
- Scan pages and field content
- View grouped results
- Inspect redirect chains
- Fix issues and rescan
- Export to CSV

---

Command‑Line Usage (Craft Console)
----------------------------------

[](#commandline-usage-craft-console)

Run a scan:

```
php craft bulk-link-checker/scan/run

```

Perfect for automated workflows, CI pipelines, and local dev tools.

---

CLI Options
-----------

[](#cli-options)

### Sites

[](#sites)

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

```

Accepts IDs **or** handles.

### Entry Scope

[](#entry-scope)

```
--entryScope=all        (default)
--entryScope=section
--entryScope=entryType

```

If using section/entryType:

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

```

### Link Types

[](#link-types)

```
--linkMode=both         (default)
--linkMode=internal
--linkMode=external

```

### Additional Options

[](#additional-options)

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

```

### Ignore Patterns

[](#ignore-patterns)

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

```

### Output Format

[](#output-format)

```
--format=text
--format=json

```

JSON is ideal for CI.

---

Example CI Run
--------------

[](#example-ci-run)

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

```

**Exit Codes:**

- `0` → All good
- `1` → Broken links detected

---

Performance
-----------

[](#performance)

It is possible to configure the amount of links checked at once with a config file to a maximum of 50 link requests concurrently, massively speeding up the process of checking each link.

Paste the following return statement in `config/bulk-link-checker.php`

```
