It's a sad fact that Canon lens hoods are over-priced. £20 seems way over the odds for a simple plastic moulding. But if you have a little time on your hands and a few simple craft tools you can make your own!
I made this hood for my Canon EF 24mm f/2.8 lens. It's made from plasticard (sheet styrene sold in model-making shops), and painted in black enamel. Even though the paint is supposed to be matt, it's still a bit more reflective than I'd like; if I were making another I'd probably try a different kind of paint.
Construction is in two parts. The base is a ring cut from 0.040" plasticard, with cut-outs to allow it to slip onto the bayonet fitting on the front of the lens. The hood itself was cut out of more flexible 0.020" plasticard. The whole thing is glued together with polystyrene cement.
The pattern for the hood was downloaded from www.lenshoods.co.uk. I actually used the pattern for the 50mm f/1.8. On my 1.6x crop camera, the 24mm lens is the equivalent of a 38mm on a full-frame camera. Obviously that's still a fair bit wider than 50mm, but I found the 50mm hood template didn't cause any vignetting.