使用地理定位代理进行本地化SERP追踪

学习如何使用地理目标住宅代词准确跟踪本地搜索排名. 涵盖城市一级的目标设定、欧盟驻科法治团参数、地方包监测和多地点跟踪.

使用地理定位代理进行本地化SERP追踪

为什么本地的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 仅参数
  • 城市级别 : 当地企业需要。 使用两者 gluule 带有市级代理
  • 邻居级别 : 适用于超本地企业(续店,店铺). 使用非常精确的UULE坐标

移动轨道和桌面轨道

本地结果在移动和桌面之间差别很大. 移动式SERP显示更突出的本地包和不同的有机排列. 通过移动配置和桌面配置之间切换用户代理字符串来跟踪两者.

单独监视本地包

本地的包与有机结果有不同的排名. 追踪您的业务是否出现在本地的 3 包,每个位置独立于有机位置。 许多企业在组织上排位良好,但在当地企业群中却不存在,反之亦然。

计划一致

每天同时运行本地跟踪. 搜索结果全天波动,不一致的时间安排会给您的数据带来噪音. 晨间跟踪(每个目标时区6-8 AM)往往产生最稳定的基线.

当地没有地理目标代号的SRERP跟踪本质上是不准确的. 投资住宅代理 城市一级的目标 获取数据 反映你的实际客户所看到的。

欲了解基于代理的SERP监测的更多详情,请参见我们关于 网络刮刮的最佳代理如何不受阻地刮刮访问 代理数据文档 用于地理目标配置。

准备开始了吗?

通过AI过滤访问148多个国家的5000多万个住宅IP。

查看价格住宅代理
← 返回博客