call Contact
local_fire_department TYPO3 Extension

Cache Warmup with the "warming" Extension

After every cache clear, TYPO3 has to rebuild every page from scratch on its first request – for whichever visitor or Googlebot happens to arrive first. The "warming" extension by Elias Häußler takes care of this for you: it automatically visits every page listed in your XML sitemap and pre-fills the cache before a real user ever notices.

history Letzte Änderung: 21.08.2026

What Is Cache Warmup and Why Do You Need It?

TYPO3 stores rendered pages in the frontend cache so they can be delivered instantly on every subsequent request instead of being rebuilt from scratch. After every cache clear – for example after a deployment, a content change, or a scheduled cache flush – this cache is empty, though. The first request to a page then hits a "cold" cache: TYPO3 has to fully recompute the page, which noticeably takes longer.

The extension "warming" (eliashaeussler/typo3-warming) automates exactly this process: it reads the website's XML sitemap, actively requests every URL listed in it, and proactively fills the cache before real visitors or search engine crawlers ever load the pages. This works for entire websites via the sitemap, or specifically for individual pages via their page ID, including across multiple languages.

Requirements and Installation

The extension is added via Composer as usual:

composer require eliashaeussler:typo3-warming

It supports PHP 8.2 through 8.5 and TYPO3 13.4 LTS through 14.3 LTS. The only content requirement: at least one XML sitemap must exist. TYPO3 already provides this via the core extension seo, so no additional setup is needed in most projects.

map

Tip: before installing, check that your sitemap is reachable at /sitemap.xml and actually contains all relevant pages – "warming" can only pre-warm pages that are listed in the sitemap.

Warming the Cache Manually or Automatically

For the actual warmup, the extension offers several options:

Backend toolbar and page tree: an icon in the backend toolbar opens a warmup dialog for the entire website; in the page tree, the same process can be triggered specifically for a single page and its subpages – handy for editors after major changes, with no console access required.

Console commands: for developers and automated workflows, the command warming:cachewarmup is available, which processes either the entire sitemap or individual page IDs. The additional command warming:showuseragent shows the user agent the crawler uses – useful for explicitly allowing it in a firewall or security plugin, for example.

event_repeat

"warming" is most effective as the last step in your deployment pipeline or as a recurring TYPO3 scheduler task: right after the cache is cleared, warming:cachewarmup runs automatically – so visitors and search engines never see a "cold" page.

tune Fine-Tuning

What Can Be Configured

Cache-warmup behavior can be fine-tuned for larger or especially sensitive websites.

  • sync

    Crawler behavior: The maximum number of parallel requests and the cap on pages crawled per run can be limited so the server isn't overloaded.

  • map

    Sitemap parser: Custom sitemap paths or multiple sitemaps can be configured if the default address isn't sufficient.

  • shield

    Permissions: Only selected backend user groups may trigger a warmup manually – important so not every editor accidentally starts a full website crawl.

  • list_alt

    Logging: Every warmup run is recorded in its own log table in the backend, so success, duration, and any errors can be traced per URL.

Want your TYPO3 website to be fast again immediately after every update?

We set up cache warmup for you and integrate it directly into your deployment pipeline.

chat Free Consultation