fbpx Support Center - Swift Performance

Caching issues

If Swift Performance can't cache the pages, usually there is a PHP error, or a cache/plugin conflict which breaks the caching process. Please use the test below to see what can cause the issue.

Test your site

First Steps

First please check, is there any exception added to Caching > Exceptions. If you can find any exceptions here, first please try to remove them. If it won't solve the issue, please run the test below.

See more about exceptions

Test problematic page

Prebuild issues

If prebuild starts, but won't cache the pages, may there is an other cache layer, or an error which prevents Swift Performance to prebuild the page. Please test your site below. See more about Prebuild issues

If prebuild can cache pages, but sometimes it stops, please be sure that WP Cron is not disabled. It is recommended to enable default WP Cron, and use Limit Cron feature instead disabling it. See more about WP Cron

Is prebuild working, but it is too slow? See how can you set prebuild speed

Test your site

Speed has not improved

If the speed has not improved, your site may isn't cached, or there is another cache layer which cached the old version and still serve it for the visitors.

Please also be sure, that your old cache plugin has been removed properly, and the wp-content/cache folder contains only Swift Performance cache.

Test your site

You can test your site to check is Swift Performance cache working properly.

Speed is even worse

If the speed has not improved, or even worse than before, your site probably isn't cached.

Test your site

You can test your site to check is Swift Performance cache working properly.

Check Swift Configuration

Run test below to see how can you further improve the speed.

Test your site

Prebuild is slow

If prebuild never finishes, please be sure that default WP Cron is enabled. It is recommended to leave default WP Cron enabled, and use Limit Cron feature instead disabling it. See more about WP Cron

Is prebuild working, but it is too slow? See how can you set prebuild speed

Animated elements are missing

If animated elements won't load, usually a javascript error cause the issue. If you are using Elementor, then please be sure that you excluded webpack.runtime.min.js and webpack-pro.runtime.min.js from merging. See how can you exclude Elementor webpack scripts

To fix the issue, you need to find, and fix javascript errors. See how can you find and fix javascript issues.

Animations or hamburger menu is not working

If animations or hamburger menu is not working, usually a javascript error cause the issue. If you are using Elementor, then please be sure that you excluded webpack.runtime.min.js and webpack-pro.runtime.min.js from merging. See how can you exclude Elementor webpack scripts

If you are not using Elementor, or excluding webpack scripts didn't solve the issue, you need to find, and fix javascript errors. See how can you find and fix javascript issues.

CSS is missing

If your site loads without CSS, usually there is an improper rule in some of your CSS files (eg an unclosed media query), which breaks the merged CSS file.
As a quick fix you can disable Merge CSS, however the proper way if you find the problematic CSS file and fix it.

How to find which file causes the issue?

The easiest way, if you start excluding CSS one by one, then clear the cache, and generate the cache again. When the page loads fine, you found which CSS caused the issue.

Some elements are unstyled or broken

If your site loads without CSS or there are some styles, but the layout is broken, usually there is an improper rule in some of your CSS files (eg an unclosed media query), which breaks the merged CSS file.

In some cases, broken/unstyled elements can caused by a javascript issue. See how to fix javascript issues.


As a quick fix you can disable Merge CSS, however the proper way if you find the problematic CSS file and fix it.

How to find which file causes the issue?

The easiest way, if you start excluding CSS one by one, then clear the cache, and generate the cache again. When the page loads fine, you found which CSS caused the issue.

FOUC issue

If page is broken for a moment (CSS is missing), then it gets styled it is a FOUC issue. Usually the problem is, that there a rule in one of the CSS files which breaks the Critical CSS. In these cases it is recommended to switch Critical CSS mode to Viewport based and clear all cache.

See more about Critical CSS
How to use Critical CSS to speed up Wordpress

FOUC issue

Missing images

If images are missing when you load the cached page, it can caused by two issues: double lazyloading, or javascript issue.

May an other plugin, or your theme is using lazyload as well. Please try to disable Lazyload Images in Swift Performance Settings > Media > Images.

Swift Performance is using javascript to lazyload images. If there is a javascript error, it may can break other scripts as well, so may it will prevent Swift Performance to load images.

Find and fix javascript issues.

Blurred images

If you enable Lazyload Images, you can choose 3 different placeholders: transparent, blurred or low quality. First these placeholders will be loaded, and Swift performance will load the full images only if they are in the viewport.

If you can see blurry images for a sec, then images will be loaded fine, it is the excepted behavior.

In ideal cases the visitor can't see the placeholders, because Swift Performance will start load images before they arrive in viewport, however if the connection is slow, placeholders will be visible for a few seconds.

Images remain blurred

Swift Performance is using javascript to lazyload images. If there is a javascript error, it may can break other scripts as well, so may it will prevent Swift Performance to load full images.
Find and fix javascript issues.

Some elements are missing

Many themes and plugins are using javascript to render some elements. If there is a javascript error, it may can break the layout, in that case some elements will be missing or broken.

Find and fix javascript issues

As a quick fix you can disable Merge Scripts in Optimization > Scripts settings. However as a proper fix you need to find what cause the issue.

Because Javascript errors will occur in the browser, you can’t find any logs on the server about JS issues. To find JS issues you need to load the page (recommended to use incognito window), and check the browser console. Here you can find a short tutorial to find errors in console: https://wordpress.org/support/article/using-your-browser-to-diagnose-javascript-errors/#step-3-diagnosis

  1. Open the uncached version of your site
  2. Check that is there any javascript error in the browser console. If yes, then it is probably not related to Swift Performance, you need to fix the error in order to be able to use script optimization features
  3. If there is no error, then cache the page, open it in an incognito window and check JS errors in console. If there is an error, then try to exclude the problematic script from merging.
  4. If exluding script didn't solve the issue, please be sure that all script dependencies (eg jQuery) were excluded as well
  5. If merging scripts is still causing JS error, then you may need to disable Merge Scripts feature


Find and fix javascript issues

As a quick fix you can disable Merge Scripts in Optimization > Scripts settings. However as a proper fix you need to find what cause the issue.

Because Javascript errors will occur in the browser, you can’t find any logs on the server about JS issues. To find JS issues you need to load the page (recommended to use incognito window), and check the browser console. Here you can find a short tutorial to find errors in console: https://wordpress.org/support/article/using-your-browser-to-diagnose-javascript-errors/#step-3-diagnosis

  1. Open the uncached version of your site
  2. Check that is there any javascript error in the browser console. If yes, then it is probably not related to Swift Performance, you need to fix the error in order to be able to use script optimization features
  3. If there is no error, then cache the page, open it in an incognito window and check JS errors in console. If there is an error, then try to exclude the problematic script from merging.
  4. If exluding script didn't solve the issue, please be sure that all script dependencies (eg jQuery) were excluded as well
  5. If merging scripts is still causing JS error, then you may need to disable Merge Scripts feature


Image Optimizer didn't find all images

When you activate Swift Performance, in the background it will start to find all images. However in some cases this process may times out.

To find all images, go to Image Optimizer, and click to Scan images button. See more about Image Optimizer.

image optimizer scan-images

Images are queued bot optimization won't start

If images are queued, but the optimization won't start there will be 2 problem: PHP error or API error. First please check the PHP error logs, may there is an error (probably memory or timeout issue), which breaks the optimization process

If there is no PHP error in the logs, then probably there is an API error. Please go to Settings > General and enable Logging. Set the loglevel to Warning, restart the Image Optimizer process and check the logs.

See more about debugging
See more about API connection issues

WebP is not working

If you enabled WebP images in settings but still can’t see WebP version of the images in the source, please go to Image Optimizer and check that WebP has been generated for all images. If not, please enable Generate WebP in Swift Performance Settings > Images, then go back to Image Optimizer and click to Optimize Images (All) in Image Optimizer.

If you set Serve WebP to <picture> mode, then you need to clear all cache after the WebP version has been generated for all images.

If you set Serve WebP to Rewrites then images will be served from the same URL (so you won’t see any change in the source), but the server will serve WebP version if the browser is compatible with WebP.

image optimizer scan-images

Forms are not working

If you are using a complex form, and some of the features are not working (eg conditional fields), then probably there is a javascript issue on the page. Find and fix javascript issues.

Forms stops working after a few hours

Many form builder plugins are using nonces. Nonces are CRSF tokens in WordPress, and will be valid for 12-24 hours. See more about nonces

If you cache the page, it will cache the generated nonce as well. However if the cache is older than 12 hours, it may won't work. There are multiple solution for this issue.

Time based cache expiry

You can set the Cache Expiry Mode to Time based, and the Cache expiry time to 12 hours. In that case Swift Performance will clear the cache in every 12 hours, so the cached page will always contain a valid nonce.

Short lifespan pages

If you have only a few pages which contains the form, then you can leave the Cache Expiry Mode on Action based, however you can add form pages to Short Lifespan Pages. In that case most of your pages, will be use action based cache expiry, but pages which were added to Short Lifespan Pages will be cleared in every 12 hour.

Extend Nonces

If you would like to use longer cache expiry time, you can also extend nonce expiry to the same period.

Bypass Nonces

If all your pages contains the form (eg in the footer), and you have thousands of pages, and don't want to regenerate the cache too often, you can also bypass nonce validation for not logged in users. Using nonces for not logged in users has no benefit, so it won't cause any issues. For logged in users, WordPress will still verify nonces.

Button, or other dynamic element is not working

Buttons, popups, and other dynamic elements are usually using javascript. If there is a button, or popup which is not working when the page is cached, probably there is a javascript error on the page.

To fix the issue, you need to find, and fix javascript errors. See how can you find and fix javascript issues.

Missing images

If images are missing when you load the cached page, it can caused by two issues: double lazyloading, or javascript issue.

May an other plugin, or your theme is using lazyload as well. Please try to disable Lazyload Images in Swift Performance Settings > Media > Images.

Swift Performance is using javascript to lazyload images. If there is a javascript error, it may can break other scripts as well, so may it will prevent Swift Performance to load images.

Blurred images

If you enable Lazyload Images, you can choose 3 different placeholders: transparent, blurred or low quality. First these placeholders will be loaded, and Swift performance will load the full images only if they are in the viewport.

If you can see blurry images for a sec, then images will be loaded fine, it is the excepted behavior.

In ideal cases the visitor can't see the placeholders, because Swift Performance will start load images before they arrive in viewport, however if the connection is slow, placeholders will be visible for a few seconds.

Images remain blurred

Swift Performance is using javascript to lazyload images. If there is a javascript error, it may can break other scripts as well, so may it will prevent Swift Performance to load full images.
Find and fix javascript issues.

Images are not lazyloaded

If you enabled lazyloading, but some images are still not lazyloaded, please be sure, that you cleared the cache after enabled lazyloading. Background images can be lazyloaded as well, but you need to enable Lazyload Background Images separately.

License show expired

If your license show expired, first please login to My Account and check your license status. If your license is active, but you get License expired on the plugin dashboard, it means there is an API connection issue.

Please click to Debug API Connection on the plugin dashboard, copy the error message and open a ticket. Please don't forget to include the error message in the ticket.

License has expired

Can't activate license

If you can't activate license, first please login to My Account and check your license status. If your license is active, but you still get an error on activation, it means there is an API connection issue.

Please click to Debug API Connection on the plugin dashboard, copy the error message and open a ticket. Please don't forget to include the error message in the ticket.

License has expired

API connection issue

If there is an API connection issue, please go to Swift Performance dashboard, click to Debug API Connection on the plugin dashboard, copy the error message and open a ticket. Please don't forget to include the error message in the ticket.

License has expired

Requesting refund

We provide 14 days money back guarantee from the initial purchase. Within 14 days, you can cancel your subscription and request a full refund. To requesting refund, please open a open a ticket.

Please note, regarding the Terms & Conditions after 14 days, we don't provide refund. It means renewals are not refundable.

Upgrade Subscription

If you would like to use Swift Performance on more sites, you can upgrade your subscription in My Account.

Upgrade subscription

Cancel Subscription

To cancel your subscription you can login to My Account, select the subscription, and click to cancel subsctiption at the right bottom corner. You can also open a ticket to cancel your subscription, however in that case please include the subsctiption ID in the ticket.

Cancel subscription

Checkout Issues

If you can't finish the checkout, usually the bank won't authorize the payment. In this case please try to process it with a different payment method.