This guide explains in details how to configure Swift performance so you speed up your website in a quick time. You will learn how to decrease your WordPress full loading time so it loads in the shortest time possible.
I can’t stand a slow loading site. This made me in search of ways to find strategies to load my sites in a quick time.
While there are many WordPress speed plugins and here is my classification of them.
W3 Total Cache, Super Cache and the likes – Fast
WP Rocket – Faster
Swift Performance – Fastest
But here is the problem…
Unlike WP Rocket, beginners find it difficult to set up swift performance. And that is the real motivation for this guide.
I advise you to read to the end. If you do, you will learn my best Swift Performance settings that have helped load my sites in less than 2 seconds.
If you have a low budget, you can download the free version here.
But I recommend you buy the pro version. It’s worth it.
So, I advise you backup your site before usage. Have you?
If Yes, Let’s begin
What is Swift Performance?
Swift Performance is a speed and cache plugin. It has become a top choice among many WordPress users.
Swift comes with powerful features like database and image optimization, plugin organizers, critical fonts and more. It houses all you need to meet the Google speed requirement.
Why Choose Swift Performance?
- Below are few reasons while I chose Swift performance:
- Its Setup Wizard. This will help to an extent, even if you never use this guide.
- It’s fast and compatible with almost any WordPress theme.
- Swift has a fast and intelligent caching solution
- It has regular updates because of its large team of experts.
- A 14–Day guarantee money return.
The Best Swift Performance Pro Settings
Run the Setup Wizard. It will configure Swift Performance basic settings and speed up your WordPress site.
Go to settings tab and click on the (Advanced View) button for more pro options.
Throughout this guide,
- Yes means to make button colored (e.g. Green/Blue)
- No means to leave button white.
- Leave Default means you should leave the option as it is.
- Depends means the option could either be a Yes or No, depending on the conditions given.
1.1 General > General
- Disable Cookies – NO
Since Swift performance will need cookies in my Google Analytics Bypass settings, I left this as NO. It makes no difference to site speed.
- Hide Footprints [Pro] – Yes
This is to hide Swift Performance response header and HTML comment. By default, CloudFlare will remove HTML Comment.
- Use Compute API [Pro] – Yes
This can speed up your processes like generating Critical CSS, or minification, and reducing CPU usage. Best if you are on shared hosting.
- Prebuild Booster – Yes
Prebuilding is a way of building resources ahead of time. This will speed up prebuild processes. Best in shared hosting.
- Disable Admin Notices – Yes
I don’t reminder to clear your cache since I will set it as automatic in later details.
- Clear Cache Role – DEPENDS
This allows you to specify users with the ability to clear cache. Useful if you have a team working on site. Else, leave it as administrator.
- Beta Tester – No
Allow this only if you want to get updates in beta stage. Not needed.
- Debug Log – No
Only enable this if you have issues with caching, or image optimization. You will see errors in your log path.
1.2 General > Tweaks
- Normalize Static Resources – Yes
This removes unwanted query string (typically contains “?” and “%” characters) from JS and CSS. It gives you higher speed score on GTMetrix.
- Prefetch DNS – Yes
This option automatically prefetch third party links on your website with your manual inputs of this link. It speeds up external links, decreasing your full loaded time.
- Collect Domains from Scripts – Yes
- Exclude DNS Prefetch – Leave Default
Add domains you don’t want to prefetch. I recommend you leave it empty.
- Gravatar Cache – Yes
The default avatars (Author pictures) for WordPress is Gravatar. This sometimes causes slow request.
- Gravatar Cache Expiry – 1 Hour
An author avatar will reflect if changes after 1 hour. This will only work if you enable Gravatar’s cache.
- Custom Htaccess – Leave Default
This is used to add rules to your htaccess before Swift rules. It is also a good way to place 301 redirect (forces HTTP to HTTPS).
- Background Requests [PRO]– Leave Default
This is to make Ajax’s request run in the background. A good example is the post view example.
1.3 General > Heartbeat
- Disable Heartbeat – Disable all except post/pages
WordPress heartbeat tracks your session and auto saves your post when writing /editing. It is used to show real-time notifications.
As good as it is, it can cause high resource usage.
- Heartbeat Frequency – Leave Default.
If issues occur, I recommend you get better hosting.
1.4 General >Cronjobs
- Limit WP Cron – Depends
For every page that loads, WordPress call WP Cron. 100 may be fine for your sites. But if you are having a 1000+ visitors per day, 50 should be okay.
- Enable Remote Cron – NO
If WP Cron is not working on the server level, then this will do you good. You will be able to cronjobs in specified periods.
1.5 General > Google Analytics
- Bypass Google Analytics – Yes
This allows Swift Performance to block Bypass analytics and use Ajax request. It can fix leverage browser issues in GTMetrix.
- Tracking ID – UA-123456789-XX
Get your tracking ID from Google Analytics.
- IP Source – Leave Default
Most cases Swift Performance will detect the proper IP source automatically.
- Anonymize IP – No
Enable this if you want to remove your visitors’ data from their IP address before it goes to Google Analytics.
- Delay Collect – Yes
This will speed up your initial loading time. But the issue is that your bounce rate metrics will not be correct.
- Exclude Users from Statistics [PRO] – Click (Yes) all except Subscribers
This is good if you want to see the real stats of your sites because logged-in users.
1.6 General > White label
Activate White Label [PRO] – Depends
Only needed if you want hide your speed up secrets. You will rename the entire plugin info.
2.1 Media > Images
- Optimize Images on Upload [PRO] – Yes
Enable if you would like to optimize your images during upload. This will use the Swift Performance’s Image Optimization API service.
- Image Source [PRO] – Leave Default
This specify what image source you want to optimize.
- Image Optimizer [PRO] – Lossless
I like to keep it 100% for both JPG and PNG since I also optimize with TinyPNG.
- Resize Large Images [PRO] – Yes
This helps to resize oversized images. You should always resize your images before uploading, except for special purposes.
- Maximum Image Width [PRO] – 1280
This is to specify the largest image width you want. I use 1280.
- Keep Original Images [PRO] – Yes
At your first optimization, leave this enabled. The purpose is to restore old image should in case you don’t like the new image quality. When you found the right image quality, you can turn off.
- GenerateWebP [PRO] – Yes
This will generate a WebP (smaller) version of all your images. Good for fast loading.
- Serve WebP – Use Picture Elements
If you don’t use CDN (Cloudflare and more), select Rewrites. Else use Picture Elements.
- Serve WebP Background Images – Yes
This option serves background WebP images if it exists.
- Inline Small Images – Yes
If you enable this option, small images will inline. It can reduce the number of HTTP requests on your site.
- File Size Limit (bytes) – Leave Default
Here you can set the maximum inline image size.
- Exclude Images – Leave Empty
This allows you to include those images you don’t want to inline.
- Lazyload Images – NO
I don’t like to lazyload my images because it sometimes conflicts with themes. Also, it’s not the best for users’ experience. So, I don’t use it. Test and see for yourself.
- Force Responsive Images – No
I don’t need this since my theme is already responsive on mobiles, tablets and desktop devices.
- Lazyload Background Images – No
Your background images will be blocked if you enable this. You don’t need this.
2.2 Media > Embeds
- YouTube Smart Embed – Yes
It’s creates a thumbnail (more like screenshot) of your YouTube embedded videos. Great, if you have YouTube videos on sites.
- Exclude YouTube Videos – Leave Default
You should only use this if you have a video on auto play.
- Preload Sensitivity – Leave Default
This is to specify how many pixels before the view port you want to load on mobile devices
- Lazy Load Iframes – Yes
This option will load Iframes before they arrive in the viewport.
- Exclude Iframes by URL and CSS class name – Leave Default
You can use this to exclude important frames (Google Maps, Facebook boxes) at the top of your site from lazy loading.
- Respect Lazyload Standards – Yes
This will exclude iframes which has skip-lazy class or data-skip-lazy attribute
- Load Iframes on User Interaction – Yes
Good if you would like to load iframes only on user interaction. Such as when a user moves his/her mouse.
Apart from my Swift settings here, test every option here to know what works best. Site most times differs because of the theme and plugins used.
3. 1 Optimization > General
- Merge Assets for Logged in Users – No
This sometimes breaks your sites’ styles while trying to combine and delay CSS/JS. Good for a community site. Unnecessary if you are the only admin.
- Enable Server Push – Depends
Server Push allows web browsers to send resources to a user’s web browser before it even asked for it. If your host uses HTTP/2, you don’t need this feature.
- Optimize Prebuild Only – Yes
I recommend you to use this option to prevent very long page loads for first-time visitors.
- Optimize in Background – Depends
If you enable this option, the plugin will optimize the page in the background. It is most times not needed.
- Fix Invalid HTML – No
I use themes and plugins with clean HTMl code. So, I don’t need this.
- Minify HTML – Yes
This removes unnecessary white spaces from HTML. You won’t need this most time if you use CloudFlare.
- Disable Emoji – Yes
WordPress loads emoji by defaults even when you don’t use them. Activating this will decrease your page size and number of request.
- Limit Simultaneous Threads – Yes
This is useful in a shared hosting to avoid 508 errors.
- Maximum Threads – Leave Default
This feature allows you to set the maximum number of threads that can run at the same time.
- DOM Parser Max Buffer – Leave Default
This option will skip pages larger than usual (default value).
3.2 Optimization > Scripts
- Merge Scripts – Yes
This speeds up your page loading and saves you some server resources as it merges scripts. If you notice any conflicts with your page builders, come over to disable.
- Async Execute – No.
If enabled, Swift Performance will split merged scripts and load individually. This can speed up your loading time. Again, be careful if you use page builder.
- Exclude 3rd Party Scripts – Leave Default
This is useful if you have issues after merging scripts. You can exclude those scripts not compatible.
- Exclude Scripts – Leave Default
Similar to the previous feature. You can use this to manually exclude JS request through the use of keywords from merging. It can fix broken scripts and making your site return to normal.
- Footer Scripts [PRO] – Leave Default
It can be useful if you want to exclude a script using JQuery.
- Deferred Scripts – Leave Default
This feature excludes scripts from being merged but set defer attribute for them.
- Exclude Inline Scripts – Leave Default
Here you can exclude inline scripts from being merged.
- Footer Inline Scripts – Leave Default
If you want to move an inline script to the footer, use this. Most times, it’s unnecessary.
- Exclude Script Localizations – Yes
This will increase your page loading time. Leave it to default.
Enable this option as it increases prebuild time. Only Swift Performance should do this on your site to avoid breaks.
- Minify with API – No
I don’t recommend you use this option. It can slow than your site minifying process.
- Proxy 3rd Party Assets – No
You should not proxy third party assets since it can break your site.
- Separate Scripts – Yes
This is great for loading scripts only on the pages needed. Good for forums and ecommerce website.
- Print merged scripts inline – No
Only use this if you want to defer JS to load at the footer. Best if your site has no pop-up, slides and more.
- Lazy Load Scripts – No
This is used to load scripts only after first user interaction. Good if you have ads on your site.
- Include Scripts – Leave defaults
Here you can manually include scripts you want preloaded.
- Disable JQuery Migrate – Depends
If your themes and plugins are on auto-updates, you can use this. Its purpose is to make older JS code keep working.
- Preload Scripts – Leave Default
This allows you to preload specific scripts.
If you notice some functions are not working with Async execute, Lazyload- elements or scripts you can add JS code snippets to fix it.
3.3 Optimization > Styles
- Merge Styles – Yes
Even if your host server is using HTTP2, it can speed up your site loading, and also save some resources on server side.
- Generate Critical CSS – No
If you use a recent updated theme, you don’t need this. You hardly see the positive impact on your site.
- Extra Critical CSS – Leave Default
If some styling is not correct, you can add CSS rules here to fix it.
- Print full CSS inline – No
This prevents browser from caching CSS causing repeated download of styles.
- Separate Styles – Yes
You should enable this option to save merged CSS files for pages separately.
- Minify CSS – Full
This is a clever way of disabling all unnecessary CSS.
- Bypass CSS Import – Yes
This includes imported CSS in merged files. Leave default.
- Exclude 3rd Party CSS – Leave Default
A way to exclude 3rd party CSS files (eg: Google Fonts CSS) from merged styles. You should use this if you have issues with CSS merging.
- Exclude Styles – Leave Default
You can use this to remove styles that are not compatible.
- Exclude Inline Styles – Leave Default
You can exclude style in CSS from being merged.
- Include Styles – Leave Default
- Preload Styles – Leave Default
Great, if you have specific styles you want to preload.
3.4 Optimization > Fonts
- Preload Fonts Automatically – Depends
Preloading fonts will increase your page speed score and improve your loading time. I use system fonts so I don’t need this.
- Manual Preload Fonts – Leave Default
With this, you can manually preload font file.
- Use Local Fonts – Depends
If your external (Google fonts), you should active this option. I don’ need it as I use system fonts.
- Force Swap Font Display – No
I still don’t use it. Why? I use system fonts.
4.1 Caching > General
- Enable Caching – Yes
You should enable this feature to increase your site speed.
- Caching Mode – Disk cache with rewrites
This is the fastest among other options to serve caching.
- Early Loader – Yes
Even after choosing the “Disk cache with rewrites” above, it will still serve some request with PHP caching. Enabling early loader will help you cache those requests.
- Cache Path – Leave Default.
But if you notice your caching is not working, then check the caching path. Make sure it’s not displaying the wrong folder path.
- Cache Expiry Mode – Action Based Mode
If you have a post update or new comment, Swift Performance will clear your cache. This is better than Time Based Mode.
- Short Lifespan Pages – Leave Default
A good option if you have pages that contain details that will expire in 12 hours.
- Clear Cache on Update Post by Page – Leave Default
You most likely don’t need this. Action Based Mode has already taken care of it.
- Clear Cache on Update Post by URL – Leave Default
This feature allows you to specify a URL you want to cache. I don’t need this.
- Clear Cache After Update – Yes
This option saves you time in clearing cache every time you update a plugin or theme.
- Enable Caching for logged-in users – No
If you operate a community site or forum, then you can enable this. Else, leave it disabled.
- Separate Mobile Device Cache – No
This option is best for sites with different mobile version (AMP) – mostly news site. I don’t need it.
- Enable Browser Cache – Yes
It will increase your site speed by leveraging browser cache.
- Enable Gzip – Yes
This feature compresses files at the server level. Good for you.
- Send 304 Header – No
You don’t need this.
- Cache 404 pages – No
But if visitors keep landing on your 404 page, you can use this option. For me, it’s a NO.
- Enable Dynamic Caching – No
Here you can specify cacheable request. I don’t need to.
- Cacheable AJAX Actions – Leave Default
Another way you can cache resource-intensive AJAX requests.
- AJAX Cache Expiry Time – Leave Default
Specify cache expiry time for AJAX requests in seconds
4.2 Caching > Tweaks [PRO]
- Enable Proxy Cache – No
You can use this option to force proxies (eg CloudFlare) to cache pages. I didn’t use this feature. It was bad (6 seconds plus) for my loading time.
- Proxy Cache Maxage – Leave Default
Allows you to set max-age for proxies (in seconds)
- Proxy Cache Only – Yes
This option will save your storage space, as cache files will only store on your proxy server.
- Ignore Query String – Leave Default
Here you can specify GET parameters which should ignore for caching. I don’t use it.
- Avoid Mixed Content – Yes
If your site is HTTPS (which should be), enable this. It will remove the protocol from all resources to avoid it.
- Keep Original Headers – Yes
This feature serves original headers for cached pages.
- Exclude Headers – Leave Default
Here you specify which headers you don’t want to cache.
- Case Insensitive URLs – No
Your URL should be by default be in lowercase. You most likely don’t need this.
- Strict Host – Yes
This helps you to prevent www/non-www related issues.
- Lazyload elements – Leave Default
It is useful for elements (new comments, forms, etc.) to load dynamically.
- Ajaxify Placeholder – Blurred
With this, you can show the blurred version of your images before full load.
4.3 Caching > Exceptions
- Exclude Post Types – Depends
You should exclude all post types except post, page builder library, pages and all post types with its own unique URL.
- Exclude Pages – Depends
Exclude pages containing forms, tracking scripts and all other woo commerce related pages.
- Exclude URLs – Depends
Any URL you exclude her will not be cached.
- Exclude Cookies – Leave Default
Great if you want to restrict user with specific cookies to see your cached pages.
- Exclude Content Parts – Leave Default
If you have content that shows on multiple pages, you can enable this to prevent caching it.
- Exclude User Agents – Depends
This is useful if you don’t want some specific devices to see cached pages.
- Exclude Crawlers – Yes
Google crawlers and others should not see cached pages.
- Exclude Author Pages – Yes
Your site users will rarely visit authors’ page. So you need cache here.
- Exclude Archive – No
Don’t exclude your archives (category) pages for the sake of latest post updates.
- Exclude REST URLs – Yes
You don’t need cache here.
- Exclude Feed – Yes
Use your cache for other things.
4.4 Caching > Warmup
- Prebuild Cache Automatically – Yes
You will always need this except you own Wikipedia website.
- Prebuild Speed – Moderate
Be careful how you use this to avoid your host penalizing you.
- Discover New Pages [Pro] – No
If you don’t have the time to add new pages for prebuild, you can enable this. Just make sure you don’t unnecessary pages on your sites.
- Warmup Table Source – Auto
If you have less than 15 pages, use Auto. Else, choose the sitemap option.
- Warmup Priority – Leave Default
A way to prioritize your warmup processes.
- Prebuild Author Pages – No
Your author page should only cache during visit.
- Prebuild Archive – Yes
Enable this to prebuild category pages.
- Prebuild Terms – Yes
Enable if you too many tags on your site.
- Prebuild REST URLs – No
You don’t need this.
- Prebuild Feed – No
Save your server resources. You don’t need it. Unchecked for me. Unnecessary!
- Enable Remote Prebuild Cache [PRO] – No
It stands as an alternative to prebuilding locally. If your site’s prebuild works properly, you don’t need this.
4.5 Caching > Varnish
- Enable Auto Purge – No
Activate this option if you are on Varnish. It will automatically clear your cache.
- Custom Host – Depends
You will need this if you are using proxy (e.g CloudFlare)
5.1 Plugins > Elementor
- Lazyload YouTube Background – Yes
A great way to use lazyload for YouTube background videos
Note: Plugins like Contact form, Woo commerce, etc., will appear here if you have them activated on your site.
6.1 CDN > General
- Enable CDN – Depends
If you use a CDN that is not CloudFlare, enable this.
- CDN Hostname – Yes
Input your host name without including either “http://” or “https://”.
- Use Different Hostname for SSL – No
This feature allows you to specify different hostname(s) for SSL.
- CDN Custom File Types – Leave Default
Only useful to specify file extensions, eg: pdf
- Exclude File Types from CDN – Leave Default
You can use this to disable CDN for custom file types. Specify file extensions, eg: pdf.
6.2 CDN > Cloudflare
- Enable Auto Purge – Depends
If you use CloudFlare, enable this to auto clear cache.
- CloudFlare Account Email – Input Email
You should fill in the email address you used to register CloudFlare.
- CloudFlare API Key – Input API
You will see this under API tab in your profile page in CloudFlare.
- CloudFlare Host – Input Domain Name
Type in your site domain name.
- MaxCDN (StackPath) Input Details
This will show up if you enable CDN at the general tab.
7.1 Export/Import > Export
- Export Settings – Depends
If you have another similar site, you can use this to transport your Swift Performance setting to that site.
- Import Settings – Depends
You can use this to import your Swift Performance setting from another site.
Click on the Save Changes Button to save your Settings.
Further Swift Performance PRO Best Settings.
With this feature, you can optimize an unlimited number of images which can increase your page loading time.
I recommend that you always resize your images to your preferred size before uploading.
You can click on the Optimize Images button to optimize your existing images.
As you make revision of your post and pages, WordPress stores them in your database. This lead to consumption of server resources.
You can clear all manually or schedule database cleaning. Please makes sure you have your backup before cleaning.
Font Awesome loads all icons at site loads; delaying your page loading time.
With this feature, you can select icons used on your site and enqueue to generate icon font for them.
This option provides you the ability to only load icons you are using. This is great if you want your site to load quick.
Scan icons your icons. After which, enqueue them.
Awesome feature! You most likely don’t need it at this level. My recommendation is that you use relevant plugins.
Que.: Should I upgrade to the Swift Performance PRO version?
Ans.: Yes, you should. It includes everything you need to make your website blazing fast in the PRO. Apart from reason mentioned above, here are more reasons.
Swift’s Pro version give you a Remote Cron option. You will run WP cronjobs as real cronjobs.
Extended Woo Commerce Features.
Woo commerce by defaults slows down your site because of its cart fragments and AJAX request. You can use Swift’s PRO to disable these requests and speed up your site.
Wouldn’t you like to hide your speed secrets? This is possible with the white label option. You can change everything down to the database. Outstanding!
Swift Performance is more than a caching plugin. It’s the best WordPress speed plugin out there.
Here comes the end of review and best settings for Swift Performance. Get It Today!