@ bobbyau
The caption [meta page description] that Google is extracting from the page is what I would expect since all the roasters for the separate regions are single pages. To my knowledge, Google is not going to parse out each entry as a single search result. This meta page description can be set to something you desire instead of one Google creates from the page content. Use a plugin Such as WordPress SEO by Yoast to do this.
Ticking the name link option should help because now each entry will have its “own” page, as far as Google is concerned…
I went back to site to take a look, even though you have the name link option enabled, the roaster names are not links as they should be. You should be able to click on a link and be taken to a virtual page where only the entry which was clicked exists. That option can be overridden [disabled] at the shortcode level. What is the exact shortcode you are using on the directory pages? If you have link=false set as an option, remove that.
With the name link option set the meta page description for each individual entry should be an excerpt of the contents of the bio field. It will not be the address and such. Maybe when Google supports organization rich snippets it will. There’s nothing I can do about that. I can only do my best to ensure the micro data is properly setup for Google.
