As with everything else in tech...especially on the web, we probably need some qualifying info to really answer this question though right? How large of a site are we theoretically talking about? Are we talking about a very basic HTML / CSS only site or a dynamic CMS site like Wordpress, Joomla, Drupal, etc that uses a DB on the back end? Is it a very media heavy site? What kind of server is the site running on? We have to ask these questions because... Very small sites that have no DB on the back end and are only running HTML / CSS on a decently sized server (even shared) will most likely not need much optimization beyond image sizing, CSS / JS combining and minifying, and possibly some htaccess settings for headers and what not to get a pretty fast load experience. Any site that runs a DB on the back end will also then need to be optimized differently since very often the most costly thing to website load time will be calls to your server for files and calls to your database. Caching can be a huge help here. Also, setting expires headers can reduce those calls for a specified time. Media heavy sites should take advantage of a CDN. They are pretty much everywhere and very easy to use these days. Serving video or large images from a CDN will make your load time much better under normal circumstances. You can almost always make your site(s) run faster by throwing more resources at it (them) as well. Add memory and cpu, and things generally speed up. However, this is often the most costly solution. It is important to include this in the speed optimization equation though. Adding a bit more resources while you're doing the rest of the optimization can be a huge boost when combined. Lots to think about. This really only touches the surface...but that's what makes each situation different...and fun!