This post will give your a list of actions and quick guide how to optimize your website and increase performance significantly. following guidelines are:
- Reduce required requests: Less number of http requests means less overhead on the page.
- Use css for your main images: CSS Sprites is wonderful solution for merging icons and lots of small images into one. This reduce number of http requests in every page of the website.
- Use a faster web server: Apache is standard solution however, there are solution which provides better speed. Look for more details.
- Implement caching: It’s common to implement caching however, you should look for caching at multiple layers. Web-server caching, CDN caching and end user browser caching. All of them gives extra mileage in performance.
- Enable compression: Compression(GZIP) is common and must be implemented in every content transfer happens from client to server. Read about it in below articles.
- Eliminate plugins: Use standard libraries and try to avoid building wheel for any new problem. Libraries help in providing optimized solutions. Just look for security before using it though.
- Use a top tier host
- Use a content delivery network: CDN is good at serving static content and improves overall performance of the application. you must implement it.
- Employ anycast dns: Anycast is CDN of DNS. It means all DNS resolution happens very quickly and available any cast DNS server helps resolve DNS queries quickly.
Read more in following documents.
https://moz.com/learn/seo/page-speed
https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency
https://danielmiessler.com/study/web-performance/
https://developers.google.com/web/fundamentals/performance/optimizing-javascript/tree-shaking