My son is 3 1/2 years old. He has got the mouth of a sailor (for a 3 year old)! He mostly says bad things for shock value, like poop, poopyhead, stupid head, stinky, swampy pants. We’ve tried ignoring it, and we’ve told him that God doesn’t like him to say bad things. What will work?
This is very age appropriate. When each of my children has gone through it, I’ve just told them I don’t like the word and given them another word to say. Ignoring it doesn’t correct the behavior, but making too big a deal about it makes it linger much longer than it would otherwise.
It really is something they outgrow. Punishments won’t make it stop, and they serve to distance you.
Another idea is to react very big and fun, and distract him from saying those words. Sometimes I’ll tell my kids they are in “big trouble” and then chase them and tickle them. In the book Playful Parenting, author Lawrence J. Cohen suggests saying, “Shhhhh, don’t tell everyone my secret name,” at which point they will tell everyone you are a Poopyhead. And then you can say, “Ahhhhh tricked you, my secret name is ‘Pumpernickel Brain,’” or something silly but less inappropriate.