为什么本地的SERP是不同的
Google根据搜索者所在位置提供不同的搜索结果. 对"最佳咖啡店"的查询返回了纽约,伦敦,东京完全不同的结果. 这种本地化不仅适用于当地商业查询,而且适用于许多商业和信息关键词。
对于服务于特定地域市场的企业来说,追踪国家一级的排名是误导性的。 一个网站可能会在芝加哥排名第1位,但在休斯敦排名第15位,同样是关键词. 没有特定位置的 SERP 跟踪, 您正在根据不完整的数据做出 SEO 的决定 。
本文解释了如何使用地理目标住宅代号实施准确的本地SRP跟踪. 关于应急机构监测的更广泛的概述,见我们 使用代理向导完成 SERP 刮除。 。 。
谷歌如何本地化搜索结果
Google使用多个信号来确定哪些本地结果可以显示:
| 信号 | 如何运作 | 对结果的影响 |
|---|---|---|
| IP 地理位置 | Google 将搜索者的IP映射到一个地理位置 | 本地包装和有机结果的主要因素 |
| 全球定位系统/设备位置 | 移动设备共享精确坐标 | 当地流动结果非常精确 |
| 谷歌账户位置 | 用户签名的位置历史 | 根据以往地点将结果个性化 |
| 搜索参数 | gl (国家)和 uule (准确位置) URL参数 | 覆盖基于 IP 的检测 |
| 语言设置 | hl 参数和接受语言标题 | 语文文本出现的影响 |
本地软件包
对于带有本地意向的查询,Google显示一个"本地包"——一张在有机结果上方有三个商业清单的地图. 这个包能捕捉相当一部分的点击量,并且完全依赖位置. 离搜索者2英里远的生意 可能出现在包里 而20英里远的地方不会出现
有机结果变化
甚至标准有机结果也按位置变化. Google推广本地相关内容,根据区域搜索行为调整排名,并可能根据搜索者所在城市显示不同的特色片段.
地球近缘为何至关重要
要在某个特定城市的用户眼中看到搜索结果,你需要一个来自该城市的IP地址. 这是地理目标 住宅代办 成为不可或缺的。
- 真实位置信号 : 一个来自丹佛的住宅IP告诉谷歌 搜索者实际上是在丹佛
- 本地包精度 : 您只能通过从正确位置查询查看正确的本地包
- 区域内容差异: 在一个区域排名的内容不得在另一个区域排名
- 竞争性分析: 看看你的本地竞争者在市场上看到什么
代理哈特住宅代理 支持城市一级的地理目标跨越 190多个地点 让他们成为当地紧急救援系统监控的理想
实施地方应急机构跟踪
以下是一个完整的 Python 执行, 追踪跨多个城市的关键词排名:
import requests
from bs4 import BeautifulSoup
import json
import time
import random
from datetime import date
# ProxyHat proxy with geo-targeting
# Append city/country to your session for geo-targeted requests
# See docs.proxyhat.com for geo-targeting syntax
PROXY_BASE = "http://USERNAME:PASSWORD@gate.proxyhat.com:8080"
LOCATIONS = [
{"city": "New York", "gl": "us", "hl": "en", "uule": "w+CAIQICIITmV3IFlvcms"},
{"city": "Los Angeles", "gl": "us", "hl": "en", "uule": "w+CAIQICILTG9zIEFuZ2VsZXM"},
{"city": "Chicago", "gl": "us", "hl": "en", "uule": "w+CAIQICIHQ2hpY2Fnbw"},
{"city": "London", "gl": "uk", "hl": "en", "uule": "w+CAIQICIGTG9uZG9u"},
{"city": "Berlin", "gl": "de", "hl": "de", "uule": "w+CAIQICIGQmVybGlu"},
]
def track_local_ranking(keyword, domain, location):
"""Track keyword ranking from a specific location."""
proxies = {"http": PROXY_BASE, "https": PROXY_BASE}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
"Accept-Language": f"{location['hl']};q=0.9,en;q=0.8",
}
params = {
"q": keyword,
"num": 20,
"hl": location["hl"],
"gl": location["gl"],
"pws": 0,
}
# Add UULE parameter for precise city targeting
if "uule" in location:
params["uule"] = location["uule"]
response = requests.get(
"https://www.google.com/search",
params=params,
headers=headers,
proxies=proxies,
timeout=15,
)
response.raise_for_status()
soup = BeautifulSoup(response.text, "html.parser")
# Find organic position
position = None
for i, g in enumerate(soup.select("div#search .g"), 1):
link = g.select_one("a")
if link and domain in link.get("href", ""):
position = i
break
# Check local pack presence
in_local_pack = False
local_pack = soup.select("div.VkpGBb")
for item in local_pack:
if domain in item.get_text().lower():
in_local_pack = True
break
return {
"keyword": keyword,
"city": location["city"],
"position": position,
"in_local_pack": in_local_pack,
"date": str(date.today()),
}
# Track across all locations
keywords = ["best proxy service", "web scraping tools", "seo software"]
all_results = []
for kw in keywords:
for loc in LOCATIONS:
result = track_local_ranking(kw, "proxyhat.com", loc)
all_results.append(result)
city = result["city"]
pos = result["position"] or "Not ranked"
local = " (in local pack)" if result["in_local_pack"] else ""
print(f" {city}: #{pos}{local}")
time.sleep(random.uniform(3, 6))
# Save results
with open(f"local_rankings_{date.today()}.json", "w") as f:
json.dump(all_results, f, indent=2)理解欧盟驻科法治团参数
这个 uule 参数是在Google搜索URL中指定位置的最精确的方法. 它编码了谷歌使用而不是基于IP的地理定位的地理位置.
如何生成欧盟驻科法治团的价值
UULE值是具有特定格式的Base64编码字符串. 以下是生成它们的功能:
import base64
def generate_uule(location_name):
"""Generate a UULE parameter for Google geo-targeting."""
# UULE format: w+CAIQICI{length_char}{base64_location}
encoded = base64.b64encode(location_name.encode()).decode()
# Length character mapping (A=1, B=2, ... Z=26, a=27, etc.)
length = len(location_name)
if length <= 26:
length_char = chr(64 + length) # A=1, B=2, ...
else:
length_char = chr(70 + length) # Adjusted for longer names
return f"w+CAIQICI{length_char}{encoded}"
# Examples
print(generate_uule("New York")) # For New York City
print(generate_uule("Los Angeles")) # For Los Angeles
print(generate_uule("London")) # For London将欧盟驻科法治团与地理代理合并
为了尽可能准确,使用欧盟驻科法治团参数和同一地点的地理目标代号。 UULE告诉Google将结果本地化,而代理IP确认地理信号. 这种双重方法产生最可靠的当地应急机构数据。
将案件用于本地的紧急救援系统跟踪
多地点企业
弗朗奇斯,零售连锁店,服务区企业需要跟踪它们所服务的每个城市的排名. 一个拥有50个地点的披萨连锁店需要知道它们在每个市场的排名,而不仅仅是全国的排名. 当地应急机构跟踪显示哪些地点具有强大的应急部门,哪些需要注意。
地方机会均等机构
管理不同城市客户的机会均等机构必须准确报告当地排名。 当客户为当地市场服务时,显示他们的全国排名会削弱信任。 基于Geo-proxy的跟踪提供了精确的数据客户端需要.
竞争者监测
地方竞争者在不同街区的排名可能有所不同. 通过在地铁区域内的多个地点跟踪竞争者,可以发现其覆盖范围的地理差距,并以内容优化的地区为目标.
国际机会均等组织
针对多个国家的网站需要核实它们在每个市场的排名。 语言、货币和文化差异都影响到Google在每个地方推广的内容。 利用来自每个目标国家的地理目标代号,获取准确的国际紧急应急方案数据。
节点.js 执行
const axios = require('axios');
const cheerio = require('cheerio');
const { HttpsProxyAgent } = require('https-proxy-agent');
const agent = new HttpsProxyAgent('http://USERNAME:PASSWORD@gate.proxyhat.com:8080');
const LOCATIONS = [
{ city: 'New York', gl: 'us', hl: 'en', uule: 'w+CAIQICIITmV3IFlvcms' },
{ city: 'London', gl: 'uk', hl: 'en', uule: 'w+CAIQICIGTG9uZG9u' },
{ city: 'Berlin', gl: 'de', hl: 'de', uule: 'w+CAIQICIGQmVybGlu' },
];
async function trackLocal(keyword, domain, location) {
const params = {
q: keyword,
num: 20,
hl: location.hl,
gl: location.gl,
pws: 0,
};
if (location.uule) params.uule = location.uule;
const { data } = await axios.get('https://www.google.com/search', {
params,
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'Accept-Language': `${location.hl};q=0.9,en;q=0.8`,
},
httpsAgent: agent,
timeout: 15000,
});
const $ = cheerio.load(data);
let position = null;
$('div#search .g').each((i, el) => {
const href = $(el).find('a').attr('href') || '';
if (href.includes(domain) && !position) {
position = i + 1;
}
});
return { keyword, city: location.city, position };
}
// Track keyword across all locations
async function trackAcrossLocations(keyword, domain) {
const results = [];
for (const loc of LOCATIONS) {
const result = await trackLocal(keyword, domain, loc);
results.push(result);
console.log(`${loc.city}: #${result.position || 'not found'}`);
await new Promise(r => setTimeout(r, 3000 + Math.random() * 3000));
}
return results;
}
trackAcrossLocations('best residential proxies', 'proxyhat.com');地方应急机构跟踪最佳做法
选择正确的位置
- 国家一级: 用于广泛的国际运动。 设定
gl仅参数 - 城市级别 : 当地企业需要。 使用两者
gl和uule带有市级代理 - 邻居级别 : 适用于超本地企业(续店,店铺). 使用非常精确的UULE坐标
移动轨道和桌面轨道
本地结果在移动和桌面之间差别很大. 移动式SERP显示更突出的本地包和不同的有机排列. 通过移动配置和桌面配置之间切换用户代理字符串来跟踪两者.
单独监视本地包
本地的包与有机结果有不同的排名. 追踪您的业务是否出现在本地的 3 包,每个位置独立于有机位置。 许多企业在组织上排位良好,但在当地企业群中却不存在,反之亦然。
计划一致
每天同时运行本地跟踪. 搜索结果全天波动,不一致的时间安排会给您的数据带来噪音. 晨间跟踪(每个目标时区6-8 AM)往往产生最稳定的基线.
当地没有地理目标代号的SRERP跟踪本质上是不准确的. 投资住宅代理 城市一级的目标 获取数据 反映你的实际客户所看到的。
欲了解基于代理的SERP监测的更多详情,请参见我们关于 网络刮刮的最佳代理 和 如何不受阻地刮刮访问 代理数据文档 用于地理目标配置。






