Skip to content

Why is my site so slow?

📝 Note: Take a look at any of our theme demos – for Neve or Hestia – you’ll see that they perform rather well, even despite being emulated on the fly.

If you bought a theme from us and once it is installed and configured, you realize that it is very slow, here are the most common issues:

5. You are using big images - Use Optimole for image optimization (it's free).

Make sure your images aren't bigger than 500KB - 1MB ( for the bigger ones ).

📝 Note: Nowadays you can find images at really high resolutions and with a size of up to 10-20MB, however uploading an image like this to your site will make the loading animation that we have on some of our themes load forever.

On most sites, images account for the majority of  bandwidth consumption.

Example:

The small image you see here is 35KB.

However, the whole text content of the message you’re reading now – the whole thing, from top to bottom – is only around 7KB.

How does the Optimole work?

It  improves your website’s performance by reducing the image size drastically and serving through CDN, covering up to 110 server locations worldwide. It maintains the image quality even after optimizing it.

📝 Note: Talking monetarily, it is "freemium". The free plan, it serves up to 1****000 visits /month.

📝 Note: You can even test your images here.

Quick steps to optimize images in WordPress:

  • Download and Install the Optimole WordPress plugin.
  • Sign up for Free at https://optimole.com/ and copy the API key from the Dashboard.
  • Paste it in Optimole Panel in the WP Dashboard and click "Connect to Optimole Service". It will get connected and start optimizing the images automatically.

📝 Note: See Optimole's full guide here.

4. You have a lot of plugins - Check Health Check (is free )

📝 Note: Most of the plugins add CSS/JS on their own, so on top of the theme, you might have a lot of code that slows down your site.

You have to analyze the problem from 2 perspectives:

  • back-end - check Health Check to analyze the plugin's back-end performance.
  • front-end - look with View-Source and see what scripts the plugins are adding.

📝 Note: It might not work for you. What to do then?

Quick steps to find the slow plugins manually:

  • Take a backup using  Updraftplus WordPress Backup Plugin.
  • Deactivate all plugins.
  • Activate the plugins one by one and check how the different pages are performing on each activation.

3. Hook up your site to a CDN

CDN (Content Delivery Network) – a network of servers that deliver your website to the visitor from the nearest geographic location possible.

📝 Note: The data has less distance to travel; therefore it can get to your visitor quicker.

CDN services accelerate delivery of static files such as CSS, JS, and images. Popular options include Cloudflare, BunnyCDN, and others.

⚠️ Important: Running multiple CDN or image-optimization services at the same time (for example, Cloudflare image optimization together with Optimole) can cause image-loading conflicts. Enable one optimization layer at a time and test before adding another.

2. Go for a good caching tool like WP Cloudflare Super Page Cache

WP Cloudflare Super Page Cache delivers really impressive performance improvements while it helps you boost your website. It improves the process by caching not only the static files (e.g. CSS, JS, images ) but also the HTML webpages generated by WordPress.

Features:

  • 🎈 Developed to work flawlessly with any Cloudflare Plan (Cloudflare Free, Pro, Business, or Enterprise account ).
  • 💌 Cache Buster Support to ensure logged-in users don’t see cached content.
  • 📝 Ability to overwrite our default Worker code to add your custom logic.

1. Use a good web host

A good web host can mean the difference between successful and failed websites.

The  best overall hosting plan, according to this study, comes from SiteGround. They deliver the best average loading times and minimum and maximum response times (as analyzed with LoadImpact and Pingdom).

📝 Note: You can start with the cheapest, $3.95 / mo. But going one step up is a better idea – $7.95 / mo. It gives you 20GB of disk space, the ability to run multiple websites, and it can handle up to 25,000 visitors monthly.

PageSpeed says my HTML transfer size is too large

If a speed-testing tool like PageSpeed Insights or GTmetrix reports that your HTML transfer size is very large (for example, 1 MB or more), this is rarely caused by the Neve theme itself. Neve's default output is lightweight and focused on performance.

Common causes of a large HTML transfer size include:

  • Page builder markup – Page builders such as Elementor or Divi generate a large amount of HTML, CSS, and inline styles, especially when many widgets or sections are used on a single page.
  • Plugin output – Plugins that inject scripts, styles, or inline HTML on every page load can add significant size.
  • Missing or disabled server compression – If your server is not compressing responses (GZIP or Brotli), even a moderate amount of HTML will appear large in transfer-size reports.
  • Caching or minification misconfiguration – Incorrect settings in a caching plugin can cause the server to send uncompressed or unminified HTML.

Diagnose the source of HTML bloat

  1. Open your page in a browser, then right-click and choose View Page Source. Scroll through the source and look for large blocks of inline styles, scripts, or repeated markup that might indicate which plugin or page builder is responsible.
  2. Open Chrome DevTools (press F12), then go to the Network tab.
  3. Reload the page and click on the document request (usually the first .html entry). Check the Size column and review the Response tab to see the raw HTML being delivered.
  4. Sort the Network tab by Size to identify other large assets (scripts, stylesheets).
  5. Temporarily deactivate your page builder add-ons or plugins one by one. After each deactivation, re-run your speed test to identify which plugin is adding the most HTML weight.

💡 Tip: Use a staging environment or take a full backup with UpdraftPlus before deactivating plugins, so you can restore your site if anything breaks.

Run a safe plugin and optimization conflict test

When your site is slow or generates a large number of warnings in speed tests, multiple optimization layers running at the same time can make diagnostics harder. Follow these steps to isolate the cause:

  1. Back up your site using UpdraftPlus or your host's backup tool, or work on a staging copy.
  2. Disable all caching, minification, and CDN plugins temporarily (for example, WP Rocket, W3 Total Cache, LiteSpeed Cache, or WP Cloudflare Super Page Cache).
  3. Clear all server-side and CDN caches — including your hosting cache and Cloudflare's cache (if used).
  4. Run a speed test on the bare site to get a baseline. If HTML size drops significantly, the issue is in one of the optimization layers you disabled.
  5. Re-enable plugins one at a time, running a speed test after each activation. This identifies which plugin or combination of settings is causing the problem.

📝 Note: If the HTML transfer size is still large after disabling all optimization plugins, the source is likely your page builder or the volume of content on the page.

Using Optimole with Cloudflare

Optimole handles image compression, resizing, lazy loading, and CDN delivery. Cloudflare also offers image optimization, minification, and CDN features. Running both at the same time on the same images can cause images to appear blurred, fail to load, or be served incorrectly.

Steps to resolve image-loading conflicts

  1. Test Optimole in isolation first. Temporarily disable any Cloudflare image optimization or minification features (such as Polish, Mirage, or Rocket Loader) in your Cloudflare dashboard, and test whether images load correctly through Optimole alone.
  2. Clear all caches. Clear your Cloudflare cache, your Optimole cache, any server-side caching plugin cache, and your browser cache. Stale cached versions of images can persist even after settings changes.
  3. Check Cloudflare's image settings. In your Cloudflare dashboard, under Speed > Optimization, disable Polish (image compression) and Mirage (lazy load) if you are relying on Optimole to handle these.
  4. Verify Optimole is serving images. View your page source or check the image URLs — Optimole-served images use the i.optimole.com CDN domain. If images are still being served from your original domain, Optimole may not be active.
  5. Re-enable Cloudflare features one at a time, testing image loading after each change.

⚠️ Important: Do not enable both Cloudflare image optimization (Polish/Mirage) and Optimole's image optimization at the same time. Choose one service to handle images and disable the equivalent feature in the other.

Check compression with your host

Server-side compression (GZIP or Brotli) reduces the transfer size of HTML, CSS, and JavaScript before they leave your server. If compression is not enabled, your HTML will appear much larger in speed-test reports, even if the actual content is normal.

You can check whether compression is active by running your URL through GTmetrix or WebPageTest. Both tools report whether responses are compressed.

If compression is not enabled, this is a server-level setting that is outside the control of WordPress themes and plugins. Contact your hosting provider and ask them to enable GZIP or Brotli compression for your site.

📝 Note: Some managed WordPress hosts enable compression by default. If yours does not, most control panels (cPanel, Plesk) include an option to enable it, or your host's support team can activate it for you.