=== Warmer ===
Contributors: matterwporg, matterwpeng, atakanoz
Tags: cache, performance, optimization, cache warmer, crawler
Requires at least: 5.0
Tested up to: 6.8
Stable tag: 2.0.1
Requires PHP: 7.3.5
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Automatically warm up your WordPress site's cache by crawling pages to ensure optimal performance for your visitors.

== Description ==

Warmer helps maintain optimal site performance by automatically visiting pages to pre-populate your cache. Instead of having your visitors experience slower initial page loads while the cache builds, this plugin ensures your cache stays warm.

The plugin works by intelligently crawling your site's content based on your configuration. It can warm cache for posts, pages, archives and media files on a schedule you define. This proactive approach means your visitors will always experience fast page loads since the cache is pre-built.

Our crawler is designed to be lightweight and respectful of your server resources. You can fine-tune the crawling behavior by adjusting request delays, timeouts, and concurrent connection limits. This ensures the cache warming process won't impact your site's performance.

Features:

* Automated cache warming on a customizable schedule (hourly, twice daily, daily)
* Intelligent crawling of your site's content:
  * Posts
  * Pages
  * Category archives
  * Tag archives
  * Media attachments
* Configurable request settings:
  * Page timeout
  * Server timeout
  * Request delay
* Detailed logging and monitoring:
  * Crawl status tracking
  * Success/failure statistics
  * Downloadable logs
  * Clear log history
* Debug tools:
  * System information
  * HTTP client testing
  * Scheduler testing
  * Message display testing
* Manual cache warming controls:
  * Start/stop crawler
  * Test URL sources
* Support for popular caching plugins:
  * WP Super Cache
  * W3 Total Cache
  * WP Rocket
  * LiteSpeed Cache

Whether you're running a small blog or a large enterprise site, Cache Warmer ensures your visitors always experience optimal performance by keeping your cache primed and ready.

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/cache-warmer` directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the 'Plugins' screen in WordPress
3. Use the Settings->Cache Warmer screen to configure the plugin
4. Configure which content types should be included in cache warming
5. Set your desired crawling schedule and request parameters
6. Monitor the crawling status and logs to ensure optimal performance

For optimal results:
- Start with conservative timeout and delay settings
- Monitor server load during initial cache warming
- Adjust settings based on your site's performance needs
- Review logs regularly to identify any problematic URLs
- Use the debug tools if you encounter any issues

== Frequently Asked Questions ==

= Which caching plugins are supported? =

The plugin works with all major WordPress caching plugins including WP Super Cache, W3 Total Cache, WP Rocket, and LiteSpeed Cache. The cache warming process is cache-plugin agnostic and will work with any solution that creates cached pages when URLs are visited.

= How often does the cache warming occur? =

By default, the plugin runs every 6 hours but this can be customized in the settings to run hourly, twice daily, or daily. Choose a frequency that balances cache freshness with server load. For most sites, twice daily is a good starting point.

= Will this slow down my site? =

No, the cache warming process is designed to run in the background with minimal impact on site performance. You can configure the request delay and timeout settings to optimize the crawling process for your server environment. The crawler respects your server's resources and can be paused at any time.

= How can I monitor the cache warming process? =

The plugin provides detailed logs of all cache warming activities. You can view real-time crawling status, download log files for analysis, and use the debug tools to test various components. The logs show which URLs were successfully cached and any issues that were encountered.

= Can I exclude certain URLs from cache warming? =

Yes, the plugin allows you to selectively enable/disable cache warming for different types of content including posts, pages, category archives, tag archives, and media attachments. This gives you fine-grained control over which parts of your site are included in the cache warming process.

= What should I do if I encounter issues? =

1. Check the debug tools section to verify system compatibility
2. Review the logs for any error messages
3. Adjust timeout and delay settings if needed
4. Ensure your server meets the minimum requirements
5. Contact support if issues persist

== Screenshots ==

1. Main settings interface with cache warming controls
2. URL source configuration options
3. Request settings for fine-tuning crawler behavior
4. Automation schedule configuration
5. Detailed logging and monitoring interface
6. Debug tools and system information

== Changelog ==

= 2.0.1 =
* Tested up to WordPress 6.8
* Fixed minor visual bugs

= 2.0.0 =
* New UI Improvements
* Complete code refactoring
* New automated cache warming features
* New CPT support
* New Webhook support
* New WP-CLI support


= 1.0.0 =
* Initial release with core cache warming functionality
* Configurable content source selection
* Automated scheduling options
* Detailed logging and monitoring
* Debug and testing tools

== Upgrade Notice ==

= 1.0.0 =
Initial release of Cache Warmer plugin. Install to improve your site's performance through automated cache warming.
