PHPackages                             smic/page-warmup - 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. [Caching](/categories/caching)
4. /
5. smic/page-warmup

ActiveTypo3-cms-extension[Caching](/categories/caching)

smic/page-warmup
================

Page Cache Warmup

1.1.0(3mo ago)444.5k↓81.3%1[1 PRs](https://github.com/smichaelsen/typo3-page-warmup/pulls)GPL-3.0PHP

Since Jun 13Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/smichaelsen/typo3-page-warmup)[ Packagist](https://packagist.org/packages/smic/page-warmup)[ RSS](/packages/smic-page-warmup/feed)WikiDiscussions main Synced today

READMEChangelog (2)Dependencies (6)Versions (15)Used By (0)

Page Warmup
===========

[](#page-warmup)

Cache warmer for your TYPO3 pages ☕️
------------------------------------

[](#cache-warmer-for-your-typo3-pages-️)

When content is edited in TYPO3, caches for certain pages are flushed automatically. Depending on your setup that can be dozens of pages with news plugins that are flushed when a news record is edited, for example.

This extension detects URLs of pages that have fallen out of the cache and provides a scheduler task to warm them up automatically, before your visitors have to do it.

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

[](#installation)

`composer require smic/page-warmup`

Usage
-----

[](#usage)

After installing the extension, set up a new scheduler task with the class "Page Cache Warmup Queue Worker (page\_warmup)". The recommended (conservative) setup is:

- Type: Recurring
- Frequency: 120
- Don't Allow Parallel Execution
- Time limit in seconds: 60

That's it. Whenever the caching framework flushes page caches based on cache tags, the affected pages will automatically get warmed up again.

[![Scheduler Task](doc/scheduler.png?raw=true "Scheduler Task")](doc/scheduler.png?raw=true)

If the cache warmup is too slow, you can try a more aggressive setup like:

- Type: Recurring
- Frequency: 60
- Allow Parallel Execution
- Time limit in seconds: 240

That will result in ~ 4 simultaneous task processes, that are working on the queue. That means increased load on your system.

Under the hood
--------------

[](#under-the-hood)

In the TYPO3 caching framework entries are flushed by tags or all at once, and it gives you no feedback about what content / information has actually been flushed - that makes it hard to know what needs warming up. That's why this extension collects that information when a page is cached. It remembers the URLs and cache tags in a so called *warmup reservation*. When a cache tag is flushed, the extension can pull up all reservations matching that tag, and write the page URLs to a warmup queue.

### Detecting when a page is cached

[](#detecting-when-a-page-is-cached)

TYPO3 doesn't have a suitable hook or middleware to react to pages being cached, so this Extension provides a cache `VariableFrontendWithWarmupReservation` and registers it for the `pages` cache. It takes a look at all incoming cache entries and what *looks* like the cache entry for a page, will be written into a warmup reservation.

###  Health Score

48

—

FairBetter than 93% of packages

Maintenance79

Regular maintenance activity

Popularity33

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 83.8% 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 ~10 days

Total

2

Last Release

113d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/886face3e57e668db2bf95d62325f423baf7e9d8949a9e4c84d3a0e6c3891920?d=identicon)[smichaelsen](/maintainers/smichaelsen)

---

Top Contributors

[![smichaelsen](https://avatars.githubusercontent.com/u/912435?v=4)](https://github.com/smichaelsen "smichaelsen (31 commits)")[![milicj](https://avatars.githubusercontent.com/u/87117603?v=4)](https://github.com/milicj "milicj (3 commits)")[![amirarends](https://avatars.githubusercontent.com/u/48568142?v=4)](https://github.com/amirarends "amirarends (2 commits)")[![seirerman](https://avatars.githubusercontent.com/u/1758587?v=4)](https://github.com/seirerman "seirerman (1 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/smic-page-warmup/health.svg)

```
[![Health](https://phpackages.com/badges/smic-page-warmup/health.svg)](https://phpackages.com/packages/smic-page-warmup)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[lochmueller/staticfilecache

Transparent static file cache solution using mod\_rewrite and mod\_expires. Increase performance for static pages by a factor of 230!!

1271.4M4](/packages/lochmueller-staticfilecache)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

22260.2k](/packages/eliashaeussler-typo3-warming)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.1M8](/packages/netresearch-rte-ckeditor-image)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

40529.5k](/packages/wazum-sluggi)[b13/assetcollector

Asset collector - Add CSS and SVG files and strings as inline style tag/inline svg to the html code.

10125.6k](/packages/b13-assetcollector)

PHPackages © 2026

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