Troubleshooting

Most Cyclone Static issues fall into a small number of categories. Work through the relevant section below — most problems resolve quickly once you know where to look.


How to Verify Cyclone Is Working

Open your site in a private/incognito browser window (to ensure you’re logged out). View the page source (Ctrl+U on Windows/Linux, ⌘+Option+U on Mac). Scroll to the very bottom of the HTML. If Cyclone is serving static files, you’ll see a comment like:

<!-- Cyclone Static | cached 2026-04-01 14:23:01 -->

If you see that comment, the page is being served as a static file. If you don’t see it, one of the following applies: the page hasn’t been cached yet, static serving is disabled, or there’s an .htaccess issue.


Static Files Are Not Being Served

Check: Is Cyclone enabled?

Go to Cyclone Static → Dashboard. The Enable/Disable toggle at the top shows the current state. If it says “Disabled”, click it to enable. The page will reload with Cyclone active.

Check: Are .htaccess rules installed?

On the Dashboard, look at the System Info panel. The .htaccess Rules row should show a green checkmark. If it shows a warning or error:

  1. Go to Settings → Permalinks and click Save Changes without changing anything. This regenerates .htaccess.
  2. Return to the Dashboard. If the warning persists, check file permissions: .htaccess must be writable by the web server user (typically mode 644 with correct ownership).
  3. Check that AllowOverride All (or at minimum AllowOverride FileInfo Options) is set for your document root in your Apache virtual host configuration. Without this, Apache ignores .htaccess entirely.

Check: Has the page been generated?

A page can only be served statically if its file exists on disk. Check the Cached Pages stat card. If it’s zero or very low, the queue hasn’t drained yet. Click Process Now a few times to trigger immediate generation, or wait for the background cron to run.

Check: Are you testing while logged in?

Cyclone never serves cached pages to logged-in users. Always test in a private/incognito browser window where you are definitively logged out.


Pages Are Not Updating After Publishing

Check: Is the queue draining?

When you publish a post, Cyclone adds it to the queue. The queue is processed by WP-Cron. If WP-Cron isn’t running reliably (common on low-traffic sites), the queue may sit unprocessed for a while. Click Process Now on the Dashboard to trigger an immediate batch.

Check: Is WP-Cron firing?

Install the WP Crontrol plugin (free, in the WordPress directory). Go to Tools → Cron Events and look for cyclone_process_queue. It should appear as a recurring event. If it’s missing, try deactivating and reactivating Cyclone Static to re-register the cron event.

If the event exists but never fires, your server may have WP-Cron disabled. Check wp-config.php for define('DISABLE_WP_CRON', true). If present, either remove it or set up a real system cron job to call wp-cron.php periodically (see Performance Tuning).

Check: Is the correct URL being cached?

If your site uses a CDN with domain rewriting, the URL Cyclone is trying to fetch might differ from the URL the file is stored under. Check the Loopback URL in Settings → Advanced and confirm it resolves to your WordPress site correctly.


Queue Is Stuck at Zero (Nothing Is Generating)

Check: Did you queue anything?

The queue only fills when you explicitly trigger generation (Discover from Sitemap, Generate All, publishing a post, etc.). A fresh installation with a pristine queue will show zero. Click Discover from Sitemap to populate it.

Check: Are loopback requests working?

Cyclone generates static files by making HTTP requests to each page URL. If your server blocks or fails these loopback requests, the queue items will fail silently. Test by going to Settings → Advanced and checking the loopback status, or navigate to your site’s homepage in a browser — if it loads, basic HTTP is working.

If loopbacks are failing:

  • Try enabling Force HTTP Loopback in Settings → Advanced and setting the Loopback URL to http://127.0.0.1.
  • Check if your server’s firewall blocks outbound connections to port 80/443 from the web server process.
  • Some security plugins (Wordfence, iThemes Security) block loopback requests. Check their settings.

Site Is Slow During Cache Generation

This is the most common complaint after a Discover from Sitemap or Generate All action fills a large queue.

The cause is straightforward: each cached page requires a loopback HTTP request — your server renders the page in PHP and returns the HTML. If Cyclone runs too many of these simultaneously, it can saturate your PHP worker pool.

Fixes:

  • Reduce Batch Size to 1 or 2 in Settings.
  • Increase Throttle Delay to 1000ms or higher.
  • Increase Cron Interval to 60 seconds to reduce frequency.

See Performance Tuning for hosting-specific recommendations.


CDN Is Serving Stale Content

Check: Is CDN integration configured correctly?

Go to Settings → CDN Integration and click Verify Connection. If it fails, fix the credentials before debugging further.

Check: Is Cyclone actually regenerating the file?

View the page source in an incognito window and check the timestamp in the Cyclone comment. If the timestamp is recent (after your publish action), Cyclone did regenerate the file. If it’s old, the file wasn’t regenerated — see the “Pages not updating” section above.

Check: Is the CDN purge succeeding?

Each CDN provider has an activity log or audit log in their dashboard. Look for purge/invalidation requests arriving from your server’s IP around the time you published. If no purge request arrived, there may be a credentials or network issue. If purge requests arrived but returned errors, check the error messages — they usually indicate the specific problem (wrong Zone ID, insufficient permissions, etc.).


500 Internal Server Error on Frontend

A 500 error after installing or updating Cyclone Static usually indicates a .htaccess syntax error in Cyclone’s block.

Quick fix:

  1. Connect to your server via FTP, SFTP, or cPanel File Manager.
  2. Open .htaccess in your WordPress root.
  3. Find and delete the entire block between # BEGIN Cyclone Static and # END Cyclone Static (inclusive of both comment lines).
  4. Save the file. The 500 error should be gone immediately.
  5. Log into WordPress admin and go to Settings → Permalinks, click Save, then go to Cyclone Static → Settings and click Save Settings to rewrite the rules cleanly.

If the 500 returns after Cyclone rewrites the rules, your Apache version may not support a directive Cyclone uses. Check your server’s Apache error log for the specific failing directive and contact support.


Plugin Update Broke the Site

Cyclone Static hooks into the WordPress plugin updater to rewrite .htaccess rules automatically after each update. In rare cases, a failed rewrite during an update may leave the .htaccess in a bad state.

Follow the same steps as the 500 error section above: remove the Cyclone block from .htaccess manually, then let Cyclone rewrite it via Settings → Save Settings.


Brotli Files Are Not Being Generated

Brotli pre-compression requires the PHP brotli_compress extension. Check the Dashboard’s System Info panel — the Brotli Compression row will show whether the extension is available.

If the extension is not installed, the Dashboard provides instructions for your server environment. Note that even without the extension, if your Apache server has mod_brotli loaded, visitors still receive Brotli-compressed responses — Apache compresses the files dynamically on each request. Cyclone’s pre-compression simply removes that per-request work.


Getting Help

If you’ve worked through the relevant sections above and still can’t resolve your issue, post in the WordPress.org support forum for Cyclone Static. Include:

  • Your WordPress version, PHP version, and Apache/Nginx version
  • Your hosting environment (shared host, VPS, managed WordPress host)
  • Whether the problem started after a specific action (install, update, publishing a post)
  • The exact text of any error messages
  • A copy of the Cyclone Static block from your .htaccess file (remove or redact your actual domain if you prefer)

The more detail you provide, the faster the community can help. Search the forum first — your question may already have an answer.