We're launching new website with new url structure and new content. Domain is the same. Many old pages are indexed by google. Should I use 404 or 301 and redirect to '/' for these old resources? I also want to remove these pages from google index.
If the content has moved permanently, then a 301 response is the correct thing to do (and point it to the new location, not a generic point); If the content has gone forever, you should use the 410 response which means "Gone". Of course, where there is an alternate, you can use a 303 response (along with the URL to the alternate) which can be worthwhile when there isn't an exact match.