The Ideal W3 Total Cache Settings 2023: Revamped With New Features/Setup Guide

W3 total cache settings

Looking for the best W3 Total Cache settings?

I’ll walk you through the setup guide, performance tabs, and show you why some CDNs are better than others (TLDR: I would personally use both Cloudflare + BunnyCDN). Many W3 Total Cache settings are recommended by the plugin developer in the Install tab, but not all of them.

I first published this guide in 2013 and have updated it several times. However, W3 Total Cache isn’t as popular as it once was since people started using other cache plugins like FlyingPress which do a better job of optimizing for web vitals. You can upgrade to W3 Total Cache Premium, but it still doesn’t do a great job compared to other cache plugins (and is expensive for $99/yr).

These W3 Total Cache settings are meant to be used as a starting point. You should ideally go through each individual setting and configure them for your own website.


1. Setup Guide

Before running the W3 Total Cache setup guide, make sure object cache (Redis or memcached) is activated in your hosting account. In cPanel, this is usually under Select PHP Version → PHP Extensions (or similar). Check your host’s documentation or Google instructions for your host. I prefer Redis which has advantages over memcached especially for larger/WooCommerce sites.

Redis memcached cpanel

Once Redis or memcached is enabled in your host, open the setup guide and test page, database, and object cache. W3 Total Cache tells you which setting is fastest by showing the number with the highest percentage of savings (in green). That’s the setting you want to use.

W3 total cache page cache setup guide

W3 total cache database cache setup guide

W3 total cache object cache setup guide

Browser cache should be on:

W3 total cache browser cache setup guide

Lazy load images should be on if you plan on using W3 Total Cache for this:

W3 total cache lazy load setup guide

Once the setup guide is complete, you can configure the rest of the settings.

W3 total cache setup guide complete


2. Dashboard

Once you set up Cloudflare (in the Extensions settings) and PageSpeed Insights (in the General settings), you can see their widgets here. Otherwise, most everything else are advertisements.

W3 total cache cloudflare google pagespeed insights dashboard


3. Feature Showcase

The only thing to do here is activate image service if you plan on using W3 Total Cache to compress images and using WebP. Many people also use a CDN (Cloudflare Polish or Bunny Optimizer), or a dedicated image optimization plugin. I prefer using a CDN, but it’s up to you.

W3 total cache image service featured showcase


4. General Settings

  • Preview Mode: ON – test settings without breaking your live website. Click “preview” to see changes and “deploy” when you want to take them live. Disable it when you’re done.
  • Page Cache: ON – reduce TTFB through page caching.
  • Page Cache Method: TEST – use the setup guide to determine the best method.
  • Minify: ON – reduces size of HTML, CSS, and JS by removing whitespace, but this can break your website. Configure all other minify settings below and in the main “minify” tab.
  • Minify Mode: AUTO – if this breaks your website, change it to manual and add CSS/JS files in the Minify settings.
  • Minify Cache Method: DISKdocumentation says you should almost always use disk.
  • HTML Minifier: MINIFY (DEFAULT) – has the biggest savings compared to HTML Tidy.
  • JS/CSS Minifier: JSMIN (DEFAULT) + MINIFY (DEFAULT) – use the default in most cases.
  • Opcode Cache: OPCODE: ZEND OPCACHE – you’ll need to enable this in your hosting account before selecting this, otherwise it will be grayed out (just like Redis/memcached).


  • Database Cache: ON – object cache can add lots of database queries. This caches them.
  • Database Cache Method: TEST – use the setup guide to determine the best method.
  • Object Cache: TEST – this can slow down your website and admin, so test it carefully.
  • Object Cache Method: TEST – use the setup guide to determine the best method.
  • Browser Cache: ON – stores files in the user’s browser so they can be accessed faster.
  • CDN: ON – only enable if you’re using a CDN that uses a CDN URL (i.e. BunnyCDN).
  • CDN Type: GENETIC MIRROR – this is used for BunnyCDN which is what I recommend.
  • Enable Reverse Proxy Caching Via Varnish – if using Varnish, add Varnish IP addresses.
  • Lazy Load Images: ON – use W3 Total Cache to lazy load images.
  • Disable Emoji: ON – if you use emojis, try Unicode which is faster.
  • Disable wp-embed Script – converts links to embed frames (for example, pasting a Youtube link in the editor and the video will be shown). If you don’t need this, disable it.
  • Disable jquery-migrate On The Front-end: TEST – disabling jQuery Migrate results in a slight performance increase but risks breaking your site. If you don’t need this, disable it.
  • Fragment Cache Method: OFF – only on when using W3TC Premium’s fragment cache.
  • License – used to add your W3 Total Cache Premium license key.
  • Enable Google Page Speed Dashboard Widget: TEST – see PageSpeeds Insights results directly in your W3TC dashboard. You can get an API key here. I prefer going directly to the website and using tools like Chrome Dev Tools or core web vitals report in Search Console.

Pagespeed insights api key

  • Verify Rewrite Rules: ON – notifies you of server configuration errors (Rewrite Rules are found in the Install tab).
  • Enable File Locking: OFF – incompatible with most shared hosts and usually not needed.
  • Optimize Disk Enhanced Page And Minify Disk Caching For NFS: OFF – usually left off.
  • Fix Document Root Path: OFF – unless the root path is misconfigured, leave it disabled.
  • Anonymously Track Usage To Improve Product Quality: OFF – I always choose not to share data with plugins since it very slightly increases CPU usage, but it will be up to you.
  • Debug Mode: OFF – unless you need to debug errors, you should leave these settings off.


5. Page Cache

  • Cache Front Page: ON – caches the homepage which you obviously want to do.
  • Cache Feeds: Site, Categories, Tags, Comments: ON – W3TC says to turn this on.
  • Cache SSL (HTTPS) Requests: ON – enable this if using SSL which I’ll assume you are.
  • Cache URIs With Query String Variables: OFF – unless your website uses query strings in URLs (?parameter=123 for example) and need them cached, you can leave this setting off.
  • Cache 404 (Not Found) Pages: TEST – if you turn, make sure 404 pages actually return a 404, in which case it’s safe to enable. If 404 pages return a 200 response code, leave it off.
  • Don’t Cache Pages For Logged In Users: ON – only turn this off if you run a membership website (or similar) where logged-in users need their own cached version. If you need this, you can also configure “Don’t cache pages for following user roles” to choose who sees it.
  • Cache Alias Hostnames: OFF – only used to cache identify content on different domains in which case you will add “Additional Home URLs,” as well, but this is not recommended.
  • Automatically Prime The Page Cache: TEST – artificially fills the cache so when users visit your site, they’re more likely to get a cache HIT. However, this can increase CPU usage so if you test it, enter the sitemap URL (i.e. You can increase the update interval or decrease the pages per interval if you’re getting CPU spikes. I would also recommend enabling preload the post cache upon publish events.
  • Purge Policy: default settings are usually fine. After you publish a post, you’ll want to purge certain content (i.e. your blogroll) to make sure it shows new content. The default settings already purge the front page, post page, and blog feed which is usually enough.
  • REST API: TEST – turn on and check your website for errors, otherwise leave it disabled.
  • Advanced: these let you exclude certain parts of your website from the cache and configure other settings like specifying the lifetimes, but this isn’t needed in most cases.

W3 total cache page cache settings


6. Minify Settings

  • Rewrite URL Structure: ON – leave enabled to use fancy links instead of GET variables.
  • Disable Minify For Logged In Users: OFF – if you enabled caching for logged-in users and they’re having issues viewing the site, you can try turning it on. Otherwise, leave disabled.
  • Minify Error Notification: ADMIN NOTIFICATION – if minify errors exist, you will get a notification in the admin (you can also change it to email or admin notification + email).
  • HTML Minify Settings: ON
    • Inline CSS minification: ON
    • Inline JS minification: ON
    • Don’t minify feeds: ONno need to minify RSS feeds).
    • Line break removal: TEST – removing line breaks can lead to better performance but can break your site. I would turn it on, check for errors, and disable this if you see any.
    • Ignored Comment stems: list of HTML comments that should ignore minification.
  • JS Minify Settings: ON
    • Minify Method: MINIFY ONLY – you also have the option to combine (or combine & minify), but combining files is usually not recommended especially on larger websites.
    • Minify Engine Settings: TEST – non-blocking settings will likely give you better scores but can break your site. It’s common to use non-blocking using “defer” before </head> and default (blocking) after <body>. If you have Minify Mode set to auto in the General settings, you will need to add JS and CSS files manually as well as in the correct order.
    • Preserved comment removal: ON – removes comments from CSS to reduce file size.
    • Line break removal: TEST – same suggestion for previous line break removal setting.
    • HTTP/2 Push: TEST – can improve performance by pushing JS/CSS files to visitors faster (to avoid delays), but should be tested and must also be supported by your host.
  • CSS Minify Settings: ON
    • Minify Method: MINIFY ONLY – same reason JS minify method is also minify only.
    • Minify Engine Settings: see JS settings above for preserved comment removal and line break removal. You will need W3TC premium to eliminate render-blocking CSS.
    • @import Handling: PROCESS– shown in the documentation and imports CSS file.
    • HTTP/2 Push: TEST – same reason you should test HTTP/2 push in above JS setting.
  • Advanced: if minify settings break your site, find problematic files and exclude them using these settings. You can also increase the number in “Update external files every” if CSS/JS files don’t change often, and decrease “Garbage collection interval” on higher traffic sites.

W3 total cache minify settings


7. Database Cache

  • Leave as is (recommended by the developer in the “Install” tab).


8. Object Cache

  • Leave as is (recommended by the developer in the “Install” tab).


9. Browser Cache

  • Set Last-Modified Header: ON – recommended in the documentation which has other tips for browser cache settings. I highly suggest you look through this documentation.
  • Set Expires Header: turn this ON for all settings (General, CSS & JS, Media & Other Files), but leave it OFF for HTML & XML. W3TC says to only use it when there’s too much HTML traffic since it may result in users not seeing outdated content. Otherwise, this can fix the serve static assets with an efficient cache policy recommendation in PageSpeed Insights.
  • Set Cache Control Header: ON – encourages browsers to cache files (suggested by W3TC).
  • Set Entity Tag (ETag): ON – saves bandwidth by preventing 2 updates from overwriting each other when the responds to content that has not been changed (suggested by W3TC).
  • Set W3 Total Cache Header: ON – assists W3 Total Cache in identifying optimized files.
  • Enable HTTP (gzip/brotli) Compression: Brotli is faster than GZIP but you’ll need to make sure it’s enabled in your host or it will be grayed out. Use GZIP if Brotli is unavailable.

Brotli cpanel

  • Prevent Caching Of Objects After Settings Change: ON – forces browsers to reload assets when they’re updated and identify newly cached files (recommended by W3TC).
  • Remove Query Strings From Static Resources: OFFdeprecated GTmetrix item you can leave off to make sure files are delivered correctly.
  • Prevent Caching Exception List: leave blank unless you have query strings you want cached after settings change.
  • Don’t Set Cookies For Static Files: ON – decreases upload and uncompressed traffic.
  • Do Not Process 404 Errors For Static Objects With WordPress: OFF – while turning this on can slightly reduce server load, leaving it off ensures better compatibility with plugins.
  • 404 Error Exception List: leave blank since the previous setting should be turned off.
  • Rewrite URL Structure Of Objects: OFF – off unless there’s a specific reason to use it.
  • Expires Header Lifetime: these should generally be left as the default number. Google suggests using 1 year (31536000 seconds) for static assets which is the default number.
  • Security Headers: add and configure security headers which you can test in You could also use the HTTP Headers plugin which is much easier.

W3 total cache browser cache settings


10. Cache Groups

User Agent Groups: used to specify whether a mobile theme is used (if you have a mobile responsive website and are not using a plugin to create a mobile site, there is no need for this).

Referrer Groups: used to serve a unique cached version for users who come to your site through specific traffic sources (eg. Google or Bing). Most websites should leave this disabled.

Cookie Groups: same concept as referrer groups only uses cookies to create a unique cached version for users who come to your site from specific cookies. Most sites can leave it disabled.


11. CDN

This section is only for CDNs that use a CDN URL (not Cloudflare).

I suggest using both Cloudflare + BunnyCDN (also recommended by Gijo from WP Speed Matters). W3 Total Cache recommends StackPath but they have 30+ less PoPs and a slower Tbps when you compare the BunnyCDN’s network vs. StackPath’s. StackPath was also removed from after having issues while BunnyCDN is both consistently performant and reliable. BunnyCDN is also highly recommended in Facebook Groups with their own setup instructions.

Cloudflare with bunnycdn

Bunnycdn network
BunnyCDN network

Step 1: In the W3 Total Cache General Settings, enable Genetic Mirror.

W3 total cache genetic mirror

Step 2: Sign up for BunnyCDN. It costs $0.01/GB – $0.06/GB which is one of the cheaper (but better) CDNs. Add code OMM5 to your BunnyCDN Billing section if you want $5 in free credits.

Bunnycdn promo code

Step 3: In your BunnyCDN dashboard, go to Pull Zones → Add Pull Zone. For name, enter your domain name as-is (no HTTPS, WWW, or .com). For origin URL, add your actual domain name. Then select the regions you want to use. Some are more expensive than others so if you don’t have users in South Africa, consider disabling that region. At the bottom, click “Add Pull Zone.”

Bunnycdn add pull zone

Step 4: BunnyCDN will show your pull zone name + CDN Domain (you will need both of them). You can also choose to setup a custom CDN Domain which looks like this:

Bunnycdn wordpress setup instructions

Step 5: Paste the CDN Domain in W3 Total Cache → CDN → Replace site’s hostname with. You shouldn’t need to change any other W3TC CDN settings, but feel free to go through them.

W3 total cache cdn url

Step 6: Install the BunnyCDN plugin and add your pull zone name from step 4. This can help serve even more assets from BunnyCDN and was recommended to me by BunnyCDN’s support.

Bunnycdn plugin

Step 7: Clear cache in W3 Total Cache and purge the pull zone.

Bunnycdn purge pull zone

Step 8: Make sure the correct files are being served from BunnyCDN.

Bunnycdn source code

Step 9 (optional): read my full BunnyCDN guide which also shows you how to setup geo-replication which is a paid (but cheap) service to replicate your files on multiple storage zones.

Bunnycdn perma cache


12. Fragment Cache

Fragment cache is only available in W3 Total Cache premium.

This is specifically helpful for WooCommerce and dynamic websites. Fragment cache groups together different sections in your dynamic content so you can control how each one is cached.

W3 total cache fragment cache


13. User Experience

  • Process HTML Image Tags: ON – you’ll want to process img tags for lazy loading.
  • Process Background Images: ON – lazy load background images located in CSS files.
  • Exclude Words: add all above the fold images here to exclude them from lazy load. This can improve LCP since lazy loading your above the fold images would be counterintuitive.
  • Threshold: can result in a smoother scrolling experience by loading images before they get into the viewport using a threshold (i.e. 100px, 10%). This prevents lazy loaded images from “jumping” onto the page especially if you scroll down fast (bad for user experience).
  • Script Embed Method: ASYNC – default setting is fine (larger sites shouldn’t use inline).

W3 total cache lazy load settings


14. Install

There are no settings here, but the developer shares tips and it also includes your rewrite rules.

W3 total cache install


15. Extensions

Active any extensions you’re using (see sections below for Cloudflare + Image Service).

W3 total cache extensions


16. Cloudflare

Once you’re done setting up Cloudflare, be sure to check out my full tutorial on the Cloudflare settings. Even the free plan has many features you can use to further improve speed + security.

Step 1: Sign up for Cloudflare and add your website.

Add website to cloudflare

Step 2: Change nameservers in your domain registrar.

Cloudflare change namesevers

Step 3: Proxy traffic through Cloudflare in the DNS settings to use their CDN.

Cloudflare proxy

Step 4: Activate the Cloudflare Extension in W3 Total Cache and click the settings.

W3 total cache cloudflare extension

Step 5: Enter your Cloudflare email, API key, and zone.

W3 total cache cloudflare api key

W3 total cache cloudflare zone

Step 6: Configure the W3 Total Cache Cloudflare settings (tips below).

  • Set the cache level to aggressive for best results.
  • I wouldn’t use Rocket Loader since if often breaks websites.
  • Turn on Mirage if you’re using this Cloudflare service for image optimization.
  • If you’re using W3 Total Cache to minify HTML/CSS/JS, turn them off in Cloudflare.
  • Turn on email obfuscation to prevent spam if your email is shown on your site.
  • Turn on hotlink protection to stop people from stealing images and using bandwidth.
  • Turn TLS 1.2 Only to prevent people from accessing your site from older (slower) versions.

W3 total cache cloudflare settings


17. Image Optimization

You can use W3 Total Cache’s image service to compress images and serve them in WebP. However, I still recommend CDNs or a dedicated image optimization plugin since there are usually more settings and can sometimes better optimize your images. Your choice though.

Step 1: Activate the image service in the Extensions settings.

W3 total cache image service extension

Step 2: Configure the settings (i.e. lossless compression, enable auto-convert).

W3 total cache image service

Step 3: Manually convert images to WebP in the media library or bulk convert images in the previous setting. Free W3 Total Cache users only have a certain amount of conversions/month.

W3 total cache webp convert


18. W3 Total Cache vs. WP Rocket vs. FlyingPress

I switched from WP Rocket to FlyingPress and saw a big difference when clicking through my site. I was curious why it was so much faster, so I did a bunch of research and made this table.

W3 Total Cache WP Rocket FlyingPress
Server-side caching x x x
Delay JavaScript x
Remove unused CSS x Inline Separate file
Critical CSS x
Host fonts locally x x
Font-display: swap x
Preload links x
Preload critical images x x
Fetchpriority resource hint x x
Lazy render HTML elements x x
Lazy load background images Inline Helper class
Exclude above the fold images By word By URL By number
Add missing image dimensions x
YouTube iframe preview image x
Self-host YouTube placeholder x x


19. Hosting

In 2019, I moved from SiteGround to Cloudways Vultr HF and posted my results. In 2022, I moved to with Cloudflare Enterprise which landed me a <100ms global TTFB in KeyCDN. They’re the fastest host I’ve used in 12 years and are blowing up in Facebook groups.

If you have a poor TTFB, you need to rethink your host/CDN since those are the 2 main TTFB factors (which is also 40% of LCP). After writing bad reviews of SiteGround, Hostinger, Kinsta, and EIG, I think we can agree most hosting reviews are garbage. A good place to get unbiased feedback is the WP Speed Matters Group (run by Gijo from FlyingPress). doesn’t do aggressive marketing so not as many people know about them, but results are all I care about.

Keycdn global ttfb
My KeyCDN report (you can also check my GTmetrix / PSI report or click through my site)

Good hosting plans:

FastComet FastCloud Extra NameHero Turbo Cloud Cloudways Vultr HF (2GB) Servebolt Pro Starter
Type Shared Shared Cloud Cloud Cloud
Server LiteSpeed LiteSpeed Apache + Nginx Apache + Nginx Apache + Nginx
Cores/RAM 6 cores/3GB 3 cores/3GB 1 core/2GB Unmetered 32 cores/128GB
Storage 35GB / SATA Unlimited NVMe 64GB / NVMe 4GB / NVMe 10GB / NVMe
CDN Cloudflare Enterprise ($5/mo) Cloudflare Enterprise ($299/mo) Cloudflare Enterprise (free)
CDN PoPs 80 80 285 285 285
Full page caching
CDN image optimization via QUIC via QUIC Mirage/Polish Mirage/Polish Mirage/Polish
DNS Use QUIC Use QUIC DNS Made Easy ($5/mo) x Cloudflare
Cache plugin LiteSpeed Cache LiteSpeed Cache x Servebolt plugin x
Object cache Memcached Redis Redis Pro x Redis
PHP processor LiteSpeed LiteSpeed FPM Apache 2 ITK MPM LiteSpeed
Database MySQL MariaDB MariaDB MariaDB MariaDB
Bandwidth or monthly visits 92GB + 100k (est.) 50k (est.) 2TB 1M dynamic requests 50GB + 250k visits/mo
Control panel cPanel cPanel Custom Custom Custom
Email hosting x x x
Major incidents 2022 DDoS attack 2011 2-day node outage None None None
Migrations 3 free 1 free 1 free + $25/site Unlimited free Unlimited free
TrustPilot rating 4.9/5 4.6/5 4.5/5 4.5/5 4.9/5
Monthly price $5.49 (1-3 years) $9.98 (3 years) $30 $99 $25 (1 year)

  • Shared LiteSpeed HostingFastCloud Extra, Turbo Cloud, and ChemiCloud’s WordPress Turbo plan are all shared LiteSpeed hosting with cPanel and good alternatives to SiteGround & Hostinger. NameHero and ChemiCloud have less cores/RAM but use NVMe (faster than SATA), Redis (faster than Memcached), and MariaDB (faster than MySQL). NameHero’s data centers are only in US & EU, and NameHero/ChemiCloud make you sign up for 3 years to get their cheapest intro price (FastComet is 1-3 years). With either of these, you’ll use the free LiteSpeed Cache plugin and’s CDN (great setup). For cloud VPS, Scala is a solid host and doesn’t charge for the LiteSpeed license separately like other VPS hosts. Imunify360 is used as a security suite on FastComet, NameHero, and
  • Cloudways Vultr HF – good starting point for cloud hosting with more storage + bandwidth than, but their Cloudflare Enterprise needs APO and serves too many challenge pages. They were acquired by DigitalOcean who raised prices, and support could be better. Still very fast between Vultr HF, NVMe, Redis Object Cache Pro, and MariaDB. Even without APO, Cloudflare Enterprise is a powerhouse for reducing TTFB with Argo Smart Routing and prioritizing routing. Mirage/Polish optimize images better than most plugins and doesn’t tax your server. Cloudflare Enterprise can also mean 3 less plugins between image, CDN, and security plugins.
  • Servebolt – incredibly fast servers, but Cloudflare Enterprise costs $299/mo via accelerated domains, so you’ll probably just add APO using the Cloudflare plugin. However, this is a disadvantage (specifically for WooCommerce sites) because you don’t get Argo Smart Routing, and Redis is only available on the Business plan and up ( includes both). This and low storage are the main cons but they’re much faster than Kinsta + WP Engine. They also have a Servebolt Optimizer plugin.
  • – only host I know that averages a <100ms global TTFB. Both their hosting and Cloudflare Enterprise have better specs. For hosting, you get more CPU cores/RAM, LiteSpeed’s PHP, NVMe, Redis, and MariaDB. For their Cloudflare Enterprise, it’s free with APO, Argo, prioritized routing, Mirage/Polish, Brotli, early hints, and Enterprise WAF. Support is also A+ (talk to Ben Gabler and his team) or watch the interview I did with him. Unlike Kinsta and WP Engine, they don’t limit PHP workers, have a 1GB memory limit, and use Redis Object Cache Pro on their business plan and up with 10x more monthly visits and unlimited free migrations. The main con is only 50GB bandwidth on the Starter plan with 10GB NVMe storage. Search their TrustPilot reviews for “TTFB” or search Facebook Groups for feedback about them. You can get $1 your first month when you checkout using code OMM1

Siteground to rocket. Net
452% LCP improvement

Rocket. Net trustpilot review

Kinsta to rocket. Net migration

Moved to rocket. Net vs siteground

Rocket. Net positive review

Litespeed cache litespeed server

Rocket. Net woocommerce elementor
Cloudflare Enterprise significantly reduces TTFB

Rocket. Net vs cloudways vultr hf trustpilot review

Rocket. Net facebook review 1

Rocket. Net vs kinsta

Kinsta to rocket. Net ttfb redis

Namehero vs siteground feedback

Bad hosting plans (and bad hosts in general):

SiteGround GrowBig Hostinger Business WP Bluehost Choice Plus WP Engine Startup Kinsta Starter
Type Shared Shared Shared Cloud Cloud
Server Apache + Nginx LiteSpeed Apache + Nginx Apache + Nginx Apache + Nginx
Cores/RAM Not listed 2 cores/1.5GB Not listed Not listed 12 cores/8GB
Storage 20GB / SATA 200GB / SATA 40GB / SATA 10GB / SATA 10GB / SATA
CDN Google Cloud Cloudflare free Cloudflare free + Polish Cloudflare APO + firewall rules
CDN PoPs 176 80 285 285 285
Full page caching via CDN via QUIC x x
CDN image optimization Very limited via QUIC x Polish only x
DNS Blocked by Google for 4 days Use QUIC Internal Internal Amazon Route 53
Cache plugin SG Optimizer LSC x x x
Object cache Memcached Memcached x Memcached Redis ($100/mo)
PHP processor FastCGI LiteSpeed FastCGI Not listed FastCGI
Database MySQL MySQL MySQL Not listed MySQL
Resource limits CPU limits are common Low resources Low resources Low PHP workers + 25k visits/mo 2 PHP workers + 25k visits/mo
Inodes 400k 600k 50k Unlimited Unlimited
Control panel Site Tools hPanel cPanel User Portal MyKinsta
Email storage 10GB 1GB Adjustable x x
Major incidents Denies issues with TTFB, DNS, CPU, others Scam reports, fake reviews, 2019 breach Claims of hosting terrorist sites 2015 breach None
Migrations $30/site Unlimited (but screws it up) Free on qualified accounts only Paid (quoted) Free on select hosts + 1 free
TrustPilot rating 4.6/5 4.6/5 (fake) 3.7/5 4.5/5 4.2/5
Monthly price $3.99 (1 year) $3.99 (2 years) $5.45 (1 year) $20 (1 year) $29 (1 year)
Renewals $24.99/mo $14.99/mo $19.99/mo $25/mo $29/mo

  • SiteGround – $25/mo for a shared GrowBig plan is a ripoff. Top it off with a poor cache plugin, inferior CDN than Cloudflare APO, CPU limits, and a support team that constantly lies about their issues… means you’re getting ripped off. If your LCP is high, I bet you use SiteGround Optimizer which does a poor job with web vitals, plus they’ve have TTFB issues. Their CDN requires you to use SiteGround’s DNS which was blocked by Google for 4 days. To cover up their mess, they deny everything and use Facebook group admins (who run several groups) to promote SiteGround on their behalf and act like support agents. They have “good reviews” only because of affiliates and legal threats. Check this thread about Hristo’s AMA.
  • Hostinger – only cheap because they lack resources like cores, RAM, and email storage. Everyone gets drawn to their cheap prices and LiteSpeed, but have you read their scam reports and fake reviews? I would never trust them with my site. Support is horrendous and will screw up migrations, suspend your account, and pretty sure they outsource it to an ice cream truck in Lithuania. The CEO admitted to fake reviews, they’re banned from Facebook groups for voting for themselves in polls, and hired brand ambassadors who pretend to be customers. Check this poll.
  • Bluehost – another host that grew from “how to start a blog” affiliates and pays WordPress to be “officially” recommended. Use a shared LiteSpeed host instead.
  • WPX – no redundancy system which already lead to a global outage they blamed on a dead CEO. Ticking time bomb, overpriced shared hosting, and not the fastest WordPress host like Matthew said (but now he lists Kinsta #1)? Marketing gimmick.
  • WP Engine – I reached out to them about their specs, but they don’t give them out. When a host doesn’t list basic things like cores/RAM, I assume it’s not good. From my experience, they’re similar to Kinsta but even worse with pricey overages.
  • Kinsta – great option if you want to go bankrupt with paid add-ons that should be free. Compared to, you get 16x less RAM, 10x less monthly visits, brutal PHP worker limits, and a very low memory limit of 256MB. What are you paying so much for? Slower SATA SSDs, a premium DNS that’s slower than Cloudflare’s, and staging sites that get 1 CPU core? Madness! No wonder their TrustPilot rating sunk.

Avoid siteground

Siteground to cloudways dns issue

Hostinger is the worst

Godaddy mention

Siteground slow ttfb leave

Siteground renewal prices

Hostinger banned from facebook groups

Bluehost hostgator godaddy worst choices

I agree:

Namehero cloudways rocket. Net
NameHero for shared LiteSpeed, Cloudways Vultr HF for cloud, outperforms both

That’s it! I know it can get a bit technical so if you have any questions just drop me a line in the comments. And if you enjoyed my tutorial, please give it a share. I would really appreciate that.


You Might Also Like:


    • Yes, Perfmatters has a lot of optimizations not found in W3TC like the script manager, preload critical images, bloat removal, etc. You’ll need to find out which settings overlap, then only enable it in 1 plugin. Also make sure you’re taking advantage of all the “extra” features in Perfmatters which W3TC doesn’t support… like the ones I listed.

      I wrote about this for most popular cache plugins but will try to write this for W3TC soon.

  1. Wow and thank you! What a beautiful and rare complete and annotated reference to finally understand or follow a W3 total cache configuration process!

    Also liked the complete hosting evaluations tour!

    Do you have any tought about hosting ?

    • Anytime! No, I wouldn’t use them. Same reason I wouldn’t use Elementor Cloud. Use a hosting company for hosting, not a domain registrar or page builder where hosting is their #2 business.

      For shared hosting, look into the last 3 of these.

  2. Hello Tom,

    It looks like the file with the recommended W3 settings includes the credentials for Cloudflare.

    I’m not sure if they still work, but it looks like they do.

    Regards :)

  3. Thank you so much for this great guide. Answered a ton of questions I’ve always had about W3 Total Cache. One quick question more… if I already have Cloudflare set up (with the W3 add on) do I also need to set up Stackpath option in General Settings in addition to Cloudflare? Or does Cloudflare already cover this?

    (I’m using the free version of Cloudflare)

    • Nope, you only need to use 1 CDN. I always recommend checking to see CDN speed/uptime performance. Cloudflare is alright and StackPath isn’t great which is why I usually recommend BunnyCDN.

      If using Cloudflare’s CDN, you’ll need to go to your DNS settings (in Cloudflare) and toggle your website from DNS Only to Proxied. If using something like StackPath/BunnyCDN, you will copy/paste the CDN URL into W3 Total Cache and make sure assets are being served from it.

  4. W3 total cache improves the SEO and user experience of your site by increasing website performance and reducing load times by leveraging features like content delivery network (CDN) integration and the latest best practices.


Leave a Comment