I have created a community page and set the access to public on the community builder. I would like this to be viewed only by the guest user. When I login as a community user which uses a different profile, i am also able to see the public pages. Can I restrict the community user access to the public page? Is that possible?
You can use page variation to control the visibility of logged in user. For more detail: https://releasenotes.docs.salesforce.com/en-us/summer16/release-notes/rn_networks_builder_profile_access.htm
Page variations allow you to specify what profiles access what page. From the community builder, select the page you want to create a variation and select the cogwheel (settings) that appears next to it:
from there, you want to create the page variation and save it. This will allow you to select the audience criteria under the page settings: and select the profile that should be directed to the page variation: