I was working on a WooThemes customer ticket today and he was having an issue with the products he bulk imported into his WordPress install with a plugin called WP All Import. All his products were showing fine in the WordPress dashboard but those products were not showing on the frontend.
The reason is that many meta fields were missing in wp_postmeta, in the database.
So I created a small plugin to solve the issue. The snippet provided below is a custom plugin that will create a new field called _visibility, and it will set the value of this meta field to visible. That’s it. Of course you could improve this plugin and create all missing fields, but this field is enough for WooCommerce to make the products display on the site. So, if you have this specific issue I hope that this will help you ;-)