PHPackages                             siteorigin/laravel-kernel-crawler - 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. siteorigin/laravel-kernel-crawler

ActivePackage[Utility &amp; Helpers](/categories/utility)

siteorigin/laravel-kernel-crawler
=================================

Crawls a Laravel site using internal Kernel.

0.1.0(5y ago)11331MITPHPPHP ^7.4

Since Mar 5Pushed 5y ago1 watchersCompare

[ Source](https://github.com/siteorigin/laravel-kernel-crawler)[ Packagist](https://packagist.org/packages/siteorigin/laravel-kernel-crawler)[ RSS](/packages/siteorigin-laravel-kernel-crawler/feed)WikiDiscussions develop Synced 1w ago

READMEChangelogDependencies (6)Versions (3)Used By (1)

Laravel Kernel Crawler
======================

[](#laravel-kernel-crawler)

This package gives you a local site crawler based on a Laravel LazyCollection. Each request goes directly through the local HTTPKernel, so it doesn't generate web server requests.

2 examples of you might need this is for warming your site's cache, and generating a sitemap. This package offers commands for both of these.

It's currently compatible with Laravel 8.0+

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

[](#installation)

*Installation instructions coming once this package is on Packagist.*

To publish the configuration files, use:

`php artisan vendor:publish --provider="SiteOrigin\KernelCrawler\CrawlerServiceProvider" --tag="config"`

Usage
-----

[](#usage)

Here's a very basic use example:

```
use SiteOrigin\KernelCrawler\Crawler;
use SiteOrigin\KernelCrawler\Exchange;

$crawler = new Crawler();
$crawler->each(function(Exchange $ex){
	// $ex->request is an Illuminate\Http\Request object
	$ex->request->url();
	// $ex->response is an Illuminate\Http\Response object
	$ex->response->getContent()
});
```

After creating a Crawler, you can use all of the Laravel [LazyCollection](https://laravel.com/docs/8.x/collections#lazy-collections) functions. This offers a collection of [`Exchange`](https://github.com/siteorigin/laravel-kernel-crawler/blob/develop/src/Exchange.php) objects.

Warming Cache
-------------

[](#warming-cache)

If all you need to do is generate dummy requests to each public URL on your site, then you can use `php arisan crawler:start`. This is useful if you want to warm the cache for all public URLs on your site.

Generating a Sitemap
--------------------

[](#generating-a-sitemap)

This package offers the command `php artisan crawler:sitemap` to generate the sitemap. You can configure your sitemap using the [crawler.php](https://github.com/siteorigin/laravel-kernel-crawler/blob/develop/config/crawler.php) configuration file. See the Installation section for instructions on publishing this config file.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity44

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

Unknown

Total

1

Last Release

1898d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c936acc8bcc60aa08303d15f12692319c15ef4c3b783c057abb0570fd1e0f2fb?d=identicon)[gpriday](/maintainers/gpriday)

---

Top Contributors

[![gregpriday](https://avatars.githubusercontent.com/u/1126859?v=4)](https://github.com/gregpriday "gregpriday (18 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/siteorigin-laravel-kernel-crawler/health.svg)

```
[![Health](https://phpackages.com/badges/siteorigin-laravel-kernel-crawler/health.svg)](https://phpackages.com/packages/siteorigin-laravel-kernel-crawler)
```

###  Alternatives

[wireui/wireui

TallStack components

1.8k1.3M16](/packages/wireui-wireui)[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[spatie/laravel-pjax

A pjax middleware for Laravel 5

513371.8k11](/packages/spatie-laravel-pjax)[ramonrietdijk/livewire-tables

Dynamic tables for models with Laravel Livewire

21147.4k](/packages/ramonrietdijk-livewire-tables)[visuellverstehen/statamic-classify

A useful helper to add CSS classes to all HTML tags generated by the bard editor.

20116.8k](/packages/visuellverstehen-statamic-classify)

PHPackages © 2026

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