What Cyclone Static Does
Cyclone Static converts your WordPress site into a static site — without changing how you manage it.
Every time a page is published or updated, Cyclone generates a plain HTML file and saves it to disk. From that point forward, Apache serves that file directly to anonymous visitors. PHP doesn’t start, WordPress never sees the request, and the database never gets a query. The visitor receives a complete HTML page in the time it takes Apache to read a file off disk and send it over the network — typically under 10 milliseconds.
From your perspective as an editor or site manager, your experience doesn’t change. You still publish through WordPress. Logged-in users still get live WordPress. The admin, the editor, the previewer — all normal. The difference is invisible to you and transformative for your visitors.
How It Is Different from a Caching Plugin
Most WordPress performance plugins — W3 Total Cache, WP Super Cache, LiteSpeed Cache — work by storing PHP output in a cache and replaying it. PHP still starts on each request; it just skips the database query and returns the cached output instead. This is faster than a cold WordPress request, but PHP, WordPress, and the web server are all still involved.
Cyclone Static bypasses all of that. Apache reads a file. Apache sends a file. The entire WordPress stack — PHP, the autoloader, plugins, the database connection, the query — is never touched for anonymous traffic. There is nothing to exploit, nothing to slow down, and nothing to crash under load.
| What Happens on a Request | Standard WordPress | Caching Plugin | Cyclone Static |
|---|---|---|---|
| Apache evaluates rewrite rules | Yes | Yes | Yes |
| PHP process starts | Yes | Yes | No |
| WordPress loads | Yes | Yes | No |
| Database queried | Yes | Sometimes | No |
| Response served | ~200–800ms | ~50–150ms | ~5–15ms |
What Cyclone Static Requires
- Apache web server with
mod_rewriteenabled — this is how Cyclone intercepts requests before PHP starts. Nginx requires manual configuration (see the Nginx snippet on the Settings page). - .htaccess support — your server must allow
AllowOverride Allor equivalent in your Apache virtual host. Most shared hosts and cPanel servers support this by default. - WordPress 6.0 or later, PHP 8.0 or later.
- Loopback requests — Cyclone generates static files by making an internal HTTP request to each page URL. Your server must be able to make requests to itself. Most hosts allow this; the Loopback URL override in Settings handles the rare cases where it doesn’t.
Quick Start: Five Minutes to a Faster Site
- Install and activate the plugin.
Uploadcyclone-static.zipvia Plugins → Add New → Upload Plugin, then activate. Cyclone will redirect you to the Dashboard on first activation. - Confirm the system check passes.
On the Dashboard, find the System Info panel. The .htaccess Rules row should show a green checkmark. If it shows a warning, your server may not supportAllowOverride— contact your host and ask them to enable it for your domain. - Generate your initial cache.
Click Discover from Sitemap. Cyclone will fetch your Yoast SEO sitemap and queue every URL it finds — posts, pages, categories, tags, author archives, and pagination. This is the recommended way to seed the cache because it mirrors exactly what search engines already index.If you don’t use Yoast SEO, click Generate All instead. This queues all published posts and pages but does not include archive or taxonomy pages. - Watch the queue drain.
The Queue Depth stat card on the Dashboard shows how many URLs are waiting. Cyclone processes them in the background via WP-Cron. On default settings (2 pages every 30 seconds) a 500-page site takes roughly 2 hours. A 4,000-page site takes 16–18 hours. See Performance Tuning to speed this up safely. - Verify it’s working.
Open a browser tab in private/incognito mode and visit any page on your site. Right-click and View Source. You should see an HTML comment near the bottom of the page reading something like:<!-- Cyclone Static | cached 2026-04-01 12:34:56 -->If you see that comment, Cyclone is serving static files. If you don’t see it, the page hasn’t been cached yet — check the Queue Depth and wait for generation to complete.
What Happens After Initial Generation
Once the initial cache is built, Cyclone maintains it automatically:
- Publishing a new post queues it immediately for generation.
- Updating a post re-queues it and, if it appears in category or tag archives, queues those too.
- Approving a comment re-queues the parent post.
- Changing a widget, menu, or sidebar setting triggers a full site regeneration.
You do not need to manually clear or regenerate the cache during normal publishing activity. Cyclone handles it.
Security Benefits
A static HTML file cannot be exploited by SQL injection, PHP remote code execution, WordPress-specific zero-days, or xmlrpc.php brute-force attacks. There is no PHP running and no database connection open. Attackers probing for WordPress vulnerabilities receive a static file and move on.
Cyclone also optionally adds a block to your .htaccess that returns a 403 for all requests to xmlrpc.php. This is enabled by default and can be turned off under Settings → Advanced.
When Static Files Are Not Served
Cyclone bypasses the static cache for:
- Logged-in users (any WordPress authentication cookie present)
- POST requests
- Requests with query strings (e.g.
?preview=true,?s=search) - URLs in your Exclusions list
- URLs that haven’t been generated yet
In all of these cases, WordPress handles the request normally. Nothing breaks; visitors simply receive a live WordPress response instead of a static file.
