Browser caching. This is one that I've found developers et al often overlook. It's also the level of caching that can cause the most headaches. But it's the cheapest to implement and cheapest to run so it's definitely worth getting browser caching right first.
Yes this one's tricky. Especially when you update page layout and assets often.