DEV Community

Dylan Parker
Dylan Parker

Posted on

Ever tried debugging why your site doesn’t rank for "pizza near me" in Berlin but works fine in Munich?

I’ve been there. Manually setting up proxies or VPNs for every city is a pain, and Google’s own search previews often ignore location context.

Here’s a quick tip I use: when testing local SEO, don’t just check your site on a VPN. Use a tool that lets you specify the country, language, city, and even region. For example, I recently had to check a client’s visibility in Mexico City with Spanish (MX) locale. Google’s “Search Appearance” in Search Console only shows what Google thinks is relevant, not what a user in that exact spot sees.

Instead of spinning up a VM, I used SERPSpur’s Local Search Spoofing Tool. It lets me simulate a search from that exact location. The key is to combine this with a simple Python script to verify the results programmatically. Here’s a snippet to parse the HTML output:

import requests
from bs4 import BeautifulSoup

# Simulate a search (you'd get this from the tool's output)
url = "https://your-target-site.com"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')

# Extract local business schema or specific elements
local_biz = soup.find_all("div", class_="local-business")
for biz in local_biz:
    print(biz.get_text(strip=True))
Enter fullscreen mode Exit fullscreen mode

This isn’t a replacement for a full SEO audit, but it’s a fast sanity check. For example, I found that a client’s Google My Business listing didn’t show in the local pack for a specific neighborhood because their business category was wrong. The tool helped me catch that before advising them.

Pro tip: always run these tests in incognito mode and clear your cache. And remember, location spoofing is for analysis only—don’t abuse it for scraping or fraud. Happy debugging.

Top comments (1)

Collapse
 
burhanchaudhry profile image
Burhan

Interesting that you didn't include any content—was this a test post, or did something go wrong? I'd love to hear what you were planning to share.