I think it is better to allow free registration but rather to moderate posting for users with less than X points. So, new users will be able to create posts, they will go to the moderation queue, you check the content and then you realize if is spam or not.
For example, in this site, there are users registering and posting about essay writing services or fitness. Clearly, those are spammers. Usually, they have either a link in the post itself or a link in their user profile that points to their sites. Many times they even have quite complete user profiles with the About filled about their good experience they had with the service they sell.