fbpx Swift Performance

Core Web Vitals Becoming Ranking Signals

In November 2020, Google announced that starting from mid-June 2021 Core Web Vitals will become ranking signals.  This update will combine the newly introduced web vitals with already existing UX-related signals, such as:

  • mobile-friendliness
  • safe-browsing
  • HTTPS security
  • intrusive interstitial guidelines

Below, we are going to take a sneak peek at the changes the new update is expected to bring. Let’s get into it.

Wait a minute! What are Core Web Vitals exactly?

Core Web Vitals were designed with the purpose to measure the experience of users who interact with a web page. These measures target the speed, responsiveness, and visual stability of web pages.

Specifically, these are the 3 measures defined as Core Web Vitals:

  • Largest Contentful Paint: This measures the time the web page needs to load the main content. The ideal LCP of a page is 2.5 seconds or faster.
  • First Input Delay: This Core Web Vital reflects on the time it takes for a web page to become interactive. The ideal time is 100 ms.
  • Cumulative Layout Shift: Last, but not least, the Cumulative Layout Shift shows the amount of unexpected layout shift of visual content on a web page. In this case, the ideal measurement is less than 0.1.

New Labels Added in Search Results

Based on the previous announcement, Google may also introduce new labels in search results. The role of these additions is to inform the user about the results that provide a good page experience.

To get this label, your web page has to meet all the user experience criteria we discussed above.

Obviously, not all pages would be able to qualify for this label, and this is exactly what can help your page stand out.

A study published in August 2020 reveals that less than 15% of websites can pass the Core Web Vitals assessment. Undoubtedly, if you can fit your web page in that percentage, that is a great advantage when it comes to ranking.

To meet these criteria, site owners already started to take steps towards improving the optimization of their web pages. For example, many are relying on Search Console’s Core Web Vitals report. This report provides site owners more information on the page experience from the user’s perspective and identifies opportunities for potential improvements.

Google reports show a median 70% increase in the number of users who engage with Page Speed Insights or Lighthouse to evaluate page experience metrics.

Also, to measure all Core Web Vitals, Google recommends the use of AMP to site owners. This tool is a simple and cost-effective option to optimize for page experience signals. Last but not least, based on Google reports, AMP sites tend to achieve a great page experience.

Non-AMP pages appearing in Top Stories

Alongside the announcement of Core Web Vitals becoming ranking signals for page experience, Google has also made an important announcement considering non-AMP pages.

Based on a new update rolling out at the same time as the page experience signal update, as of May 2021 non-AMP pages will become eligible to appear in Top Stories.

This basically means two things:

  1. Pages that meet the Google News content policies will appear in the Top Stories
  2. Pages offering a superior experience will be subject to prioritization in ranking


As user expectations of web pages continuously change, so are Core Web Vitals subject to periodic changes. The updates rolling out this May have undoubtedly a significant impact on ranking, but one thing is sure: more changes are coming in the following period.

Swift Performance Lite

Swift Performance Reloaded

Swift Performance lite 2.3.1 has been released recently. Many features has been added to the lite version, therefore it becomes to the best free WordPress cache plugin on the market

The most important part, that Lite users can register and get a free API key, and now can use the most important key features in the plugin.

New Swift Performance Lite Features


Image Optimizer

With a free API key you will get monthly 500 free image optimization credit. You can optimize previously uploaded images, and new images as well. Image Optimizer can also generate WebP format for all images.

Critical CSS API

With Swift Perfomrnace API generating critical CSS is much faster, less CPU intensive, and Viewport based mode is also available, which can generate better Critical CSS

Script Optimization

You can use Swift Performance API to minify javascripts for better and more failsafe minification. Server side scripts are also available with API, so you can run scripts and manipulating the DOM during caching.


WebP support

Now you can serve WebP version of the images if there is an available WebP version for them (even if it isn’t generated by Swift Performance Lite). Swift Performance provides two methods: <picture> and rewrite. See more

Server Push

If you enable this feature Swift Performance will generate special rules for htaccess, and also will send Server Push headers if the request is served via PHP. See more

Youtube Smart embed

If you enable this feature, Swift Performance will change Youtube embeds to a static picture placeholder, when you click to it, it will start the video. On mobile it will replace the placehoder when it appears in viewport.  See more


Disable Cart Fragments

You can even disable the cart fragments requests. You can disable it on: every pages, non-shop pages, specified pages (you can choose pages in a dropdown) or specified URLs (you can add URLs one-by-one)

WooCommerce Session Cache

In most cache plugin the cart and checkout pages simply can not be cached. This feature will preload and cache cart and checkout pages for every visitors (separately). With this feature you can speed up the checkout process, which can improve conversions.

GEO IP Support

If your store is using multiple currencies, or provide different prices based on the visitor’s location, you can generate separate cache for each location using GEO IP support feature.


Remote Prebuild

On some servers local prebuild is not working, because loopback is disabled. In this case, you can enable Remote Prebuild and use our proxy service to prebuild pages.

Ignore Query String

Swift Performance will bypass cache for pages if the request contains any query string. In some special situations, where page should be cached, even if there is a dynamic parameter in the GET request. See more

Avoid Mixed Content

In some cases the site source can contain links/src with HTTP version instead of HTTPS. If you enable Avoid mixed content, it will remove the protocol from all links and sources, so you won’t get a mixed content error in the browser.

Case Insensitive URLs

URLs in WordPress are case insensitive by default. Because of this, some pages can be duplicated in cache. If you would like to avoid these duplicates you may need to enable Case Insensitive URLs feature.

Exclude Cookies

You can specify any cookie which should be bypass the cache. If the user has one of these cookies, then cache will be bypassed.

Keep Original Headers

Swift Performance Lite now can keep headers of the original request. If you are using a plugin which send custom headers you can keep them for the cached version as well.

Font Optimization

Local Fonts

Now you can download and host all your fonts locally. To use this feature you need to enable Merge Styles option. All fonts will be located in cache folder, so if cache will be cleared, then fonts will be download again. Using local fonts can speed up the page load, improve Web Vitals so it is recommended to use.

Force font-display: swap

Swap instructs the browser to use the fallback font to display the text until the custom font has fully downloaded to avoid “flash of invisible text” (FOIT). Now you can set font-display property to swap for all fonts with one click.

Advanced CRON management

Remote Cronjobs

If you disable WP Cron, then cronjobs will not run at all, except if you trigger it somehow. Swift Performance API provides remote cron service, which will trigger cronjobs horly, twice daily or daily basis.

Limit WP Cron

Prevent WP Cron being called on every page load. It is better alternative to decrease cron requests instead disabling it, because with this feature you can decrease server load, however it won’t break plugin features, like backups, scheduled posts, or prebuild cache process.


Hide Footprints

Swift Performance adds an extra header an HTML comment at the end of the source, which represents the cache status for the request. You can remove these footprints with the new Hide footprints feature.

Disable Admin Notices

Swift Performance in some cases will show a message in admin area. For example if a plugin/theme or core update has been finished. If you don’t like it, you can disable this feature in General settings.

Background Requests

For some AJAX requests we doesn’t need the response (eg post view stats). You can add rules to make these requests run in background, so the browser won’t wait the response. See more

Lazyload Elementor Youtube Background

Elementor is using javascript to inject the iframe for the background Youtube videos, so common lazyloading won’t work here. However you can use Lazyload Elementor Youtube Background feature to lazyload these videos as well.

Custom CDN Filetypes

By default Swift Performance Lite will use CDN for typical static filetypes. Now you can add more file types which should be loaded from CDN, or you can also exclude files to being served via CDN.

Discover New Pages

With this new feature Swift Performance Lite can find and preload pages, which are generated by a plugin (like pagination). For example it can help to preload paginated pages for shop archives

Download Swift Performance Lite Now

One-click Swift Performance – Installation with a single click

In a sea of ​​different website plugins, do you feel a little confused, lost? You don’t have time for a lot of searching through internet space trying to find an answer which plugin will help you and which one will get you the maximum you expect? Looking for something simple, yet effective? Swift Performance is a word press plugin that you can launch with just one click. Literally, with just one click. Check this case study what you can achieve with setup wizard.



Swift Performance is a great cache plugin and this is very important for your website because caching helps you speed up your Word Press site and boost performance. A faster website improves user experience and encourages users to visit more pages.

Swift Performance is great in image optimization. Images often account for most of the downloaded bytes on a web page and also often occupy a significant amount of visual space. Images can slow down your website which is why it is essential to save all your images optimized for the web.

Swift Performance is great in dealing with critical CSS. If you head over to Google Page Speed Insights and analyze one of your web pages, you might see warnings about optimizing your CSS delivery by inlining critical CSS and loading render-blocking style sheets asynchronously.

Browsers won’t render the above-the-fold content of your web pages unless they have loaded all of your CSS files. This can be a big deal when a lot of files need to be loaded. That’s why you need and you have Swift Performance.

Swift Performance is great in database optimization. The database that you have or offer to your users must be fast, simple, transparent if you want to get the results you want.

Swift Performance is great plugin organizer and much more, so do you need more than these top five reasons to get and install Swift Performance in just one click?!


one-second delay in page load time yields*:

  • 11% fewer page views
  • 16% decrease in customer satisfaction
  • 7% loss in conversions

Every second is important because with every second you lose web visitors, readers, clients, buyers. One-click on Swift Performance, without requiring additional programming or any programming knowledge, enhances the performance of your website.

*source: crazyegg.com


How to Cache AJAX Requests

One area which can be a pain for performance enthusiasts is showing up-to-date recent posts in a sidebar widget or show off your popular posts in the footer. The traditional way to work around this is by using AJAX so Javascript makes a call for PHP to pull fresh data out of the MySQL database. This is very convenient but also potentially resource heavy and slow because of the entire process flow. Let’s cache those instead with Swift Performance.

Speed Benefits of Caching AJAX Get Requests Swift Performance

For this example we use WordPress Infinite Scroll – Ajax Load More plugin for lazy loading posts, single posts, pages, comments and more with Ajax powered queries. It is a great plugin, however we already know that it takes between 300-400ms for the site to display the data. That is not the plugins’ fault, it is just the nature of AJAX

Luckily we can cache this AJAX request and get it down to 50ms with Swift Performance. We will assume you already have Swift installed and configured on your site.

Here are some GTMetrix results before and after caching the AJAX requests.

Uncached AJAX Response Time

With Swift Cacheable AJAX Actions feature DISABLED took 431 ms.

Cached AJAX Response Time

With Swift Cacheable AJAX Actions feature ENABLED took 55 ms.

That is a pretty amazing increase in performance by caching the AJAX request with Swift Performance.

How to Cache AJAX GET Requests with Swift Performance Pro.

Feature description:

Cacheable AJAX Actions – With this option you can cache resource-intensive AJAX requests (eg AJAX search). You should specify the action names here. You can also set cache expiry time for AJAX requests in seconds. For example you can use it to cache custom ajax search or cache WP datatables ajax responses. It´s advanced stuff. If you don´t know how to use this feature, it`s better not to use it.

AJAX Cache Expiry Time – Cache expiry time for AJAX requests in seconds.

You find this feature in Settings->Caching->General of Swift Performance. If AJAX calls are resource-intensive you can cache those with Cacheable AJAX Actions.

So, to achieve this, you first need to find the Ajax Action as Ajax always has an action. Load the page in GTMetrix and open the Waterfall tab, look for the admin-ajax.php and open that tab.

Just click on the Params tab and note the action, in this example: alm_get_posts

Then return to your WordPress site backend, Swift Settings and look for Cacheable AJAX Actions in Settings->Caching->General: set alm_get_posts there. That`s all.


Verify if Swift is Caching the AJAX GET Requests

Use Curl or Load the page in GTMetrix and open the Waterfall tab, look for the admin-ajax.php, open that tab Headers. Cache response header should reporting a HIT (swift-performance – HIT).

Now you have successfully cached WordPress admin-ajax GET requests with Swift Performance and your AJAXified content will load faster while PHP and MySQL get a much deserved rest.

Brotli Compression

Most servers use gzip to compress text files before they are sent across the internet. This makes the files smaller, and then the web browser will automatically unzip them. The lose in the zipping and unzipping time is more than made up for in performance gains – at least for text files. This is because text files are pretty inefficient in terms of space used.

Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression. Now, while that sounds impressive, do remember that most of the bandwidth hogs on web pages are media, which should not be gzipped as they are already compressed, so if you have gzip enabled fro text files, then there are small gains to be got from shifting to Brotli, but don’t expect massive gains unless you are a text only site. Still every little counts and, if it’s easy enough to install, then why not.

The only downside I see with Brotli compression is, most popular web servers have not incorporated it as part of their features.
That means, to enable Brotli compression, you need to check first if your hosting provider allows it or not.

I’m not sure if there is a technical reason behind this, but all the browsers I tested with require HTTPS in order to enable Brotli support.
• Apache/NGINX installed.
• HTTPS enabled.
• Access to your Apache/NGINX installation (no shared hosting)
• Brotli binary installed

Installing Brotli

apt-get install brotli

Setting up on Apache

Apache has supported brotli since version 2.4.26 by way of the mod_brotli module.
However, I can’t find any information on this so we are installing this module by kjdev

Install the Module

git clone --depth=1 --recursive https://github.com/kjdev/apache-mod-brotli.git
cd apache-mod-brotli
install -D .libs/mod_brotli.so /usr/lib/apache2/modules/mod_brotli.so -m 644
cd /etc/apache2/mods-available
echo "LoadModule brotli_module /usr/lib/apache2/modules/mod_brotli.so" > brotli.load


This has added the .load file to the mods available. We need to create an accompanying config file called brotli.conf, adding:

<IfModule brotli_module>
  BrotliCompressionLevel 10
  BrotliWindowSize 22
  AddOutputFilterByType BROTLI text/html text/plain text/css application/x-javascript
<IfModule brotli_module>


Enable the module

a2enmod brotli
service apache2 restart


You should now see in the response header that the page is compressed with brotli (br):

Setting up on Nginx

Google has released a Nginx Brotli module
Download the module

cd /usr/local/src
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init --recursive


Rebuild Nginx with our new module
You should run nginx -V to get your config string and add:

cd /opt/nginx-1.13.1/  (or your own path)
./configure YOUR CONFIG STRING --add-module=/usr/local/src/ngx_brotli
make install


Finally, add to your nginx.conf file

http {
    brotli on;
    brotli_static on;


In conclusion, the setup for both Apache and Nginx is pretty painless. If the browser does not support brotli it can always fallback to the ever faithful gzip.

Does your browser support Brotli?
Browsers which support Brotli send ‘br’ along with ‘gzip’ in accept-encoding request header. If Brotli is enabled succesful on your web server, you will get response in Brotli compressed format.

HTTP/2 200
server: nginx
date: Thu, 11 Apr 2019 21:01:27 GMT
content-type: text/html
content-length: 32395
last-modified: Thu, 04 Apr 2019 13:49:47 GMT
etag: "3c420-585b4a4af8fe6-br"
accept-ranges: bytes
cache-control: max-age=0
expires: Thu, 11 Apr 2019 21:01:27 GMT
vary: Accept-Encoding,User-Agent
content-encoding: br
strict-transport-security: max-age=31536000

You may also check here, if your server support Brotli.

In combiniation with Swift, you may disable GZIP in Settings->Caching->General and add these rules in Settings->General->Tweaks: Custom Htaccess 

AddOutputFilterByType BROTLI_COMPRESS text/plain text/css text/html application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-brotli


If you are unsure of how to enable Brotli on your server, then hopefully this helps!

CDN for more speed, performance and security

CDN is short for Content Delivery Network which is a network of servers that deliver cached static content from websites to users based on the geographic location of the user.

You can/must use CDN on top of having a web hosting account. CDN helps speed up things, but doesn’t replace a web hosting account.

Akamai and Gomez.com explored the correlation between website load times and visitor activity. Here are just some of the facts they found:

  • 47% of people expect websites to load within 2 seconds.
  • 40% of people consider 3 seconds too long to wait for a website to load.
  • If a page were to delay in loading by just one second, it could mean a difference in 7% in conversions.

For websites with a lot of traffic and/or with a large global audience, this is a huge deal. Those few seconds you lose in load time (and in potentially converted business) are extremely valuable.

Akamai predicts that within two years 55% of global web traffic will pass through CDNs.

Cloudflare with AkamaiFastlyHighwindsLevel3 and EdgeCast is part of the Google Cloud Platform CDN Interconnect program. Cloudflare is a content delivery network (CDN) and acts between your website and your visitors.

CDN providers are usually using a cookiless unique subdomain for every site. These providers usually use pull technology, so they can proxy the content for the first request, and serve the following requests from the cached version from their server.

Cloudflare will handle the traffic at DNS level, which means it won’t change the host for the static content. Because of this, it can also improve security. Whenever a user visits your site, Cloudflare will first check for any indicators of malicious intent. Once Cloudflare verifies the visit isn’t motivated by nefarious purposes, it serves up data from the data center that’s geographically closest to your visitor

That provides your web security and much faster website load speeds.


The Hyper Text Transfer Protocol (HTTP) enables the retrieval of network connected resources available across the cyber world and has evolved through the decades to deliver fast, secure and rich medium for digital communication.

HTTP was proposed by Tim Berners-Lee. Tim Berners-Lee is pioneer of the World Wide Web who designed the application protocol to perform high-level data communication functions between Web-servers and clients.

The first documented version of HTTP was released in 1991 as HTTP 0.9, which later led to the official introduction and recognition of HTTP1.0 in 1996. HTTP1.1 followed in 1997 and has since received little iterative improvements.

HTTP/2 will make our applications faster, simpler, and more robust. HTTP/2 opens up a number of entirely new opportunities to optimize our applications and improve performance.

The primary goals for HTTP/2 are to reduce latency by enabling full request and response multiplexing, minimize protocol and add support for request prioritization and server push.

HTTP2 provides multiplexing – ability to get multiple interactions into a single TCP connection, similar to what SPDY gave us; header compression – reduces the redundancy of sending the same headers repeatedly; server push – handles some of the issues of resource dependencies so the server can push them to you knowing you’ll need them and resource prioritization – prioritizing delivery based on type/content using weights and dependencies.

HTTP/2 on top provides that the web is more situational than ever.

From idea to project

Although it is common knowledge that the programers are reluctant to go public and are the happiest when we let them to work, we have succeeded in luring Peter Molnar for one quick interview, the chief and responsible for the idea and development of the Swift Plugin.

How the story with Swift started? How did the idea come?
We started to develop Fevr theme and I started to optimize it (it also has a performance module, that was the very first version of Swift Performance). I wanted to create critical CSS on the fly to optimize CSS delivery, but I realized the process will be too slow, so I will need to add caching to be able to publish it as a standalone plugin.

What was the main purpose of this plugin development?
I always liked new challenges, I wanted to make the best cache plugin.

What is your previous experience in this area
I made some WordPress sites where the speed was very important, so I started to learn everything about this topic. I also had some experience in optimization when we were working on Fevr.

What are the main differences between Swift and other similar plugins?
I love to find new aspects, adding unique features like Auto-generated critical CSS, Async Javascript execution, Ajaxify, etc.

How long have you been working on the development of Swift?
We started to work on it in 2016 December, 1.0 was released on 8. April. 2017.

How much progress has been made from day one?
A lot. Current version is more stable, and much more compatible with other WordPress products than 1.0 was, and of course, we also added tons of new features since the beginning (like Smart Youtube embed, Async JS execute, Plugin organizer, WooCommerce specific features, etc).

What are your plans with Swift in the future?
I have to point out today that Swift works thx to a whole team of people without which this plugin would certainly not be so fast and well-developed. With a good team, the users are also needed, who will trust your product, especially at the beginning. Today we have formal and informal members, and they all greatly help to be even bigger. Today we can praise Swift has taken an important place on the WP accelerator market.

Swift is not just an ordinary Caching plugin but an all in one optimization plugin that replaces many other speed up plugins.
However, we also plan many other new and exciting projects: to find new opportunities to speed up WordPress and also make it easier to use even for nontechnical users – that is our first step forward.  So stay tuned and follow us! 🙂

How many users currently have Swift?
Currently, we have more than 10 000 Lite users and more than 2500 active subscriptions. Fortunately, we are still growing.

Image Optimization

„A picture is worth a thousand words”

Are you dreaming of easily optimize images in WordPress for better speed and performance? Swift Performance can make your wish come true.

Images are larger in size and they take longer to load and can slow down your website. Is there anything more annoying that waiting for a website to load for website visitors?

According to HTTP Archive, on an average, around 64% of a website’s weight is comprised of images.

As per Gomez and akamai.com, half of the users love sites which load in less than 2 seconds. If the page takes more than 3 seconds to load almost 40% of visitors tend to leave that site, thus increasing the bounce rate. Image optimization is the only solution for this problem.

Images make your content more attractive and interactive, they are important for your web, but also you must think about optimizing of all of your images on your web.

Sounds boring, isnt’t it? That’s why Swift Performance gives you optimization without any of your effort, except that you need to have Swift Performance.

Don’t worry about the quality

Optimizing web images is a process of delivering the high-quality images in the right format, size, resolution and dimension while keeping the smallest possible size. That is what we do – automatically compressing images and using the smaller sized version on your website. You can set the desired image quality, even using lossless optimization to keep good quality images with reduced size.

1 591  Kb

505 Kb

459 Kb

107 Kb

Don’t worry about CPU usage

Swift Performance is using our API server to optimize images, the optimization process won’t use extra resources on your server. The image optimizer is unlimited, there is no any additional costs for image optimization.

Result is – faster load, better SEO ranking, boost conversions and at the end and most important image optimization provides you happy customers.

Why is cache so important?

Cache is the place where computer stores recently used information and when you think about optimizing your website, never underestimate the role of caching in WordPress.

Website caching makes websites extremely fast. That also means better SEO scores and increased user satisfaction, better conversions and at the end increased income with lower costs.

In general caching keeps accessed objects, images and data closer to where you need them, speeding up access to websites you hit often.

The more cache, the less time the computer spends accessing slower main memory. Results are in programs that may run faster and it leads to greater performance of your website.

There are 2 basic type of cache: server side and client side cache.

In WordPress you are not updating it everyday, after every post or page. Server side caching creates static copies of your post or page, and serves that to visitors. This way, the back and forth queries to and from the database can be avoided, reducing the server load.

On the client side we can tell to the browser which content should it keep for longer time and which not. Static contents like images, fonts, CSS and Javascript files should be cached even for a year. It is not just speeding up the site, but also decrease the network traffic, which can be an additional benefit for mobile users.

The benefits of caching

There are various benefits of caching in WordPress, such as reducing the load on your hosting server, enhancing the speed and performance of your website and decreasing the network traffic. It provides you faster websites, but not only faster while loading but also getting a favorable rank with search engines. Least but not last – catch provides better user experience overall.

Swift Performance plugin can help you to have all that in one.

So, what do you waiting for?

1 2