Tearing off an old, shingle roofs is one rough, messy job. It adds considerable expense to replacing your roof. There is a better solution that often will work.
With many roofing applications, the existing shingles can stay in place and will provide an extra measure of protection against the elements. The only things that may prevent this are the added weight of all of this new roofing, as well as the difficulty of laying new roofing onto uneven asphalt shingles.
Regarding the weight issue, you should check with a professional to see if your structure can handle the added weight of a metal roof on top of the old one.
The way that we get around putting metal over an uneven shingle roof is to construct a wood framework of one-by-four’s, and then lay the metal on top of that framework.
It’s like building an interior wall framework, and placing that framework on top of your old roof. And like an interior wall, the studs of your roofing framework are 16 inches on center.
This framework effectively eliminates any imperfections in the existing composite shingles. Also, you can purchase rough-sawn one-by-fours much cheaper than a better grade lumber. The quality of the framework does not matter because none of it will ever be seen after you cover it with the new metal roof.
This is an overview of how the process might be done by you or a professional and is just one way to apply metal roofing over composite shingles. A professional roofer or contractor may give you different advice based on the condition of your house.