To get limescale off your shower head and remove mineral deposits from the shower head fill a plastic bag with some white vinegar and then use something such as a string or rubber band to tie the plastic bag with vinegar around the shower head.
Then allow the shower head to soak in the vinegar for at least a couple hours but the longer the better.
You could allow the vinegar to soak the shower head overnight and then remove the bag of vinegar and turn the water in the shower on at full hot and flush it out for a few minutes.
You can also use CLR to soak the shower head in if you have really stubborn limescale on your shower head.
But usually vinegar works just fine at getting limescale off your shower head.