PHPackages                             purplespider/silverstripe-page-type-status-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. [Testing &amp; Quality](/categories/testing)
4. /
5. purplespider/silverstripe-page-type-status-checker

ActiveSilverstripe-vendormodule[Testing &amp; Quality](/categories/testing)

purplespider/silverstripe-page-type-status-checker
==================================================

A Silverstripe BuildTask that checks page type status by verifying HTTP status codes for CMS and frontend links

1.9.1(2mo ago)016[1 issues](https://github.com/purplespider/silverstripe-page-type-status-checker/issues)1BSD-3-ClausePHP

Since Feb 5Pushed 2mo agoCompare

[ Source](https://github.com/purplespider/silverstripe-page-type-status-checker)[ Packagist](https://packagist.org/packages/purplespider/silverstripe-page-type-status-checker)[ RSS](/packages/purplespider-silverstripe-page-type-status-checker/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (12)Used By (1)

Check Page Type Statuses
========================

[](#check-page-type-statuses)

A Silverstripe BuildTask that provides a visual interface for testing all page types in your site. Useful for verifying pages work correctly after upgrades or major changes.

[![Check Page Type Statuses](docs/screenshot.png)](docs/screenshot.png)

Features
--------

[](#features)

- Lists all page types with CMS edit and frontend links
- Automatically checks HTTP status codes for all links
- Shows page count per type (live + draft) sorted by count
- Handles ErrorPage correctly (expects 404/500)
- Visual status indicators (✓ pass / ✗ fail)
- Click status badges to re-check individual links
- Detects and tests controller `$allowed_actions`
- Detects forms on pages (flags for manual testing)
- "Open All" buttons to open CMS or frontend links in new tabs
- Optional page preview thumbnails
- Randomise selected pages for broader testing
- Progress indicator with stop functionality
- Prioritises live pages over draft pages
- Responsive design for narrower screens
- Works in both browser and CLI

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

[](#requirements)

- Silverstripe 6.0+
- PHP 8.1+

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

[](#installation)

```
composer require purplespider/silverstripe-page-type-status-checker
```

Usage
-----

[](#usage)

### Browser (Recommended)

[](#browser-recommended)

Visit `/dev/tasks/check-page-type-statuses` in your browser while logged in as admin.

Click "Check Links &amp; Actions" to check all links including controller actions, or "Check Links Only" for a faster check of just the main pages.

The task will display:

- Page type names with counts (live + draft)
- CMS edit form links with status codes
- Frontend links with status codes
- Controller actions with status codes (if `$allowed_actions` defined)
- Form detection indicators
- Example page titles and URLs

### CLI

[](#cli)

```
vendor/bin/sake tasks:check-page-type-statuses
```

The CLI output shows a simplified list of all page types with their CMS and frontend URLs.

License
-------

[](#license)

BSD-3-Clause

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance84

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 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

Every ~1 days

Total

11

Last Release

82d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/329880?v=4)[James Cocker](/maintainers/purplespider)[@purplespider](https://github.com/purplespider)

---

Top Contributors

[![purplespider](https://avatars.githubusercontent.com/u/329880?v=4)](https://github.com/purplespider "purplespider (15 commits)")

---

Tags

testingsilverstripeupgradepage typesbuild-task

### Embed Badge

![Health badge](/badges/purplespider-silverstripe-page-type-status-checker/health.svg)

```
[![Health](https://phpackages.com/badges/purplespider-silverstripe-page-type-status-checker/health.svg)](https://phpackages.com/packages/purplespider-silverstripe-page-type-status-checker)
```

###  Alternatives

[silverstripe/frameworktest

Aids core and module developers in testing their code against a set of sample data and behaviour.

17304.6k23](/packages/silverstripe-frameworktest)[silverleague/ideannotator

Generate PHP DocBlock annotations for DataObject and DataExtension databasefields and relation methods

4768.0k43](/packages/silverleague-ideannotator)[sheadawson/silverstripe-userswitcher

During testing, allows Admins to quickly switch to act as a different user in the system

194.6k](/packages/sheadawson-silverstripe-userswitcher)[dnadesign/silverstripe-populate

Populate your database through YAML files

25102.3k2](/packages/dnadesign-silverstripe-populate)[unclecheese/mock-dataobjects

Allows DataObjects to self-populate intelligently using fake data

183.7k](/packages/unclecheese-mock-dataobjects)[fahadyousafmahar/slash-login

Say goodbye to repetitively fill / submit login forms during development of your laravel applications. This package allows you to login as any user with just a "slash login" (/login/user\_id)

101.3k](/packages/fahadyousafmahar-slash-login)

PHPackages © 2026

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