Don't make the mistake of buying a short focal length (FL) macro, like a 50mm or 60mm. The working distance (distance between the sensor and the subject) is too close for a lot of macro work. Look at the Canon 100mm f.28 macro.
The L version is pricey, but it's a damn nice lens.
The non-L version is cheaper and also very nice, but doesn't have Image Stabilization (IS).
You may find some cheaper 3rd party macros, but the FL issue remains the same. Working distance is the thing to keep in mind.