Skip to content
super-page-cache

Instant speed boost – enable lazy-loading, defer scripts, and fine-tune caching for blazing-fast pages. Priority support included.

See Pro Plans →

Troubleshooting Super Page Cache Disabled Reasons: Not a Slashed URL

If you see the response header X-WP-CF-Super-Cache-Disabled-Reason: Not a slashed URL, Super Page Cache is skipping its local disk cache for that request. This guide explains what that header means, why it appears, and how to resolve it.

Understanding the "Not a Slashed URL" Header

Super Page Cache uses a local disk cache (also called the fallback cache) to serve pages directly from your server without hitting PHP or the database. To keep this cache clean and consistent, the plugin only stores pages whose URLs end with a trailing slash (for example, https://example.com/about/).

When a request arrives for a URL without a trailing slash (for example, https://example.com/about), the plugin skips writing to or reading from the local disk cache and returns the X-WP-CF-Super-Cache-Disabled-Reason: Not a slashed URL header instead.

This behavior prevents cache duplication. Without it, the same page could be stored twice — once for the slashed URL and once for the non-slashed URL — causing stale content and unpredictable cache purging.

📝 Note: Even when local disk caching is skipped, Cloudflare can still cache and serve the page from its edge network. A cf-cache-status: HIT header alongside this disabled reason simply means Cloudflare is doing its job, but your server's fallback cache is not being used for that request.

Verify the Issue

Before making changes, confirm that this header is actually present on your site.

Check response headers with curl

Run the following command in a terminal, replacing https://example.com/page with a URL on your site that does not have a trailing slash:

bash
curl -I https://example.com/page

In the output, look for:

X-WP-CF-Super-Cache-Disabled-Reason: Not a slashed URL

If you see this header, your permalink structure is causing requests without trailing slashes to bypass the disk cache.

  1. Log in to your WordPress admin dashboard.
  2. Go to Settings > Permalinks.
  3. Look at the Custom Structure field (or the selected permalink option).
  4. Check whether your permalink pattern ends with a /. For example, /%postname%/ is correct; /%postname% is not.
  1. In Settings > Permalinks, update your permalink structure so it ends with a trailing slash. The most common setting is:

    /%postname%/

    Select Post name from the list of options — this automatically uses a trailing slash — or manually add / to the end of your custom structure.

  2. Click Save Changes.

📝 Note: When you save permalink settings, WordPress automatically flushes and regenerates its rewrite rules. Any existing links without a trailing slash will be redirected to the slashed version via a 301 Moved Permanently redirect, which consolidates the cache under a single canonical URL.

Verify the Fix

After saving, confirm that the header is gone and that caching is working correctly.

  1. Open a terminal and run curl against the same URL you tested earlier — this time with a trailing slash:

    bash
    curl -I https://example.com/page/

    You should no longer see X-WP-CF-Super-Cache-Disabled-Reason in the response.

  2. Run curl against the non-slashed URL to confirm the 301 redirect is in place:

    bash
    curl -I https://example.com/page

    You should see HTTP/1.1 301 Moved Permanently with a Location: https://example.com/page/ header.

  3. After a short wait (to let Cloudflare populate its cache), add -H "Accept-Encoding: identity" to a subsequent request and check for cf-cache-status: HIT to confirm Cloudflare is caching the page.

Prevention and Best Practices

  • Always use trailing slashes in your permalink structure. The /%postname%/ (Post name) format is the WordPress default and works best with Super Page Cache.
  • Avoid switching permalink structures on a live site without planning a redirect strategy, as existing bookmarks and search engine links will return 301s until they are updated.
  • After any permalink structure change, purge the Super Page Cache and Cloudflare cache to ensure visitors receive fresh content immediately.

💡 Tip: If you are setting up a new WordPress site, choose your permalink structure before you create content. Changing permalinks later requires updating any hard-coded links in your content and waiting for search engines to re-index your pages.

Still Having Issues?

If the header persists after updating your permalink structure, or if you cannot change the permalink structure for other reasons, contact Themeisle support for further assistance.