PHPackages                             frc/batcache - 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. frc/batcache

ActiveWordpress-muplugin[Caching](/categories/caching)

frc/batcache
============

A memcached HTML page cache for WordPress. Fork of the automattic/batcache.

v1.3-a2(8y ago)071.0k↓50%[1 PRs](https://github.com/frc/batcache/pulls)GPL-2.0+PHP

Since Jun 16Pushed 3y ago33 watchersCompare

[ Source](https://github.com/frc/batcache)[ Packagist](https://packagist.org/packages/frc/batcache)[ Docs](https://github.com/frc/batcache)[ RSS](/packages/frc-batcache/feed)WikiDiscussions frc Synced 1mo ago

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

```
=== Batcache ===
Contributors: automattic, andy, orensol, markjaquith, vnsavage, batmoo, yoavf
Tags: cache, memcache, memcached, speed, performance, load, server
Requires at least: 3.2
Tested up to: 3.5
Stable tag: 1.2

Batcache uses Memcached to store and serve rendered pages.

== Description ==

Batcache uses Memcached to store and serve rendered pages. It can also optionally cache redirects. It's not as fast as Donncha's WP-Super-Cache but it can be used where file-based caching is not practical or not desired. For instance, any site that is run on more than one server should use Batcache because it allows all servers to use the same storage.

Development testing showed a 40x reduction in page generation times: pages generated in 200ms were served from the cache in 5ms. Traffic simulations with Siege demonstrate that WordPress can handle up to twenty times more traffic with Batcache installed.

Batcache is aimed at preventing a flood of traffic from breaking your site. It does this by serving old pages to new users. This reduces the demand on the web server CPU and the database. It also means some people may see a page that is a few minutes old. However this only applies to people who have not interacted with your web site before. Once they have logged in or left a comment they will always get fresh pages.

Possible future features:

* Comments, edits, and new posts will trigger cache regeneration
* Online installation assistance
* Configuration page
* Stats

== Installation ==

1. Get the Memcached backend working. See below.

1. Upload `advanced-cache.php` to the `/wp-content/` directory

1. Add this line the top of `wp-config.php` to activate Batcache:

`define('WP_CACHE', true);`

1. Test by reloading a page in your browser several times and then viewing the source. Just above the `` closing tag you should see some Batcache stats.

1. Tweak the options near the top of `advanced-cache.php`

1. *Optional* Upload `batcache.php` to the `/wp-content/plugins/` directory.

= Memcached backend =

1. Install [memcached](http://danga.com/memcached) on at least one server. Note the connection info. The default is `127.0.0.1:11211`.

1. Install the [PECL memcached extension](http://pecl.php.net/package/memcache) and [Ryan's Memcached backend 2.0](http://svn.wp-plugins.org/memcached/trunk/). Use the [1.0 branch](http://svn.wp-plugins.org/memcached/branches/1.0/) if you don't have or can't install the PECL extension.

== Frequently Asked Questions ==

= Should I use this? =

Batcache can be used anywhere Memcached is available. WP-Super-Cache is preferred for most blogs. If you have more than one web server, try Batcache.

= Why was this written? =

Batcache was written to help WordPress.com cope with the massive and prolonged traffic spike on Gizmodo's live blog during Apple events. Live blogs were famous for failing under the load of traffic. Gizmodo's live blog stays up because of Batcache.

Actually all of WordPress.com stays up during Apple events because of Batcache. The traffic is twice the average during Apple events. But the web servers and databases barely feel the difference.

= What does it have to do with bats? =

Batcache was named "supercache" when it was written. (It's still called that on WordPress.com.) A few months later, while "supercache" was still private, Donncha released the WP-Super-Cache plugin. It wouldn't be fun to dispute the name or create confusion for users so a name change seemed best. The move from "Super" to "Bat" was inspired by comic book heroes. It has nothing to do with the fact that the author's city is home to the [world's largest urban bat colony](http://www.batcon.org/home/index.asp?idPage=122).

== Changelog ==

= trunk =
* Add REQUEST_METHOD to the cache keys. Prevents GET requests receiving bodyless HEAD responses. This change invalidates the entire cache at upgrade time.

= 1.1 =
* Many bugfixes and updates from trunk
```

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~378 days

Total

3

Last Release

3123d ago

### Community

Maintainers

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

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

---

Top Contributors

[![Viper007Bond](https://avatars.githubusercontent.com/u/406254?v=4)](https://github.com/Viper007Bond "Viper007Bond (9 commits)")[![pnu](https://avatars.githubusercontent.com/u/45619?v=4)](https://github.com/pnu "pnu (4 commits)")[![skeltoac](https://avatars.githubusercontent.com/u/52292?v=4)](https://github.com/skeltoac "skeltoac (4 commits)")[![markjaquith](https://avatars.githubusercontent.com/u/353790?v=4)](https://github.com/markjaquith "markjaquith (1 commits)")[![spacedmonkey](https://avatars.githubusercontent.com/u/237508?v=4)](https://github.com/spacedmonkey "spacedmonkey (1 commits)")[![jeremyfelt](https://avatars.githubusercontent.com/u/286171?v=4)](https://github.com/jeremyfelt "jeremyfelt (1 commits)")[![zbtirrell](https://avatars.githubusercontent.com/u/576707?v=4)](https://github.com/zbtirrell "zbtirrell (1 commits)")[![josephscott](https://avatars.githubusercontent.com/u/139972?v=4)](https://github.com/josephscott "josephscott (1 commits)")[![kuriositeetti](https://avatars.githubusercontent.com/u/3025949?v=4)](https://github.com/kuriositeetti "kuriositeetti (1 commits)")

### Embed Badge

![Health badge](/badges/frc-batcache/health.svg)

```
[![Health](https://phpackages.com/badges/frc-batcache/health.svg)](https://phpackages.com/packages/frc-batcache)
```

###  Alternatives

[wp-media/wp-rocket

Performance optimization plugin for WordPress

7431.3M3](/packages/wp-media-wp-rocket)[rtcamp/nginx-helper

Cleans nginx's fastcgi/proxy cache or redis-cache whenever a post is edited/published. Also provides cloudflare edge cache purging with Cache-Tags.

23517.0k1](/packages/rtcamp-nginx-helper)[humanmade/batcache

A memcached HTML page cache for WordPress.

16447.7k4](/packages/humanmade-batcache)[voceconnect/wp-large-options

You may wish to store a larger option value than is recommended on WordPress.com. If your option data will exceed 400K, or is of an unpredictable size (such as an HTML fragment etc.) you should use the wp\_large\_options plugin to store the option in a cache-safe manner. Failure to do this could result in the option not being cached, and instead fetched repeatedly from the DB, which could cause performance problems.

355.1k](/packages/voceconnect-wp-large-options)[offline/oc-speedy-plugin

Speed up your October CMS installation

181.0k](/packages/offline-oc-speedy-plugin)

PHPackages © 2026

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