There are several ways to optimize your website. You can optimize it for the search engines to allow your website to rank higher or you can optimize it for your visitors to make sure that you provide the best possible user experience. Actions that will improve the user experience will not always improve the search engine optimization and things that improves the optimization for search engines will not always improve the user experience.
In this article we are going to look at how you optimize the website to be as good as possible for both search engines and users. The suggestions we recommend below will improve your site for every one.
The first thing we want you to do is to take a look at your website and see if it really needs all the functions that the website provides. Many websites provides functions that are user by a very low percentage of all visitors but that affect the size and load time for all users. All these functions should be removed. Ask yourself. Does this function need to be here. If the answer is no then it should be removed. If it does provide a lot of value then it is a hindrance.
The most important thing to consider when optimizing a website is load times. You should do what you can to make sure that your website loads as fast as possible. No website should ever take more then 3 seconds to load. If it does you will lose more then 50% of all potential visitors. They get tired of waiting for the website to load and will visit a competitor instead. Your goals should be to make sure the website loads in less then one second. This will increase user experience and make search engines fall in love with your website.
Many websites have several CSS files and many designers choose to divide the CSS into several files to make it easier to edit the website. This is not to be recommended when you want an optimized website. Using several CSS files means that more files need to be loaded and that it takes longer for the website to render. It is faster to combine all CSS styles into one single CSS file. One larger file will always load faster then several small ones. This is due to the fact that the browser needs to contact the server hosting the website and request several files instead of just one.
I recommend that you always minimize the CSS files to make sure that they load as quickly as possible. I also recommend that you remove any unused styled from your document.
Java and other scripts
Most websites use several different scripts to render and be able to provide different functions. Forcing the website to load several script files before it can render will slow down the website. Scripts files can often be large and have a large impact of time to first render. Try to reduce the number of scripts files by combining them into one or two files. It is usually best to combine them into two files.
Start by in-lining very small scripts directly in the HTML code. This is the most effective way to handle small scripts. Larger scripts should be combined into two files. One file with scripts that needs to be loaded for the website to render correctly. Try to reduce the number of these scripts as far as possible. The other files should contain all files that doesn’t need to be loaded when the website renders. This should be the majority of your files. Make sure to deffer the loading of this file so that it loads after the website have rendered on the visitors screen. That allows the scripts to load in the background while the user is browsing the website. The functions will be loaded when the visitor needs them but they do not affect the load time of the website since it can be displayed before these files are loaded.
Always optimize images for web use. Most image files can be reduced in size without losing any quality. Optimizing your images allow your website to load faster. I also recommend using a CDN service to load the images. A CDN makes sure that the images are loaded from a server close to the visitor. This allows the website to load faster.
Small images can be included in the HTML code as base64 code. This allows them to be loaded without the need for extra calls to the server. This technique is suitable for small images but should never be used for images larger then 5 kb.