I have dirt and stains on my car's seat which is made of fabric. Since the car was a topline one and I don't like non-fabric seats, I'd like to preserve it. How can I clean them cost effectively?
Get a stiff brush with lots of plastic bristles, one that has a corner so you can get into corners easier.
Small section at a time brush in a circular motion, not rough as it will pull the fibers and make it look webby, try to break the dirt loose. Then with a vacuum go over the area brushed to see if it removed the dirt.
More than likely you will need to use a shampooing agent, carpet cleaner works great, I usually opt in for one with enzymes in it to kill any smell. They sell these at most hardware stores. While you're there, also get a spray bottle for the cleaning agent. Mix to your ratio and spray it on lightly, you don't want to soak it but you want to get the very base of the fabric. Try a small hidden area first to make sure it wont bleach your fabric. Use the brush to gently foam it, then vacuum with shop vac.
Let it air dry in the sun with windows rolled down. If its night or cold, you can stick a corded heater in the car with windows slightly cracked.
It very much depends on how dirty they are. I personally find the a good vacuum using the stiff brush attachment is sufficient for most seats. There are various dry / foaming shampoo products specifically for this application which can help here.
If they are more stained it is possible to use a steam cleaner to clean them but you may need to leave the car with its windows open afterwards to allow the seats to dry out fully.
I am aware of at least one person who has removed their seats and unclipped the fabric covers from the seats so they could be run through a washing machine but this will be time consuming and will require a selection of tools and quite a lot of dis/re-assembly.