Download the PHP package codeq/linkchecker without Composer

On this page you can find all versions of the php package codeq/linkchecker. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package linkchecker

Latest Stable Version

NEOSidekick.LinkChecker

Keep your Neos website free of broken links with this easy-to-use link checker

NEOSidekick.LinkChecker makes sure all your links are working smoothly in Neos projects. It validates internal page and asset references, external links and phone numbers in node data, as well crawls all rendered pages to ensure that no hidden pages fall through the cracks!

The backend module allows you to mark errors as fixed and as to-be-ignored. Editing buttons directly open relevant pages in the Neos inline editing to easily fix the issues.

The link checker has the following methods to find broken links:

Installation

NEOSidekick.LinkChecker is available via packagist run composer require neosidekick/linkchecker. We use semantic versioning so every breaking change will increase the major-version number.

Upgrade from CodeQ.LinkChecker

This package replaces codeq/linkchecker and ships a Flow code migration for existing projects. Change the package and run the migration:

The code migration updates PHP namespaces, package keys, Fusion references, command identifiers and settings paths from CodeQ.LinkChecker to NEOSidekick.LinkChecker. The Doctrine migration renames the persisted result table from codeq_linkchecker_domain_model_resultitem to neosidekick_linkchecker_domain_model_resultitem.

Single-batch upgrades performed before this release could leave the renamed table without the fingerprint and state columns. After updating the package, run ./flow doctrine:migrate; migration Version20260806120000 detects and repairs this partially applied v4 schema upgrade automatically.

Usage

Configure the link checker sync in your settings, like this:

Make sure the domains are also added in the "Sites Management"!

Setup a cronjob e.g. daily to execute ./flow checklinks:crawl.

Backend module crawl queue

The backend module starts crawls through Flowpack.JobQueue.Common. The package ships a Doctrine-backed queue named NEOSidekick.LinkChecker.Crawl and stores its messages in the table neosidekick_linkchecker_jobqueue_crawl. When the worker starts a backend-triggered crawl, it first removes all non-ignored previous findings and then runs the normal crawl command.

After installing the package, initialize the queue once:

You can verify the queue configuration with:

Run a worker for the crawl queue:

For production, run the worker under a process supervisor such as systemd, supervisord or your container platform. The worker should be restarted if it exits. A minimal systemd service looks like:

If you cannot run a permanent worker, run short-lived workers from cron:

Inspect queued jobs and failed messages with:

With the default Doctrine queue, operators can also inspect the queue table directly:

Successful jobs are removed from the table. Failed jobs remain with state = 'failed'.

Projects that already use another JobQueue backend can override only this queue. For example, to use Redis instead of Doctrine:

Reducing false positives

Not every non-2xx response means a link is dead. To keep the report trustworthy, findings are classified into two states:

The checker also follows redirects (so a 301/302 to a working page is no longer reported), retries only transient failures (timeouts, 429, 502504) with exponential backoff while honoring Retry-After, and sends an honest, configurable User-Agent.

All of this is configurable:

Performance & scale

External link checks are the slow part of a crawl. Several measures keep crawls fast and polite:

Email reports

The link checker can also send an email if it finds broken links. To enable this, you need to configure the email service like this:

Limitations and possible future Features:

License

The GNU GENERAL PUBLIC LICENSE, please see License File for more information.

Sponsors & Contribution

The development of this plugin was kindly sponsored by Code Q.

The package is based on the Unikka/LinkChecker package, which does a great job at finding all broken external links. This package extends the features a lot, offers a new UI and introduces new dependencies.

We will gladly accept contributions. Please send us pull requests.

Tests

Run the unit tests from the project root inside DDEV:

Alternatively, run the package-local PHPUnit configuration:


All versions of linkchecker with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
flowpack/jobqueue-common Version ^3.4
flowpack/jobqueue-doctrine Version ^3.3
league/csv Version ^9.1
neos/neos Version 7 - 8 || dev-master
neos/swiftmailer Version ^7.3.0
psr/log Version ^1.1 || ^2.0 || ^3.0
sitegeist/fusionlinkprototypes Version ^1.0
spatie/crawler Version ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package codeq/linkchecker contains the following files

Loading the files please wait ...