 it is just a question of what makes it faster. We were just thinking of increasing the RAM or the CPU to make it faster. So, we think that we will bring us over to a high RAM, high CPU and our GPU will become faster. But it is a misconception, because when we increase the CPU or RAM or any other associated. So, when we increase it, it gets to know Then we get to know that it is still stroke. Then we think of why we have created the resources. We have created everything to make it faster than still stroke. Then we go with the hosting company and ask why. Then we get to know that the server is working fine. But your resources are not reaching up to that level that you need an upgrade. So basically you didn't need an upgrade. But you upgraded it because of the misconception that you have. So now if I talk about it, if not upgrading the resources then what? So first of all we need to check if I was as excited as reaching resources to a maximum or not. If yes, upgrade, if not then what may be causing it? What may be causing it? The team's code, the plugin's code, the hosting company, they are using a poor infrastructure. They don't have good bandwidth, they don't have good internet connection on their server. Or if you have bad configuration on the server. Then there comes location of the server. So if you are based in India and you are using a server based in US, the distance between the user and the server increases and so the speed also gets affected. The last one is external calls made by the plugins. For example you are using Google Maps or maybe Instagram code on your website. So what do you do? You use the iFrame code or some code which has an Instagram or Google Maps JavaScript which calls the JavaScript from an external server. So the call made by your server to that server and the response from that server to your server takes a lot of time. So that also affects your performance. How we get to know what is affecting our website performance? How to make it faster? What exactly needs to be done? So we have a few tools like Google Day Speed Insights, we have GP Metrics, we have PingTong, I like these tools so I mentioned these tools. But you can go for any other services as well. So what we do is we go to these websites, we compare, put a URL over there and analyze it. So once we click on analyze it lists out everything that our website needs to go through. What all needs to be improved in our website? So for example I have listed out some common issues that are listed in the analysis. The first one is minification, then render blocking, then self-composed images. You might have seen those who have analyzed their websites already, they must have seen it. Let's discuss them one by one. So here is minification. What is minification? Minification is cut down your code from a bigger code to a smaller code. So we don't cut down any code but we use less than a number of lines for the same code. For example if we write a CSS code like a class in, then wrap it up on the next line, our CSS code then wrap it up on the next line. So what we do? We put everything on the same line and make it one line. So that is what is minification. So you can do it like either you can modify the files or you can use some plugins for that. So that generates some minification file and serves your CSS all that from that. Then comes render blocking. If you know what is render blocking? When we use like when we visit a page, it calls the PHP code, everyone knows our presence code in PHP. So when we open up a website, it calls the intents.php and certain calls are made to some other PHP files. And then the page loads on the browser. So we don't see any PHP page over there but we see a HTML page. If you go and click on the view source on the home page or any page, you will see HTML coding over there. So what happens is our PHP page is called, then browser renders it into HTML and shows you the page. Now when you get some issues in rendering, then the page loads performance of it. The page won't be able to render it faster. So for example, if we use a lot of plugins. So when a PHP file is made, then it calls some JavaScript files, some CSS files, etc. Now when it calls some JavaScript files, if you know when a JavaScript file has an error, then the following JavaScript won't be loaded. So similarly, when a JavaScript file is stuck over there somewhere, it can't be rendered, then the following JavaScript files won't be rendered. Until then, under the previous JavaScript file is loaded. So what we do in these cases is when we analyze it, it lists out all the JavaScript files that may be rendered and we will be blocking the rendering of the page. So what we do, we just move those files to the folder of the page. When the page is fully loaded, then those JavaScript files will be loaded. So the page rendering won't be blocked, but those JavaScript files will be moved to the folder, moved to the later stage. So again, we can do it using Peter, you can code it like that or maybe use some plugin for that. Then there comes image optimization. If you have ever analyzed a website, it will always show some image optimization, components, images. For example, when you upload an image of, say, 5MB and load a website, load on the page. The page size will be increased to 5MB plus all the resources. Now when you compress that image and maybe get back to 480, then the page size will be 480 plus the page size. So that should be possible as well. So that's what image compression means. So again, you can use any image compression tools. There are many on the internet. Or maybe use some plugins for that. Then there is one more image error thing in the analysis. That is serve skewed images. If you ever notice, you can, like, when a team develops a team, they always define some image containers. For example, if you won't let me show you this. So there are two images, one is this and one is that. So there should be two containers for those images. And those containers should be containing some image. For example, a container is of, like, 500 into 500 pixels. And you upload an image of 1000 into 1000 pixels. So what will happen? The container will always show 500 into 500 pixels. But your container will be of, like, container will be of 500 into 500. And it will show 500 into 500. But the image was 1000 into 5000. So image will be loaded as 1000 into 1000. But it is showing 500 into 500. So there is no use of that loading bigger image. So what you can do is cut down that 1000 into 1000 pixels image into 500 into 500 image. That is what is for a scale image. And then you can just put it on the website. Next is gzip. So if you ever wonder, like, it gives up, like, the analysis, you have something like compress your files. So compression is not enabled, something like that. So what you do is use gzip method. What it does is it compresses a set of files and then serves to the browser. Okay. So that, for example, some JavaScript, some PHP files are taking around 10 weeks of data. So what it will do is it will compress to maybe 506 MB, then it serves to the browser, it compresses it and serves, or renders it. Okay. So that also saves a lot of speed. Then there comes, yeah. So now if we want to know how to enable that gzip compression, it's just simple. As you can just go to your file manager or maybe FTP. You might have seen an sdaccess file over there. You can simply edit it, the code that is listed over there. You can find it easily on Google. You can just copy that code and put it in the sdaccess file and it will enable gzip for you. It also requires deflate module on your server. That is our PHP extension. So if that is not enabled, it won't work. So you will need to contact your host for that. If that is enabled, it will work. Next. Many of us have seen a gtfp issue on the analysis page. It always says gtfp is 1,000 seconds or something like that. So what we do is use of page caching. So that can be, sorry. So that can be because of two things. One is bad server configuration. And the second is the pages taking too long. So what we do is use page caching for that. We will discuss the page caching in details. How we come back to that. So something is related to time or something. I don't exactly remember that. I don't exactly remember that. So that is something. So what we do is either cache the page or maybe modify the server. So the server thinks we want to discuss it because we are discussing work as optimization. Page caching you will be discussing. So here comes the caching side. So caching are of multiple types. There are three types. I have mentioned over here. One is page caching. The second one is browser caching. And third one is server caching. So as I said, we are discussing server, server modification, server optimization over here. So we won't be discussing the third one. We won't be discussing that to others. So page caching. As I said, when you are on the browser, it actually holds some PHP files. Those are served to the browser. And then browser renders it and show you the page. So what page caching do is when a user visits our website, the HTML is loaded. The HTML gets saved into a folder called cache or something. Whichever plugin you use, it will have their own name for cache folder. When the HTML is saved over there, the next user visits that page. Instead of calling those PHP files again and then rending the whole page, the page that is cached will be served to the next user. So the rendering time that was taken for the first user will not be taken for the second user. So that is the benefit of using page caching. The second thing is browser caching. Almost everyone of us has experienced it some other day. When some website is visited, it creates some caching on the browser site. That is, it stores some of the data on the browser. Like in the form of cookies, cache, etc. So that is what is browser caching. For browser caching, what we do is we put some headers in our files. So headers like what? It will expire in one month or one week or something like that. And that data gets saved into the user's computer. So next time when he visits that page again, that cache data will be shown to him again. So that again won't be loaded from the server side. And that happens save some time. So that makes sure it's saved first. So let's move to the next one. So one issue is add expires headers. So expires headers as we already discussed, this code actually, if we look at the code, it says expires by type, then image, then access plus by one month. So what it says when an image is served on the page, on the user's computer, it will save some cache file over there which will expire in one month. So for example, within one month if the user again receives the page, the image, the page that is loaded will have that image served from the local computer and not from the server side. So that will again make our website loading faster on that computer. So that is what is browser caching. And this is how you make your website store 99 out of 100. So here comes, if you ask me my choice of plugins. So there are two plugins that I use on my website that are hummingbird and smush. So smush are used for image optimization and hummingbird for caching for moving the files to photo express. Thank you.