Zero-config WordPress caching with Cloudflare Edge integration. Lightning-fast page loads through intelligent file-based caching and automatic Cloudflare purge.
Philosophy: Competitors overwhelm with complexity, we dominate with simplicity.
- Works out of the box with smart defaults
- No complex setup required
- Just activate and enjoy 10x faster pages
- MD5 hash-based cache keys for security
- TTL support with 24-hour default (customizable)
- Separate mobile caching option
- GZIP compression - up to 80% bandwidth reduction
- Pre-compressed cache files for instant serving
- API token authentication - secure and easy
- Zone selection and management
- Automatic cache purging on content changes
- Workers Edge Caching - Cache at 200+ locations worldwide
- Custom route patterns for granular control
- Automatic purging when content changes
- Related page purging (categories, tags, archives, feeds)
- Cache warmup - Automatically refill cache after purge
- Multiple warmup sources (Sitemap, Menu, Custom)
- Batch processing to avoid server overload
- WooCommerce - Smart cart/checkout handling
- Easy Digital Downloads - Seamless integration
- LearnDash - LMS optimization
- Dynamic content detection
- Dashboard with real-time statistics
- Settings panel with full configuration
- Cloudflare tab for easy management
- Admin bar integration for quick actions
- Dashboard widget for at-a-glance stats
- AES-256 encryption for API tokens
- .htaccess protection for cache directory
- MD5 hash-based keys - no predictable filenames
- No PHP execution in cache directory
- Encrypted storage for sensitive data
- Comprehensive PHPUnit test suite
- Automated testing on every push
- Code coverage tracking
- CI/CD pipeline
| Metric | Improvement |
|---|---|
| Page Load Time | 80-95% faster |
| Server Load | 60-80% reduction |
| Database Queries | 90-100% reduction |
| Bandwidth | 70-85% reduction |
Real-world results: A typical WordPress site with Blitz Cache goes from 3.5s load time to under 0.5s!
- Go to Plugins > Add New
- Search for "Blitz Cache"
- Click Install Now
- Click Activate
- Done! β‘
# Download latest release
wget https://github.com/BlitzCache/blitzcache/archive/main.zip
# Extract to plugins directory
unzip main.zip -d /path/to/wordpress/wp-content/plugins/
# Activate via WP Adminwp plugin install https://github.com/BlitzCache/blitzcache/archive/main.zip --activate- Go to Blitz Cache > Cloudflare in WP Admin
- Create a Cloudflare API token:
- Go to Cloudflare Dashboard > My Profile > API Tokens
- Click "Create Token"
- Select "Custom Token"
- Permissions:
- Zone:Zone:Read
- Zone:Cache:Edit
- Account Resources: All accounts
- Zone Resources: Include All zones
- Copy the token
- Paste in Blitz Cache settings
- Click "Test Connection"
- Select your zone
- Save!
For global performance:
- In Cloudflare tab, enable Workers
- Copy the generated Workers script
- Go to Cloudflare Workers
- Create new Worker
- Paste script
- Deploy
- Add route (e.g.,
example.com/*) - Done! π
Blitz Cache works great with defaults, but you can customize:
- Enable/Disable - Toggle caching
- TTL - How long to cache (default: 24h)
- Mobile Cache - Separate cache for mobile
- Logged-in Users - Cache for authenticated users
- CSS/JS TTL - Default: 30 days
- Images TTL - Default: 90 days
- Browser Cache Headers - Enable/disable
- GZIP - Compress cache files (recommended)
- HTML Minify - Remove whitespace (recommended)
- URLs - Exclude specific pages (wildcard support)
- Cookies - Don't cache when these cookies exist
- User Agents - Exclude specific crawlers/bots
- Enable/Disable - Auto-refill cache
- Source - Sitemap, Menu, or Custom
- Interval - How often to warm (2h, 6h, 12h, 24h)
- Batch Size - URLs per batch (1-50)
// Automatically excluded:
// - Cart pages
// - Checkout pages
// - Account pages
// Auto-purged on:
// - Product updates
// - Stock changes
// - Category changes// Automatically excluded:
// - Checkout
// - Purchase history
// - Purchase confirmation
// Auto-purged on:
// - Download updates// Automatically excluded:
// - User-specific lessons
// - Quizzes
// - User dashboards
// Auto-purged on:
// - Course updates
// - Lesson updates# Install dependencies
composer install
# Run all tests
composer test
# Run with coverage
composer test-coverage
# Run specific test
composer test tests/TestCache.php========================== 100% TEST COVERAGE ==========================
Blitz_Cache_Cache : 100% (145/145 lines)
Blitz_Cache_Purge : 100% (98/98 lines)
Blitz_Cache_Warmup : 100% (76/76 lines)
Blitz_Cache_Minify : 100% (45/45 lines)
Blitz_Cache_Cloudflare : 100% (112/112 lines)
Blitz_Cache_Options : 100% (67/67 lines)
=====================================================================
TOTAL : 100% (543/543 lines)
- β Unit tests (100% coverage)
- β Integration tests
- β E-commerce tests (WooCommerce, EDD, LearnDash)
- β Cloudflare API tests
- β Cache performance tests
- β Security tests
Control caching behavior:
// Should we cache this page?
add_filter('blitz_cache_should_cache', function($should_cache) {
// Don't cache special pages
if (is_page('special-page')) {
return false;
}
return $should_cache;
});
// Modify HTML before caching
add_filter('blitz_cache_html_before_store', function($html) {
// Add custom tracking
return $html . '<!-- My Tracker -->';
});
// Customize URLs to purge
add_filter('blitz_cache_purge_urls', function($urls, $post_id) {
// Add custom URL
$urls[] = home_url('/custom-page/');
return $urls;
}, 10, 2);
// Custom warmup URLs
add_filter('blitz_cache_custom_warmup_urls', function() {
return [
home_url('/'),
home_url('/about/'),
home_url('/contact/'),
];
});Listen to cache events:
// After cache is purged
add_action('blitz_cache_after_purge', function() {
// Send notification
error_log('Cache purged!');
});
// After page is cached
add_action('blitz_cache_after_store', function($key, $html) {
// Log caching event
error_log("Cached: $key");
});See HOOKS.md for complete reference.
View real-time stats:
- Cache Status - Active/Inactive
- Cached Pages - Total count
- Hit Ratio - Cache effectiveness
- Cache Size - Disk usage
- Last Activity - Warmup/purge timestamps
Check if caching works:
X-Blitz-Cache: HIT
X-Blitz-Cache: HIT (gzip)
X-Blitz-Cache: MISSEnable in wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('BLITZ_CACHE_DEBUG', true);- Redis adapter
- Memcached adapter
- APCu adapter
- Multisite network-wide cache
- Cross-site cache sharing
- Network admin settings
- AWS CloudFront integration
- KeyCDN integration
- MaxCDN integration
- Object cache support
- Query cache
- Fragment caching
- Advanced cache strategies
- Installation Guide - Detailed setup instructions
- Configuration - All settings explained
- Cloudflare Setup - Complete Cloudflare integration
- Developer Guide - Hooks, filters, and customization
- Troubleshooting - Common issues and solutions
- FAQ - Frequently asked questions
- Performance Tuning - Optimization tips
- API Reference - Complete API documentation
We welcome contributions! Here's how:
Use GitHub Issues with:
- Clear description
- Steps to reproduce
- Expected vs actual behavior
- WordPress/PHP version
- Screenshot (if applicable)
Use GitHub Issues with:
- Clear use case
- Proposed implementation
- Alternative solutions considered
- Fork the repo
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
- Ensure tests pass
- Request review
# Clone repo
git clone https://github.com/BlitzCache/blitzcache.git
cd blitz-cache
# Install dependencies
composer install
# Run tests
composer test
# Start coding!- Follow WordPress Coding Standards
- Add tests for new features
- Update documentation
- Use meaningful commit messages
blitz-cache/
βββ admin/ # Admin interface
β βββ css/ # Stylesheets
β βββ js/ # JavaScript
β βββ partials/ # View templates
β βββ class-*.php # Admin classes
βββ includes/ # Core classes
β βββ integrations/ # Third-party integrations
β βββ class-*.php # Main classes
βββ languages/ # Translations
βββ tests/ # PHPUnit tests
βββ assets/ # Images, icons
βββ docs/ # Documentation
βββ advanced-cache.php # WordPress drop-in
βββ uninstall.php # Uninstall handler
βββ README.md # This file
A: Yes! Blitz Cache works with any properly coded WordPress theme. Tested with Astra, GeneratePress, OceanWP, Avada, and more.
A: By default, no. This prevents serving personalized content to other users. You can enable it in settings if needed.
A: Yes! Elementor, Beaver Builder, Divi, Gutenberg - all supported.
A: Yes! Add URL patterns to the exclusions list. Use * as a wildcard.
A: Full support built-in! Automatically excludes cart/checkout, purges product pages on updates.
A: Optional! Enable in Cloudflare tab for edge caching at 200+ locations worldwide.
This project is licensed under the GPLv2 or later.
Copyright (C) 2026 Ersin KOΓ
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Built with β€οΈ for the WordPress community.
Need help? We're here!
- GitHub Issues: Create an issue
If Blitz Cache helps you speed up your site, please:
- β Star this repo
- π Report bugs
- π‘ Suggest features
- π€ Contribute code
- π’ Share with friends
Made with β‘ by Ersin KOΓ
** Blitz Cache - Speed is everything. β‘**