Q: Our shower floor has discolored, probably from rinsing out hair color. We've tried everything — bleach, vinegar, Soft Scrub — and nothing makes a difference. The floor is only seven years old, so we really don't want to replace it! Do you have any suggestions?

Fairfax Station

A: The stains probably aren't from hair color. "You would see it on the walls, too — not just on the shower pan," said Martin Brookes of the National Tile Contractors Association and a tile industry consultant through his company Tile Inspection Services (415-383-1489; tileinspectionservices.com).

Instead, the stains are almost certainly caused by moisture that has gotten underneath the tiles, said Brookes and another industry consultant, Donato Pompo of Ceramic Tile and Stone Consultants (866-669-1550; ctasc.com). The moisture probably interacted with iron, which is naturally found in some stone tiles, then moved to the surface of the tiles to evaporate, leaving behind rust stains. Stone that may contain iron includes Carrara marble, which Brookes guessed that you have, based on the picture you sent.

Seemingly picky details during installation can forestall the stains from occurring — or can make them likely to occur. A traditional shower floor has what's called a "water in/water out" system. At the base is a mortar bed that slopes toward the drain. Over this goes a waterproofing membrane, also known as a pan liner, with weep holes to channel water into the drain. And over that goes another mortar layer, giving the tile and grout a suitable surface to bond to. This multilayer system assumes that water from the shower will seep through the tile, grout and top layer of mortar, but the shower pan will then channel it to the drain. The water doesn't pool for long periods or need to evaporate through the surface of the tile, eliminating the risk of iron stains. But this system works only if there are two mortar layers and if the weep holes aren't plugged.

To simplify installation, manufacturers also make shower pans designed so installers can attach the tiles directly. But to work satisfactorily, there can't be gaps where water can pool underneath the tiles. With small tiles, as you have on your shower floor, installers need to modify their usual way of spreading the thinset mortar or other bonding material, Brookes said. The mortar manufacturer might specify using a notched trowel with teeth a quarter-inch tall spaced a quarter-inch apart, which is fine for applying the correct amount. "But on mosaic, you need to knock down the ridges so you don't have peaks and valleys," Brookes said. "If you don't, the peaks and valleys don't collapse — it creates what I call aqueducts. The peaks touch the tile but the valleys hold moisture." If the installer swirls the trowel, as is common, the valleys don't lead to the drain; one set of peaks and valleys swirls around and blocks drainage from the next set of valleys. So the only way for the moisture to escape is by evaporating through the tile, carrying the stain to the surface.

Products are available that remove rust stains from stone, but if the root problem is that moisture is collecting underneath because of improper installation, the only solution is to remove the tile and start over. "Sometimes a contractor can surgically remove the tile and save the membrane," Brookes said. But often, the job calls for a new shower pan. Costs vary across the country but in California, where he is based, the job is likely to run about $2,000 if just the tile needs to be replaced or $3,500 to $4,000 if a new membrane needs to be installed as well. If the membrane can be salvaged, Brookes recommends using porcelain tile, which is impervious, rather than stone, which is always porous to some degree, because iron staining won't be a problem. However, unless you correct the drainage issue, water will still pool underneath the tile and could become more acidic over time, eventually degrading the membrane, he said.

What if you are certain the stains are from hair dye or something else that spilled on the surface? For that, Brookes and Pompo recommended using a poultice product designed to take stubborn stains out of stone. Basically, these consist of a powder plus a liquid that draws out the stain. You mix the two into a paste, spread that over the stain, then cover the poultice with plastic wrap. As the powder slowly dries, it draws in the liquid along with whatever stain it has picked up, similar to how a sponge absorbs a spill. When the poultice is dry, brush it off and see whether the stain is gone or at least a little lighter. Sometimes it takes several treatments to remove all of the color.

One poultice product safe to use on marble is StoneTech Oil Stain Remover ($7.16 on Amazon for a three-ounce container, which covers 15 to 30 square inches when spread a quarter-inch thick). If the stain also is in the grout, Brookes suggested cleaning that with StoneTech KlenzAll Heavy-Duty Cleaner for Stone and Tile ($19.90 on Amazon for a 24-ounce spray bottle).

If you are able to remove the stain, seal the floor with a penetrating sealer. Don't use wax on tile, as it can trap moisture, add to maintenance chores and possibly make the floor slippery.

Pompo offers a free "ask the expert" service on his website, ctasc.com. The site lists questions asked over the past 15 years, with the answers.