I would imagine shingles would certainly be effective, just like heavy-duty black plastic. New outdoor carpet would/should work well though. That heavy latex (or whatever the backing layer is) won't allow weeds to grow through. I am sure, after some years, that backing would break down, allowing weeds to grow through. I use this outdoor carpet around the entrance to the stairs of an outdoor, baseball stand, and nary a weed has grown through that carpet in three years. It was actually laid over grass, and the grass is no more.