Fix “WP_CACHE is not enabled in your wp-config.php” in WP Super Cache

Seeing “WP_CACHE is not enabled in your wp-config.php” on the WP Super Cache settings page? That message means WordPress is not loading the code that serves cached pages. The WP_CACHE constant is either missing, set to false, or defined where WordPress never sees it.

The fix is simple: define WP_CACHE once, in the right place, with the right value. Then make sure no other plugin or host setting is fighting it.

WP Super Cache shows “WP_CACHE is not enabled in your wp-config.php” and caching stays off. How do I turn this on correctly?

If you are wondering what is broken: WordPress is loading without caching support. WP Super Cache is telling you it cannot see define( 'WP_CACHE', true ); in the right place inside wp-config.php.

Why this error shows up

WordPress only loads full page caching when the WP_CACHE constant is set to true in wp-config.php. That constant tells WordPress to load the advanced-cache.php drop-in from wp-content/, which is how WP Super Cache hooks in.

When that does not happen, WP Super Cache shows a notice like:

WP_CACHE is not enabled in your wp-config.php

Most of the time, one of these is true:

  • WP_CACHE is missing from wp-config.php completely.
  • WP_CACHE is defined but set to false, or defined below the wp-settings.php line so WordPress never sees it.
  • There are multiple defines of WP_CACHE from other caching plugins or host tools.
  • WP Super Cache tried to add the constant for you but could not save wp-config.php because of file permissions.

We will start with the clean “turn it on” fix, then handle conflicts and hosting quirks.

Step 1: Add WP_CACHE in the right place

If you are comfortable editing files, this is the direct fix.

1.1 Open wp-config.php

  1. Connect to your site with FTP, SFTP, or your host’s File Manager.
  2. In your WordPress root folder (where wp-admin and wp-content live), find wp-config.php.
  3. Download a backup copy of this file before editing.

1.2 Insert the WP_CACHE line

  1. Open wp-config.php in a plain text editor.
  2. Find the line that loads WordPress:require_once ABSPATH . 'wp-settings.php';
  3. Add this line above that require:
define( 'WP_CACHE', true ); // Enable caching for WP Super Cache
  1. Save the file and upload it back, overwriting the old version.
  2. In WordPress, go to Settings → WP Super Cache and click Caching On, then Update Status.

If everything is correct, the warning should disappear and WP Super Cache should report that caching is enabled.

Step 2: If the notice does not go away

If you still see “WP_CACHE is not enabled” even after adding the line, you probably have one of these situations:

  • Case A: WP_CACHE is defined more than once.
  • Case B: Another caching plugin or host tool is changing WP_CACHE behind your back.
  • Case C: The plugin cannot read wp-config.php from where you think it is.

Case A: Check for duplicate or conflicting definitions

  1. Open wp-config.php again.
  2. Search for WP_CACHE.
  3. If you see it more than once:
    • Keep one clean line:define( 'WP_CACHE', true );
    • Remove or comment out any extra definitions, especially ones that set it to false or sit below wp-settings.php.
  4. Save the file, upload it, then refresh the WP Super Cache settings page.

Also check for “smart quotes” if you pasted from a styled editor. You want straight single quotes: 'WP_CACHE', not curved ones.

Case B: You have more than one caching plugin

It is easy to end up with old caching remnants:

  • WP Rocket, W3 Total Cache, or another cache plugin still active.
  • Leftover config files in wp-content from previous plugins.

Do this:

  1. In WordPress, go to Plugins → Installed Plugins.
  2. Deactivate any other page caching plugins (WP Rocket, W3 Total Cache, LiteSpeed Cache, etc).
  3. On the server, look in wp-content/ for files like:
    • advanced-cache.php
    • wp-cache-config.php
    • cache folders from older plugins
  4. If you find an advanced-cache.php from another plugin, back it up, then replace it with the one that comes with WP Super Cache (or let WP Super Cache recreate it by deactivating and reactivating the plugin).

Once there is only one caching plugin in charge and WP_CACHE is set to true, the notice should clear.

Case C: wp-config.php is not where WP Super Cache expects it

On some installs, WordPress core lives in a subfolder or one level up from your web root. In that case, WP Super Cache uses a small check to find the “real” wp-config.php.

If you edited a different copy (for example, one in the wrong directory), WordPress may still be loading an older file without the new WP_CACHE line.

Quick check:

  1. Look above your WordPress root in your file manager for another wp-config.php (for example /home/account/wp-config.php vs /home/account/public_html/wp-config.php).
  2. If you find more than one:
    • Check which one has your real database name and keys.
    • Add define( 'WP_CACHE', true ); to that file as well, above the wp-settings.php require.

After that, reload the WP Super Cache settings page and test again.

Step 3: Fix file permissions so the plugin can manage WP_CACHE

If WP Super Cache keeps telling you it could not update wp-config.php or WP_CACHE is not enabled, your wp-config.php file might be read only.

Check permissions

  1. In your file manager, locate wp-config.php.
  2. Check its permissions:
    • Typical permission is 640 or 644 (owner writable).
    • If it is 444 or not writable by the account running PHP, the plugin cannot change it.

If you manage your own server, you can adjust it temporarily:

cd /path/to/your/site
chmod 644 wp-config.php

Then:

  • Toggle caching in Settings → WP Super Cache again.
  • Confirm that WP_CACHE remains set to true in wp-config.php.

On shared or managed hosting, ask your host to:

  • Make wp-config.php writable long enough to add WP_CACHE, or
  • Add define( 'WP_CACHE', true ); for you.

Special case: your host already handles page caching

Some managed hosts handle page caching at the server level and intentionally keep WP_CACHE set to false. They often recommend against running extra page cache plugins.

If you are on a host like WP Engine, WordPress.com, or another managed platform with their own caching layer:

  • Check their docs or ask support whether WP Super Cache is supported.
  • If they say “no” or “not needed”, it is usually better to rely on the host’s cache instead of forcing WP_CACHE on.

In that setup, the notice is more of a reminder than a bug: WordPress core is telling you page caching is off because the host is doing it elsewhere.

Verification: how to know it is fixed

You are in good shape when:

  • The WP Super Cache settings page no longer shows “WP_CACHE is not enabled in your wp-config.php”.
  • “Caching On” stays enabled after you click Update Status and refresh the page.
  • There is exactly one define( 'WP_CACHE', true ); line in the active wp-config.php, above the wp-settings.php require.
  • Your wp-content/cache/supercache/ folder starts filling with cached files when you browse the site.

Still stuck?

For AI help

Hit Continue Chat below and send me:

  • A copy of the top and bottom of your wp-config.php (with passwords removed).
  • A list of any other caching plugins you have installed now or in the past.
  • Your hosting provider name and whether it is shared, VPS, or managed WordPress hosting.

I will help you confirm which wp-config.php is active and how to safely define WP_CACHE there.

For expert human help

Scroll down to the contact form below. Enter your name, email, and WordPress needs. Atiba will get back to you as soon as possible.

Need human WordPress help?

WP Assistant is a free tool created by Atiba Software, a WordPress design and development company located in Nashville, TN. If you need more personalized WordPress assistance let us know, and we’ll get back to you ASAP!