Outside of the 3-Pack, How Does Google Find Local Results?

Here’s an interesting case of Google’s local organic algorithm failing to produce the right results, and it tells us a bunch about how they’re trying to produce those local results in the organic results outside of the 3-pack. I’m sitting here near Sunriver, Oregon, and I search for “restaurants near me”. The 3-pack looks pretty good…it’s got the pushpin very accurately located for me (within yards, in fact, despite the fact that I’m on a PC connected via my cable internet provider, not my cellphone with GPS). 3-pack results for restaurants near me But, below that, in the regular organic results, things get a little bit nutty: local organic results The 1st and 3rd TripAdvisor results are for Three Rivers, California and Three Rivers, Michigan. Then, the 3 Yelp results are for Three Rivers, California, Three Rivers, Michigan, and Three Rivers, Massachusetts. Not very helpful, right? Turns out, my address is geolocating to an area here called Three Rivers. It’s not really a city or town…the town nearby is Sunriver. What’s interesting is the mechanics behind the rankings. For the local 3-pack, clearly something involving the lat/long coordinates of the searcher and the Google My Business pages is going on, and that’s working great. For the organic regular results, it’s looking like Google is geolocating me, the searcher (accurately), then looking up the city name from that lat/long (not my address, because that looks up as Bend, Oregon, about 20 miles north of Sunriver…but that’s another issue). Then, Google is clearly looking for pages about restaurants near that city name they looked up. And apparently not worrying about the state. So the Maps results there in the 3-pack seem to work…let’s click on the map itself to see what restaurants are around other than those three: Road trip to Bakersfield, CA Still shows the cluster of restaurants actually near me, but just in case I feel like a road trip, I can apparently get a pizza in Bakersfield, California. Nice to have options! Things get a little weirder: I tried a search for “restaurants near three rivers oregon” to see if that helped. Slightly better results. Once again, the 3-pack nails it, successfully translating “three rivers oregon” to the lat/long and then finding restaurants close by. The regular organic results now are at least all in Oregon: getting closer, at least Oregon now But it’s still just trying to match the words I typed with the words the pages are tuned for. Three Rivers Grill in Hood River is 159 miles away. Florence, where one of the casinos is, is about a 4 hour drive. The other is in Coos Bay, which is about 4 1/2 hours drive. And Yelp’s result is for a restaurant in Phoenix….1,130 miles away. Kinda far to go for dinner :-). One might think, hey, surely Google should be using the address markup in the schema on these pages to know really where those restaurants are located. But, in Google’s defense, the Three Rivers Grill site has LocalBusiness markup, but it’s missing the address and fails to validate. TripAdvisor’s page has no markup for anything other than Breadcrumb (sigh). Three Rivers Casino’s site has no markup whatsoever. Yelp’s listing does have the address marked up (HURRAY!), but not the geo attributes of lat/long, which means Google would have to look that up (but hey, the Places API has a lookup for this they could use…I use it on my travel website). So, you can see why Google is having such a hard time with this–with so few businesses using markup to let Google know where they are (and giants like TripAdvisor, who should know better, missing the boat too), you can see why Google just doesn’t have the data to go on in so many cases that it would make trying to rely on location markup pretty much a waste of time. So, for the non-3 pack, they really don’t have much of an option other that trying to match with the city names. Luckily for me, I ALREADY know all the great restaurants near me :-).