Prevent site from being indexed by search engines?
Question 1: Shield will deny access to anyone that doesn't know the credentials, including robots.  Using this module should be suffiscient for the use case you describe.

As long as you use Shield, metatags doesn't matter.  If you do not use Shield, the metatag you list will prevent your site to be indexed by polite search engines (such as Google - read about Google's policy here).  It will have no effect on some other (impolite) search engines (such as Baidu).

Question 2: Disabling "View published content" for the anonymous user role will prevent any content on the site from being indexed.  Your site itself, and the placeholder string that is shown to the anonymous user when viewing published content is disabled ("No content has been created yet.") is still visible and may be indexed by search engines.