My website is slow; How can I make it load faster?

A website has many components and the speed will depend on a number of these, mainly:
Where it is hosted – some hosting companies are better than others and will be better optmised to deliver your website faster to the user. Generally it costs more to use a host like WPEngine that is diligent about site speed but the benefits are well worth it (benefits below)
Does it use a content management system? Typically a CMS is a complicated system that will utilise a data container component like a database server and programming scripts that can fetch and save data from the database. The manner in which the CMS has been coded will determine how quick the site is in displaying information. That’s why we recommend a CMS like WordPress which is quick.
Images/media – Websites typically have a large number of images or media items and at a time when users demand high quality imagery the files sizes can be quite large, adding to the ‘heaviness’ of a web page. It’s always a god idea to compress these files before uploading to the site so that the total size of a web page is reduced as much as possible.
Minifying files – this is a technical term that means that non-display files like script files and stylesheets are reduced in size by removing non-useful elements like whitespace. A CMS will have a number of such files which need to be loaded before the website can fully function – reducing their size means the site can load them faster.
Caching: caching is a term that means that certain parts of site are stored locally in your browser when you first visit it – these elements will always be required regardless of which page of the website you visit, e.g. the logo, certain script files, the style sheets etc,  therefore it doesn’t make sense to load them from the server everytime you change pages on the site. Reducing the number of files, and the number of requests to fetch them, means the site will laod faster once caching has occured.

User retention – A fast loading website is just nicer to use and users who enjo the experience are more likely to spend time on the site and to return. If a site takes too long to load then users are put off and likely to never return. This is especially true for mobile users as they may be on data packages and the ‘heavier’ a site is the more data it consumes.
SEO – Google and the other seach engines want to make sure they only direct their search users to fast websites (benefit #1 above) therefore they will rank, all other things being equal, fast loading websites higher in their search results pages.