I like to show full posts on my index pages, so they are convenient for visitors to read and they don't have to click "read more" links to read the full post.
However, with this setup Google often shows the index pages as a first hit for a search which is not convenient for visitors coming from search engines, because they have to find the relevant post on the index page.
Is there an easy way to ensure individual blog posts are first results on google and index pages rank lower? This would be the best, because then the blog would be easy to read for both kinds of visitors: direct visitors would see the full posts on the index pages, while visitors coming from search engines would go directly to the individual posts.
The obvious solution would be to use "noindex,follow" on index pages, so only post pages are indexed, but in an other question people didn't favor this idea, though I'm not sure what harm would it do. That's why I'm asking if there is some other solution.