Non-Disparage clause in contract

Is a non-disparage clause common? The roofing contractor I thought I was going with has one in their contract. I feel like it makes it impossible to find honest reviews of the contractor, as anyone who has had a bad experience is being prevented legally from telling anyone. So, if the contractor does bad work, messes up big or just takes my money and runs I can get sued for telling ANYONE. Does this seem like good business?

I don’t know of any reputable companies around me that include this in their standard terms. However, I know several of my peers that use them when settling with an unhappy customer. I am no lawyer but I don’t believe they’re legally enforceable in most cases when included in the contractors blanket terms.

Simple. Don’t use them. I wouldn’t.