If I search for the single word "plumber", Google uses my location and this page "Top 10 Plumbers in Manhattan" from Yelp appears in the results.
https://www.yelp.com/search?cflt=plumbing&find_loc=Chicago%2C+IL
They are doing the same for numerous business types and cities. How are they optimizing the SEO to have the correct city page appear for where the searcher is?
I can see nothing in the metadata specifying location or even the business type. Is Google just taking it from the html elements?
To be clear I'm not asking about how to optimize a page for a single local business or even one with multiple locations, this is about landing pages aggregating multiple business listings for multiple cities.