That's the point behind mattress covers/pads. For $50/$100, you get something to put on top of the mattress to absorb the dirt. After a few years, you can replace them for a fraction of the cost of a new mattress. They can also be removed and washed.