PHPackages                             kmayo-ss/check-source-urls - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. kmayo-ss/check-source-urls

ActiveSilverstripe-module[Utility &amp; Helpers](/categories/utility)

kmayo-ss/check-source-urls
==========================

Adds a task to find broken links in module source code, as well as a model admin for the results

v1.0.0(12y ago)0191[3 PRs](https://github.com/kmayo-ss/check-source-urls/pulls)PHP

Since Feb 12Pushed 10y ago2 watchersCompare

[ Source](https://github.com/kmayo-ss/check-source-urls)[ Packagist](https://packagist.org/packages/kmayo-ss/check-source-urls)[ RSS](/packages/kmayo-ss-check-source-urls/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (2)Used By (0)

Check Source Code links
=======================

[](#check-source-code-links)

Introduction
------------

[](#introduction)

The check source URLs module is to review the source code in a module or a directory to find any broken links. When the module is first installed it obtains a list of top level domains from **To review a module a dev task has been created which can be run to check urls in the source code of php, JavaScript, SilverStripe templates and MarkDown files. It need the php module curl to be installed and it records all the suspected broken urls it finds in a table.

The list it returns can not be guaranteed but it gives a good indication of broken urls.

Maintainer Contact
------------------

[](#maintainer-contact)

```
    * Kirk Mayo kirk (at) silverstripe (dot) com

```

Requirements
------------

[](#requirements)

```
    * SilverStripe 3.0 +

```

Features
--------

[](#features)

- Add a model admin for broken links
- Add a task to track source code broken links

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

[](#installation)

1. Download the module form GitHub (Composer support to be added)
2. Extract the file (if you are on windows try 7-zip for extracting tar.gz files
3. Make sure the folder after being extracted is named 'check-source-urls'
4. Place this directory in your sites root directory. This is the one with framework and cms in it.
5. Run in your browser - `/dev/build` to rebuild the database.
6. You should see a new menu called *Broken URLs*
7. Run the following task ** to check the framework module for broken source code links

Dev task
--------

[](#dev-task)

Run the following task ** to check your site for broken source code links. To ignore certain directories add the param excludeDir=/directory/to/exclude as per the example below

*[http://localhost/brokenURLs/dev/tasks/BrokenScriptsURLS?module=framework&amp;excludeDir=framework/docs/en/changelogs](http://localhost/brokenURLs/dev/tasks/BrokenScriptsURLS?module=framework&excludeDir=framework/docs/en/changelogs)*

Skipping Domains
----------------

[](#skipping-domains)

By default certain domains are skipped like example.com and mysite.com to see or edit the full list view the skipDomains property of the BrokenScriptsURL class in code/tasks/BrokenScriptsURLS.php

Disable the Broken URL model admin
----------------------------------

[](#disable-the-broken-url-model-admin)

To disable the *Broken URLs* menu add the following code to mysite/\_config.php

`CMSMenu::remove_menu_item('BrokenURLModelAdmin');`

TODO
----

[](#todo)

Add support for Punycode top level domains.

Add multi language support

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4472d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/337336c48c947ac51fcfbb6ec3d018a6703b63d29d7080d283d714ccd71f0d91?d=identicon)[kmayo-ss](/maintainers/kmayo-ss)

---

Top Contributors

[![kmayo-ss](https://avatars.githubusercontent.com/u/1711912?v=4)](https://github.com/kmayo-ss "kmayo-ss (12 commits)")

---

Tags

silverstripebroken-linkshrefsource-code

### Embed Badge

![Health badge](/badges/kmayo-ss-check-source-urls/health.svg)

```
[![Health](https://phpackages.com/badges/kmayo-ss-check-source-urls/health.svg)](https://phpackages.com/packages/kmayo-ss-check-source-urls)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
