I have an issue in SP2010 where previously published pages have been unpublished and hidden from the navigation, but they are still showing up in searches. Regular users then try to click their way there and get a resticted access message. Is there any way to ensure that unpublished and hidden content does not appear in seaches?
Sounds like your default content access account used by Search for crawling has more than the 'Just Read' permissions on the web application or site collections it's crawling. Check this account in Search Administration then check it's access in the sites.
Do it as James said.
Stop Inheriting permissions for the "Pages" Library.
Remove all existing users from the list.
Add "NT Authority/All Authenticated Users" with "Read access"
Add any other user as per your requirement (contribute....)