Gag clauses shouldn't be upheld, since they are violations of the 1st amendment. As long as the review is about the products, or service and not hate speech, customers should be able to express their negative opinions about a business or restaurant. Negative publicity can hurt a business, but consumers should be informed and able to make choices with their wallets.
I've had my fair share of being in a bind not being able to complain when a business practice silences criticisms instead of doing better. The average consumer is not protected as much as they should be, and in many cases ,doesn't even know what to look for in the first place when it comes to sketchy goings-on. And there are a lot of predatory entities out there like non profit schools who prey upon the ignorance of first generation college students, minorities, and veterans. Fine print, similar to gag clauses, keeps those victims silent with no hope of justice.
So yes, it is free speech. Most customers aren't terribly difficult so if a business wants others to speak of them in pleasant terms they should provide the quietly service that is expected and them and customers will "freely" speak well of their name.
Individuals should be free to write bad reviews of companies that rightly deserve such reviews. Even seeing such a clause should be a red flag to any consumer. While some people may abuse their right to speak freely about a company and say negative things that are untrue, the vast majority of people only go to the trouble of writing any reviews when they have truly had a wonderful or terrible experience, and potential consumers want to see these.
I feel there is no longer a freedom of speech, as far as consequences are concerned. If a person is applying for a job, and the potential new employer calls the references provided and one of them gives a bad report. The person applying for the job can take action against the past employer is he does not get the new job. People should be able to provide an honest feedback about a company or product.