I am using Facebook Autopost module and rules module to automatically post content to my facebook page when a new content in created. The post are appearing in my facebook page but they are not visible to public. What am I doing wrong.
You need to take your app out of development mode and make it live to the public. All of your previous posts will then appear to their appropriate audiences (and so will future posts).
You can do this by going to https://developers.facebook.com, going to your app's dashboard, then to App Review. At the top there is a Yes/No field for "Make app public?" Set it to yes.