The page viewer web part won't display until I click on "Show all content". If you don't click on it fast enough, the message disappears and you have to refresh the page to see it again.
Your site is most likely accessed via HTTPS:// , correct? If so, all links that display content on your site also need to be HTTPS.
So, if you site is: https://example.com ...and you attempt to load content from a different site (using a page viewer web part in your case) it ALSO needs to have the HTTPS:// protocol. So instead of this:
..to access your external content.