The Ideal SiteGround Optimizer Settings For Core Web Vitals: Disable Most Settings And Use FlyingPress Or Perfmatters (2023)

Siteground optimizer settings

Ugh, SiteGround Optimizer.

I’ll show you how to configure SiteGround Optimizer’s settings, just know it does a poor job with web vitals, especially LCP and CLS. You can’t preload images, remove unused CSS, delay JavaScript, specify image dimensions, host fonts locally, and it still doesn’t support critical CSS.

For better results, you should also use FlyingPress or Perfmatters (you could even use WP Rocket, but I recommend the previous two). I’ll also show you how to configure these with SiteGround Optimizer including duplicate settings + new features to optimize your site. You’ll still use SiteGround Optimizer’s dynamic caching + Memcached, but not for most other settings.

For a CDN, Cloudflare’s APO is faster, cheaper, and more reliable than SiteGround’s CDN, especially since you have to use their DNS to use it which caused 2M domains to get deindexed.

Another reason not to use it is compatibility issues which support often blames on third-party plugins. Just search their support forums for “Elementor” or other plugins/themes you’re using.

I left SiteGround and suggest you do the same. You can get faster results (often for cheaper) if you look at migration results from NameHero, Cloudways, and who averages a <100ms global TTFB. You would never know this because SiteGround controls many popular WordPress Facebook groups, hires people to write fake reviews, and threatens people who write negative reviews. But hey, if you want to pay $25/mo+ for their shared hosting or $100/mo+ for their cloud hosting, go ahead. It’s your money.

Siteground no value


1. Dashboard

Here’s why you don’t need perfect scores (4/4/, 3/3, 6/6, 3/3):

When using other cache/optimization plugins (WP Rocket, FlyingPress, Perfmatters), it should look more like (3/4, 3/3, 3/6, 1/3) mainly because of these overlapping features: file-based caching, browser caching, CSS settings, lazy load.

File-based caching overlaps with page caching in other cache plugins, so only enable it in 1 (browser caching also overlaps and is usually easier to disable using SiteGround Optimizer). Dynamic caching can have compatibility issues when using APO, but leave on otherwise. All SiteGround’s CSS settings should be left off when using “remove unused CSS” in plugins like Perfmatters/FlyingPress. SiteGround Optimizer’s lazy load settings lack many features with frequent compatibility issues. For this, I recommend either Perfmatters or FlyingPress which can also preload critical images (for better LCP scores) and lazy load CSS background images.

Other common overlapping features are Heartbeat control, defer JavaScript, and minifying CSS/JS. You can use SG Optimizer for these, then disable them in other optimization plugin(s).

FlyingPress/Perfmatters also have many lacking features not found in SiteGround Optimizer: delay JavaScript, font-display: swap, add missing image dimensions, and host fonts locally. FlyingPress can also lazy render HTML elements and self-host YouTube placeholders while Perfmatters can remove bloat, preload CSS/JS files, and includes a script manager to reduce CSS/JS by disabling plugins on pages/posts they’re not used. For best results, I suggest both.

Finally, use WP-Optimize to clean your database which can remove tables left behind by old plugins, take backups, and keep a few post revisions (instead of deleting them all). All that said, SG Optimizer works best when combined with FlyingPress, Perfmatters, and WP-Optimize.

There’s still 1 key lacking feature which can improve mobile/LCP scores, and that’s resizing images for mobile which SiteGround Optimizer (and their CDN) don’t support. You can try ShortPixel Adaptive Images or image CDNs like Bunny Optimizer or Cloudflare’s image resizing.

I know it’s confusing, but with so many lacking features, you’re forced to compensate by using other plugins to get the best results. If you have any questions about this, leave me a comment.

SG Optimizer WP Rocket FlyingPress LiteSpeed Cache
Server-side caching x x
Object cache integration x x
Delay JavaScript x
Remove unused CSS x Inline Separate file Separate file
Critical CSS x
Preload critical images x x x
Exclude above the fold images By class/type By URL/class Automatic Automatic
Lazy load background images x Inline HTML lazy-bg class x
Add missing image dimensions x
Lazy load iframes x
YouTube iframe preview image x
Self-host YouTube placeholder x x x
Host fonts locally x x
Font-display: swap x
Preload links x
Bloat removal (beyond Heartbeat) x x (read details) x
Lazy render HTML elements x x
Guest Mode x x x
Advanced cache control x x x
Gravatar cache x x x
Limit post revisions Delete all Delete all Delete all Keep some
CDN Google Cloud StackPath BunnyCDN
CDN PoPs 176 73 114 80
Full page caching x x
CDN geo-replication x x x
CDN image optimization x x
CDN image resizing for mobile x x x
CDN DDoS protection x x
CDN bandwidth Unmetered Very limited Unlimited Unlimited
Documented APO compatibility x x x
Documentation Not detailed Good Not detailed Good
New features Infrequent Infrequent Frequent Frequent
Facebook group Join Join Join Join
CDN price $14.99/mo $8.99/mo $.03/GB $.02-.08/GB
Plugin price Free $59/year $60/year Free
Renewal price Free $59/year $42/year Free

Siteground optimizer dashboard 1


2. Caching Settings

If you’re using another cache plugin with SiteGround Optimizer, disable file-based caching and only use it for dynamic cache/Memcached. With Perfmatters or only SG Optimizer, enable all 3.

Siteground optimizer caching settings

  • Dynamic Caching: On – leave dynamic caching on unless you use Cloudflare APO, then leave it Off since there have been several compatibility issues which SiteGround denies.
  • File-based Caching: On – leave Off if you’re using FlyingPress or WP Rocket. You could also disable WP Rocket’s caching using their helper plugin, but the first option is easiest.
    • Cleanup Interval: 1 week – expiration for file-based caching until it’s purged.
    • Preheat CacheOn – artificially fills the cache so visitors get a better cache hit ratio (similar to preloading in WP Rocket). Once the cache is purged, it’s preloaded using your sitemap and is executed with cron. This can increase CPU usage if you’re not careful and leaves little customization room, so keep an eye on your CPU usage.
    • Logged-in Users Cache: Off – only enable if you have user-specific content where visitors need their own cached version (membership sites for example). There are no customization settings / helper plugins and this also increases the stored cache size.

Siteground optimizer preheat cache

  • Memcached: On – enables Memcached object cache which speeds up database queries. You will first need to activate Memcached in Site Tools (Speed →  Caching → Memcached).
Siteground memcached site tools
Activate Memcached in Site Tools before activating it in SiteGround Optimizer
  • Automatic Purge: purges the cache when specific changes are made to your website according to SiteGround’s rules. There’s been several reports of this not working, so make sure it is. A full purge is done during larger changes (updating WordPress plugins/core or deleting a category) while a smart purge is done for smaller updates (modifying a post or adding a comment). Dynamic and file-based caching must both be enabled for it to work.
    • Purge WordPress API Cache: On – also purges the Rest API which is used on many websites including the block editor. If you don’t use Rest API, you can leave this off.
  • Manual Cache Purge: usually only needed when automatic purge isn’t working for you.
  • Exclude URLs From Caching: exclude URLs from dynamic and file-based caching. The documentation shows the example of the /cart/ page being excluded, so I assume they don’t automatically exclude URLs and you will need to do these manually. You can also use wildcards to exclude specific sections of your site, such as:*
  • Browser-Specific Caching: Off – SiteGround recommends only enabling this if you’re having issues with plugins or things like generating the mobile version of your website.
  • Testing the cache – I recommend for testing the cache in SiteGround Optimizer and your CDN. They also have some documentation on testing the CDN cache.

Siteground cache test


3. Environment Settings

I recommend disabling scheduled database maintenance and use WP-Optimize instead. Also make sure you only use one plugin for Heartbeat Optimization, then disable it in other plugins.

Siteground optimizer environment settings

  • HTTPS Enforce: On – automatically force visitors to use a secure HTTPS connection. I assume most of you will be using the free Let’s Encrypt SSL you get through Site Tools.
  • Fix Insecure Content: Off – if you see mixed content warnings in your browser when using SSL, it means you’re loading both HTTPS + HTTP. This can fix it, leave off otherwise.
  • GZIP Compression: On – compress pages (Brotli is only available on SiteGround’s CDN).
  • Browser Caching: On – stores static files in the browser so they can be accessed quicker. This should be left off when using other cache plugins which also have browser caching.
  • WordPress Heartbeat Optimization: Disabled, 120s, Disabled – the only place you usually want Heartbeat is the post editor (posts and pages) since it handles things like autosaves to prevent you from losing work. Then disable it in the admin and frontend. Otherwise, the WordPress Heartbeat API will run every 15-60s and increases CPU usage.
  • Scheduled Database OptimizationOffWP-Optimize does a better job since you can take database backups via UpdraftPlus, keep a few post revisions (instead of deleting them all) and remove tables left behind by old plugins you deleted. When viewing tables, you may also notice certain plugins/modules add overhead, so consider disabling those.
Wp optimize unused database tables
Use WP-Optimize to remove tables left by old plugins marked as “not installed”
Wp optimize schedule database cleanups
WP-Optimize keeps a few post revisions (unlike SiteGround Optimizer which deletes them all)


4. Frontend Settings

Minify files, but don’t combine them.

SiteGround Optimizer can’t remove unused CSS or delay JavaScript while plugins like Permfatters, FlyingPress, and WP Rocket can. I recommend enabling “remove unused CSS” in one of those plugins and disabling all CSS settings in SiteGround Optimizer. I also recommend enabling “delay JavaScript” and configure SiteGround Optimizer’s JavaScript settings normally.

Siteground optimizer css settings

Perfmatters remove unused css inline vs. File
SiteGround Optimizer can’t remove unused CSS, so use other plugins (screenshot is Perfmatters)

Siteground optimizer javascript settings

Siteground optimizer frontend general settings

  • Minify CSS/JavaScript/HTML: On – even when using Cloudflare’s APO, you should use your cache plugin to minify files which removes whitespaces and makes the files smaller.
  • Exclude From Minification: if certain minify settings break your website, you’ll need to view your source code, find the problematic files, then exclude them from minification.
  • Combine CSS/JavaScript: Off – most websites shouldn’t combine files for several reasons. It can often result in slower load times and have issues with HTTP/2 + HTTP/3.
  • Exclude From Combination: no need to do anything here unless the combine setting is turned on and you need to exclude specific CSS, JavaScript, or HTML files from combining.
  • Preload Combined CSS: Off – if you combined CSS, this preloads the file to load faster. But again, since most websites shouldn’t combine, this setting should also be disabled.
  • Defer Render-Blocking JavaScript: On – fixes render-blocking resources but can break your site, in which you’ll exclude files. You can both defer JavaScript (in SG Optimizer) and delay JavaScript (in your other optimization plugin) since they’re different optimizations.
  • Exclude From Deferral Of Render-Blocking JS: if deferring JavaScript breaks your site, exclude broken files. Check support threads for issues with WooCommerce/page builders.

Siteground optimizer exclude from deferral of render blocking js

  • Web Fonts Optimization: On – combines fonts, loads them inline asynchronously, preloads them, and preconnects third-party fonts. I highly recommend opening your Waterfall chart and make sure fonts are self-hosted (not using, using woff2, and font-display: swap for lower CLS. Font icons can also create requests and page builders (Elementor) can disable unused fonts/font icons, or use custom fonts/font icons.
  • Fonts Preloading: only self-hosted fonts can be preloaded. Look at the font files in your GTmetrix Waterfall chart, copy the URLs of all fonts loading above the fold (or mentioned in CSS files), then preload them. Test results since preloading too many fonts can have a negative effect. Retest your site and your font’s blocking time (brown bar) should go down.

Siteground optimizer fonts to preload

  • Remove Query Strings From Static Resources: Ondeprecated GTmetrix item.
  • Disable Emojis: On – removes JavaScript code needed to convert emojis (if you need them, just use Unicode). Most optimization plugins disable emojis, so only use 1 plugin.
  • DNS Pre-fetch For External Domains: Usually Empty – delaying JavaScript is more effective. Third-party fonts and CDN URLs should use preconnect instead, so the only third-party domains you should prefetch are those not being delayed/preconnected.
Third party code
Most third-party code should be hosted locally or delayed (faster than prefetch)
Siteground optimizer manage external domains
Only prefetch third-party domains if they’re not being delayed or preconnected
Perfmatters delay javascript
SiteGround Optimizer can’t delay JavaScript, so use other plugins (screenshot is Perfmatters)

### Popular JavaScript Files To Delay In Other Optimization Plugins ###

Lacking Features

  • Delay JavaScript: often done for third-party code and plugins loading below the fold (social sharing or comment plugins). Flying Scripts, Perfmatters, FlyingPress and WP Rocket do this. WP Rocket is automatic while other plugins require you to manually add each file you want to delay. I listed common JS files above, but you want to read your plugin’s documentation since it can be different for each plugin.
  • Remove unused CSS: ideally use Perfmatters or FlyingPress since they load used CSS in a separate file (as opposed to WP Rocket’s inline method which is slower).
  • Critical CSS: this has been a feature request for years and SiteGround said they are working on it, but it’s still not here. You could try Autoptimize with Critical CSS power up, but I haven’t tried it on SiteGround Optimizer. Use it at your own risk.
  • Host fonts locally: self-hosted fonts are faster and can be preloaded (instead of pulling them from external websites like You can host fonts locally using Perfmatters, FlyingPress, OMGF, or you can try doing this manually.
  • Font-display: swap: fixes the “ensure text remains visible during webfont load” recommendation in PSI. Most optimization plugins (and Elementor) support this.
  • Preload CSS/JS files: SiteGround Optimizer can only preload your combined CSS files, but you may want to preload other CSS/JS files like wp-block-library if you’re using Gutenberg. I recommend Perfmatters which supports dynamic preloading.
  • Script manager: Perfmatters can disable plugins on specific pages with the script manager (for example, disabling your social sharing plugin everywhere but posts).


5. Media Settings

SG Optimizer lacks many image optimizations (see full list at the bottom of this section).

Using a plugin to optimize images also uses server resources, as well as disk space when backing up images. You’re better off using Cloudflare Pro or Bunny Optimizer which not only supports more optimizations, but optimize them “on the fly” without using server resources or creating backups. However, these cost money so if it’s not in your budget, use Optimole instead.

FlyingPress/Perfmatters have several other image optimizations like lazy loading background images, preloading above the fold images, replacing YouTube iframes with a preview image, and adding missing image dimensions (none of which are supported by SiteGround Optimizer).

Imagify ShortPixel Optimole SiteGround CDN Bunny Optimizer Mirage/Polish
Mobile resizing x SP Adaptive Images x
AVIF support x x x
Serve images from CDN x SP Adaptive Images Cloudfront Google Cloud
No server use x x x x
No bloat x x Offloading x
Price Free 20MB/mo then $9.99/mo Free 100 credits/mo then $3.99/mo Free 5,000 visits/mo then $19.08/mo $14.99/mo $9.5/mo or $.03/GB w/ FlyingCDN Free with

Siteground optimizer media settings

I don’t recommend SiteGround Optimizer for optimizing images, but if you want to use it, here are the settings.

  • Image Compression: Disable –  only enable when using SiteGround Optimizer for image optimization. PSI tests images at an 85% compression level – so that’s what I recommend.

Siteground optimizer image compression settings 1

  • Use WebP Images: On – if you’re using an image CDN like Cloudflare + Polish, it doesn’t always serve images in WebP, so I suggest converting them with SiteGround Optimizer, another plugin, or uploading them in WebP manually. SiteGround Optimizer’s default WebP quality is 80% and can be changed by adding the code to your functions.php file.
add_filter( 'sgo_webp_quality', 'webp_quality' );
function webp_quality( $quality ) {
    // Add the value you want to adjust as Webp image quality.
    $quality = 80;

    return $quality;
  • Lazy Load Media: Off – can’t lazy load backgrounds, replace YouTube iframes with a preview image, and has ongoing compatibility issues. Perfmatters and FlyingPress support both so I recommend using one of those for lazy loading, then disable it here.
  • Exclude CSS Classes From Lazy Load – “preload critical images” in FlyingPress & Perfmatters already excludes above the fold images from lazy load automatically for better LCP. But if you’re using SiteGround Optimizer’s lazy load, you’ll need to exclude above the fold images by CSS classes or media types. It also includes a “skip-lazy” class.

Siteground optimizer skip lazy class

  • Exclude Media Types From Lazy Load – I’m not really sure why things like iframes, videos, and mobile are excluded from lazy load by default. These should be lazy loaded.

Siteground optimizer exclude media types from lazy load 1

  • Maximum Image Width: Off – uploaded images over 2560px will be resized for smaller dimensions. Useful if you have clients who upload huge images and don’t know better. To specify a custom maximum image width, add the code below to your functions.php file.
add_filter( 'sgo_set_max_image_width', 'max_image_width' );
function max_image_width( $max_allowed_width ) {
    // Add the value you want to adjust as max image width.
    $max_allowed_width = 1250;

    return $max_allowed_width;

Lacking Features

  • Lazy load background images: Elementor supports this in the Experiments settings, otherwise use CSS background images in Perfmatters or the lazy-bg helper class in FlyingPress. Optimole can do this by CSS selectors and WP Rocket makes you move background images to inline HTML (first 3 options are easiest).
  • Preload above the fold images: above the fold images should be excluded from lazy load and preloaded. Perfmatters and FlyingPress make it easy by setting a specific number of images that typically load above the fold (usually 2-3). Even if you use another plugin for lazy loading, you can still use both the “preload critical images” + “CSS background images” features in Perfmatters (confirmed w/ Brian).
  • Resize images for mobile: improves mobile LCP/load times and is supported by Cloudflare’s image resizing, Bunny Optimizer, and ShortPixel Adaptive Images.
  • Add missing image dimensions: most speed plugins let you specify image dimensions which can improve your CLS score, but SiteGround Optimizer doesn’t.
  • Replace YouTube iframe w/ preview images: most speed plugins do this too, or use WP YouTube Lyte. FlyingPress is the only plugin I know that can self-host YouTube placeholders which will prevent third-party requests from
  • Replace picture tags for WebP: you can read the support thread on it if you want.


6. Speed Test

Instead of SiteGround’s speed test, use these:

  • KeyCDN’s Performance Test – measures TTFB in 10 global locations instead of only 1 location in PageSpeed Insights. SpeedVitals also tests TTFB in 40 locations [screenshot].
  • WP Hosting Benchmark – measures hosting performance, whether object cache is working, and runs tests related to CPU/memory, filesystem, and database [screenshot].

Siteground optimizer speed test


7. SiteGround Optimizer + Perfmatters

Configure SiteGround Optimizer normally except:

  • Keep all 3 caching layers on.
  • Use 1 plugin to disable emojis.
  • Use 1 plugin to control Heartbeat.
  • Use 1 plugin to clean your database.
  • Use 1 plugin for lazy loading (I recommend Perfmatters).
  • Use 1 plugin to defer JavaScript (you can both delay/defer it).
  • Use 1 plugin to preload fonts and prefetch to external domains.
  • Leave SG’s CSS settings off and use “remove unused CSS” in Perfmatters.

Configure Perfmatters normally while taking advantage of these features:

  • General settings (bloat removal, etc).
  • Asset settings (script manager, delay JavaScript, remove unused CSS).
  • Preloading (instant page, preloading CSS/JS files, preloading critical images).
  • Lazy load: images, iframes, add missing dimensions, CSS background images, etc)
  • Fonts (add font-display: swap and use local Google Fonts).
  • CDN settings should be off unless using something like BunnyCDN.
  • Analytics settings should be off since Google Analytics is usually delayed.


8. SiteGround Optimizer + FlyingPress

Configure SiteGround Optimizer normally except:

  • Disable file-based caching and browser caching.
  • Use 1 plugin to disable emojis.
  • Use 1 plugin to control Heartbeat.
  • Use 1 plugin to clean your database.
  • Use 1 plugin to minify/defer JavaScript.
  • Use 1 plugin for lazy loading (I recommend FlyingPress).
  • Use 1 plugin to preload fonts.
  • Leave SG’s CSS settings off and use FlyingPress’ CSS settings with remove unused CSS.

Configure FlyingPress normally while taking advantage of these features:

  • Remove unused CSS.
  • Lazy render HTML elements.
  • Preload links.
  • Delay JavaScript.
  • Bloat removal.
  • Optimize Google Fonts to host them locally.
  • Image optimizations (lazy load, add missing dimensions, preload critical images).
  • Lazy load iframes and use placeholder images.


9. SiteGround Optimizer + WP Rocket

Configure SiteGround Optimizer normally except:

  • Disable file-based caching and browser caching.
  • Use 1 plugin to disable emojis.
  • Use 1 plugin to control Heartbeat.
  • Use 1 plugin to clean your database.
  • Use 1 plugin to minify/defer JavaScript.
  • Use 1 plugin for lazy loading (I recommend WP Rocket).
  • Use 1 plugin to preload fonts and prefetch to external domains.
  • Leave SG’s CSS settings off and use WP Rocket’s CSS settings with remove unused CSS.

Configure WP Rocket normally while taking advantage of these features:

  • Remove unused CSS.
  • Preload links.
  • Delay JavaScript.
  • Image optimizations (lazy load, add missing dimensions).
  • Lazy load iframes.
  • Leave cache preloading disabled.


10. Cloudflare APO

I recommend Cloudflare’s APO over SiteGround’s CDN.

Regardless of what Hristo says, Cloudflare APO is not the same as SiteGround’s dynamic caching. Cloudflare’s network has 100+ more PoPs than SiteGround’s, so to basically say they’re the same is a lie. They just want you to sign up for their CDN and pay them instead of Cloudflare.

Cloudflare apo siteground optimizer
This is not true (Cloudflare has more PoPs than SiteGround)

Setting Up Cloudflare APO On SiteGround

  • Sign up for Cloudflare through their website.
  • Change nameservers to the ones Cloudflare assigned you.
  • Change your website from DNS only to proxied in Cloudflare’s DNS settings.
  • Enable minification in SiteGround Optimizer, then disable in Cloudflare.
  • Purchase APO in your Cloudflare account.
  • Disable dynamic caching in SiteGround Optimizer.
  • Install the Cloudflare plugin.
  • Create an API token and add it to the plugin.
  • Purge cache in SiteGround Optimizer, then in Cloudflare.
  • Confirm APO is working using

Test cloudflare apo
CF-Cache-Status: HIT, cf-apo-via: tcache, cf-edge-cache: cache, platform=wordpress.

Another reason not to use SiteGround’s CDN is you have to use their DNS to use it. And if you haven’t read about the Google blocking fiasco, SiteGround’s DNS was blocked by Google for 4 days which they blamed on Amazon/Google, but came out with a “fix” just a few days later. All while their client’s Google rankings plummeted or even got completely deindexed from Google.


SiteGround Optimizer Isn’t Stable

SiteGround Optimizer constantly runs into compatibility issues with Elementor, Divi, WooCommerce, and other themes/plugins.

Instead of fixing them, they like to push the blame on the themes/plugins. Which also means there’s little to no documentation about known compatibility issues. They also don’t thoroughly test updates before releasing them, making the plugin extremely unstable. There, I warned you.

Siteground optimizer denial of compatibility issue

Siteground optimizer third party compatibility issue

Siteground optimizer envira gallery compatibility issue

Siteground optimizer woocommerce compatibility issue

Best performance plugin on siteground

Siteground optimizer theme plugin compatibility issue


Leave SiteGround, They’re Awful

I originally left SiteGround for Cloudways Vultr High Frequency and posted my results in the WordPress Hosting Facebook Group. But that Facebook Group (along with several others) is now run by SiteGround’s affiliates, so join WP Speed Matters if you want less biased feedback.

Siteground to cloudways shoutout

Avoid siteground

Since then, I moved to who is even faster. Unlike SiteGround’s shared plans, and Cloudways Vultr HF are cloud hosting with Cloudflare Enterprise (faster than APO alone), NVMe storage (faster than SATA), Redis (faster than Memcached), and MariaDB (faster than MySQL). And unlike Cloudways, has a lot more resources (32 cores + 128GB RAM) with APO and LiteSpeed’s PHP. In fact, is so fast that they average a <100ms global TTFB which you can test in KeyCDN or SpeedVitals. If yours is slow, you need to rethink your hosting/CDN setup since those are 2 main TTFB factors. Another solid tool to test hosting performance is the WP Hosting Benchmark plugin. TTFB is also 40% of your LCP score.

Keycdn global ttfb
Use KeyCDN to measure TTFB in multiple locations (here’s my GTmetrix report and I pass core vitals)

Maybe you haven’t heard of them because they don’t go aggressive marketing, but here’s an email I got, read this Facebook thread, or see other people who moved from SG to

Siteground to rocket. Net

Curious to why SiteGround was slower, I made a table.

SiteGround GrowBig ChemiCloud WordPress Turbo NameHero Turbo Cloud Cloudways Vultr HF (2GB) Starter Plan
Type Shared Shared Shared Cloud Private cloud
Server Apache + Nginx LiteSpeed LiteSpeed Apache + Nginx Apache + Nginx
Cores/RAM Not listed 3 cores/3GB (scalable to 6/6) 3 cores/3GB 1 core/2GB 32 cores/128GB
Storage 20GB SATA 40GB NVMe Unlimited NVMe 64GB NVMe 10GB NVMe
Object cache Memcached Memcached Redis Redis Pro Redis
PHP processor FastCGI LiteSpeed LiteSpeed FPM LiteSpeed
PHP workers CPU limits + suspensions Resource limits Resource limits Unlimited Unlimited
Database MySQL MariaDB MariaDB MariaDB MariaDB
CDN SiteGround CDN ($14.99/mo) ($.02-.08/GB) ($.02-.08/GB) $5/mo Cloudflare Enterprise Free Cloudflare Enterprise
CDN locations 176 80 80 285 285
Full page caching x
Smart routing Anycast Anycast Anycast Argo/Tiered Cache Argo/Tiered Cache
Optimize images Very limited QUIC Mirage/Polish Mirage/Polish Mirage/Polish
Mobile image resizing (for LCP) x x x
DNS Blocked by Google for 4 days Use QUIC’s DNS Use QUIC’s DNS DNS Made Easy (use Cloudflare) Cloudflare
Cache plugin SG Optimizer LiteSpeed Cache LiteSpeed Cache Use FlyingPress Use FlyingPress
Data centers 10 11 US + EU only 44 Served from Cloudflare edge
Bandwidth or monthly visits 100k Unlimited* 50k 2TB 50GB + 250k
Control panel Site Tools cPanel cPanel Complex Easy to learn
Email storage 10GB Unlimited Unlimited x x
Major incidents TTFB, DNS, CPU issues (denies it) None 2011 node outage None None
Support C B B C A
Migrations $30/site 10-200 free 1 free 1 free + $25/site Unlimited free
TrustPilot rating 4.6/5 4.9/5 4.6/5 4.5/5 4.9/5
Monthly price $3.99 (1 year) $6.98 (3 years) $9.98 (3 years) $30 (monthly) $25 (1 year)
Renewals $24.99/mo (1 year) $19.95/mo (1 year) $19.95/mo (1 year) $30/mo $25/mo

If doesn’t work, NameHero Turbo Cloud and ChemiCloud WordPress Turbo are cheaper but use faster LiteSpeed servers with NVMe SSDs + MariaDB. Which means you’ll use LiteSpeed Cache +’s CDN (arguably the fastest setup on a budget). Just make sure you use QUIC’s paid plan which unlike the free plan, uses 80 PoPs + DDoS protection with full page caching. All these options are faster than SiteGround, but they’ll obviously never admit it.

Rocket. Net trustpilot review

Kinsta to rocket. Net migration

Moved to rocket. Net vs siteground

Rocket. Net positive review

Litespeed cache litespeed server

Siteground vs cloudways vultr

Cloudways to siteground admin

Slow ttfb siteground

Litespeed cache litespeed server

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

Wp engine to cloudways switch

Siteground to cloudways dns issue

Siteground to cloudways cpu usage

Namehero vs siteground feedback

Rocket. Net woocommerce elementor

Namehero cloudways rocket. Net
NameHero or Chemi for shared LiteSpeed, Cloudways or RunCloud for cloud, outperforms all

Yep, these are affiliate links. But it would a lot easier for me to tell you how “great” SiteGround is than to steer you somewhere else. I’m trying to be honest and I’m also open to your feedback/questions if you need help: tom(at)

Final Thoughts

SiteGround Optimizer can quickly turn into a mess or yield bad results if you only stick to SiteGround products. Don’t think twice about trying Cloudflare APO and other cache plugins.

They help.


You Might Also Like:


  1. Before I ask my question, I’d like to say that you have some really great and helpful articles here. Thank you for that. Following your advice (and using your affiliate link), I purchased Perfmatters a few months ago and I am very happy with it. I’m using it alongside SG Optimizer in a similar way to how you have described.

    My question is:

    Which CDN would you recommend for this specific setup (Siteground Optimizer + Perfmatters)?

    In your opinion, would BunnyCDN be the best option to set up through Perfmatters?

    Some extra background on my setups, feel free to skip the latter..

    I have a couple of SG GoGeek hosting accounts and about 50 WP sites spread across them. While I believe your reviews of SG to be honest and fair, I must mention that I have found SG to perform just fine for my minimalist & well-built WP installs over the years.

    Admittedly, it’s my more bloated WP installs (that need to stay bloated for one reason or another) that I’ve seen page speed issues with, and thus the need to add Perfmatters.

    As a WordPress OG, I started on NS, then in the early/mid 2000s I moved to the even worse BH Premium (who, along with GD manged WP, I would consider the 3 worst WP hosts of all time..)

    I migrated to SG in mid 2000s maybe 2011ish.. SG was the first host I can remember being happy with and having used them now over a decade I can say I am still happy overall. The only issues I’ve ever encountered with SG were some minor service rollovers that needed to be grandfathered forward when SG did away with using Cpanel several years ago. So, while I have no affiliation to SG, perhaps I am biased for simply having been there so long.

    That said,

    I am regularly able to achieve WP rollouts with under 1-second page load speed on SG and using only their SG optimizer.

    I regularly achieve upper 90s to perfect 100s in Gtmetrix, etc., even on installs using Elementor and other block editors. I would bookend this by saying that adhering to good WP coding practices alleviates the vast majority of page speed issues on SG which is not something that I can say for NS, BH, GD…

    • Hey Jason,

      Thanks for using my aff link and let me answer your question first: I would use Cloudflare’s APO. It’s hard to beat their network of 285 PoPs (over 2x BunnyCDN’s) with full page caching and all the features you get in their dashboard for $5/mo. You could also use both, but if you’re only using 1, go with Cloudflare APO.

      About SiteGround… I respect everyone has a different experience. And, you might have a different one if your domain was one of the 2 million that got deindexed from Google. Or if you were an emerging hosting company that can’t get exposure because of SiteGround’s lockdown in Facebook Groups since they control many of the biggest groups which they use to spread fakes reviews and remove posts mentioning other hosts. Or if they abruptly discontinued their affiliate program in your country, so now all that time you spent creating SG-related content was for nothing (not speaking for myself, but people in India and other countries).

      Sure, their performance is better than Bluehost/GoDaddy which I agree, are 2 of the worst hosts. But it’s not just about performance. It’s more about how they lie, ban, and legally threaten people who stand in their way of getting signups. SG is not a “customer first” company like they used to be and I would 100% rather support an emerging host who has just as good performance (if not better) with LiteSpeed + NVMe SSDs who does put the customer first.

      Anyway, sorry if I went on another rant! Lmk if you have any questions about the CDN/optimization plugin setup.

  2. Hi Tom, Thanks for your guides, finally articles that provide well-thought-out instructions with explanations that I can actually learn from.

    If you don’t mind I have a question.

    I am running on Siteground (I know I will look to move when I’m due for renewal) with an Avada theme and recently installed Flying-press(a recommendation from another of your articles). I wanted to know, what would be the best set-up? I have disabled all Avada performance and set up SG Optimizer alongside Flying-press as prescribed in this guide.

    But I have found another of your guides (“The Newest FlyingPress Settings With Bloat Removal Makes Perfmatters More Obsolete (Except For The Script Manager”) which shows ignoring SG completely and using Flying-press as a stand-alone.

    Which is the best method to gain the best score via PageSpeed Insights?

    my domain is in my email but do not mind you naming it in your reply.

    All The Best!

    • Hey Mark,

      Thanks! I don’t recall saying to ignore SG Optimizer completely. Either way, I would use the setup listed in this tutorial in step #8. But yes, use the full FlyingPress tutorial to configure it – the main thing is to avoid duplicate features and to take advantage of the optimizations in FlyingPress which SG Optimizer doesn’t do, like removing unused CSS and delaying JavaScript are 2 big ones. Then to take advantage of dynamic caching/Memcached in SG Optimizer…

      I’m not familiar enough with Avada’s built-in performance settings to give an opinion on that. But since your site is WooCommerce, next host you choose, try to make sure they use Redis or Redis Object Cache Pro which are specifically good for WooCommerce (as opposed to SG’s Memcached).

  3. Hi, Tom

    Thanks for this well-written article.

    I currently have some Core Web Vital issues on my website. I have a total of 122 article written, about 90 are doing well on SERPs. Initially I was using Nitropack as my caching plugin and I had good results with it. Their CDN cap for the free version was limiting and I began having reduced traffic and GSC was showing 45 good urls hence I opted for WP rocket.

    I optimized my Core Web Vitals using WP rocket and my performance result was green with LCP of 2.6s. But since I activated WP rocket, my traffic has not bounced back and the 45 good urls before are under the Need Improvement tab.

    I’m stuck for 2 months now and I don’t know what else to do. Please, what could be the problem?

    • Could you send me your website or a URL of your speed report?

      Core web vitals is only 1 part of traffic and there’s been quite a few Google algo updates recently, so I wouldn’t directly correlate web vitals with traffic. Just 1 piece of it. Still want to fix that LCP though…

      • Did you exclude above the fold images from from lazy load and preload them? And preload fonts?
      • I mentioned how TTFB is 40% of LCP with your host/CDN being 2 key factors. Did you test your site in SpeedVitals TTFB test, or run a test in the WP Hosting Benchmarks plugin?
      • I would also check the performance report of Chrome Dev Tools to see which files are loading in your LCP time (see screenshot) which helps narrow down which files, plugins, etc are causing issues.

      Between these 3 things, I’m sure we can find the problem.

    • Yes, saw their blog post on it. Looks a lot more promising than version 1 since it uses anycast with a lot more PoPs, load balancing, etc. Maybe I can finally leave a good review for one of their products. I’ll be testing it soon and updating this tutorial.

      • Oops! Correction:

        By comparison, SG charges USD 15.00 per month for their Premium plan and it does not offer many of the features you get with Cloudflare Free APO.


      • That would be great!

        SiteGround constantly claims their products are the best, but never publishes supporting data. In the case of SG CDN 2.0, we’d love to see some hardcore performance data (including comparisons with other CDN providers such as Cloudflare APO, Cloudways, KeyCDN, etc.).

        Currently, we use Cloudflare APO and love it. You can’t beat Cloudflare’s free plan and only paying USD 5.00 per month for their APO service. Performance is spectacular. By comparison, SG charges USD 15.00 per month for their Premium plan and it does not offer many of the features you get with Cloudflare Free APO. They have a long way to go.

        Oh, and by the way, SG CDN 2.0 is currently under a rollout phase. They refuse to publish their schedule for completing the rollout phase. It could take them up to a year to complete it.

        Check out this comment:

        Thank you for your help and your well-written, helpful articles. Cheers!Oops! Correction:


        PS: This comment supersedes previous one. Please replace it with this one, if possible.

        • It’s tricky because tests like that can require a good amount of time and since things change so quickly, it’s easier to look at “specs” like PoPs, features, etc. But I’m planning on doing that eventually on “recommended setups” for hosts, like SiteGround SG Optimizer SiteGround CDN, Cloudways FlyingPress (or WP Rocket) CF Enterprise, etc.

          I still don’t see the benefit of SiteGround CDN over APO except for the load balancing. That comment is interesting and not surprising… when Site Tools came out, it took them over a year to convert my account. They’re just replacing well-established services with their own and charging customers for it. That’s really all it is.

          I laughed when you said they never publish any supporting data. Yep they’ll say “40% faster TTFB” or whatever… but that’s not saying much considering CDN v1 had a network of 20x less PoPs than Cloudflare. Compare it to Cloudflare APO and lets see those results (I’ll try to get to it soon).

  4. I found this really helpful. I’m in the process of setting up my SiteGround site. I still have to set up the Cloudflare component and will return to this page when I do. I noticed that my page gets an A on GTmetrix but that Google PageSpeed gives me very different results. Do you know why that is? Thank you.

    • Hi Cathy,

      That’s common with GTmetrix and PageSpeed Insights (you should use PSI or the Lighthouse report in Chrome Dev Tools). Read here.

      I completely rewrote this tutorial and it will be updated in a month or so when I relaunch my new blog. Basically pointing out the (many) lacking features in SiteGround Optimizer along with workarounds. Many people use SG Optimizer strictly for caching then use another cache plugin like FlyingPress or WP Rocket to address core web vitals… which is what I also recommend. See this table.

  5. Hi,
    I love your work and appreciate you writing all of this, it is a massive help to me.

    I have SG Optimiser and WP Rocket. I have tested both just now after following your instructions on this page and I get pretty different results. WPR is giving me 98 on desktop and 85 on mobile and SGO is giving me 92 on desktop and 62 on mobile. So I wonder if I am missing something as you are saying I should be getting similar results. I’d love to get rid of WPR if they were similar! Does this sound like user error or has WPR improved something recently?

    • They constantly update both plugins and it’s hard to keep track of how each update impacts speed/scores. Could be how they’re setup, for example, WP Rocket adds browser resources hints and delays JavaScript automatically. I believe in SiteGround Optimizer, you would have to do most of these manually.

      Did you setup Nginx direct delivery, dynamic cache, and memcached in SiteGround? Because right now it looks like server response time is the biggest issue.

    • Unfortunately no. SiteGround Optimizer is only for websites on SiteGround. LiteSpeed Cache is only for websites on a LiteSpeed server (NameHero, A2 Hosting, etc).


Leave a Comment