Use sulfate-free shampoo.
To only use shampoo for color treated hair. Don't wash it everyday! In a weeks time the least amount if time is every three days. If it's summer , then ever two days .
leave it in a sealed bottle.
I've bought some permenant dye from a dollar store and dyed the tips of my hair with it, it didn't fade for like...ever. I had to cut it off it took so long to fade. I don't think it'd fade if you used some hardcore permanent dye instead of semi/demi permanent dye.
Get it done at the hairdressers, the stuff you buy in supermarkets works for a month or so then fades, PLUS you've got your roots to keep doing every month...Personally I wouldnt bother if your hair is a light colour.