local-seo
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseOpenSEO Local SEO
OpenSEO 本地SEO
Goal
目标
Work out why a business does or does not show up in Google Maps and the local pack near its customers, and what to fix first.
Use this when rankings depend on a physical location or service area. For national organic work, use or .
competitor-analysiskeyword-research分析商家在客户周边的Google Maps和本地包中是否展示的原因,并确定首要修复事项。
当排名依赖于实体位置或服务区域时使用此工具。对于全国性自然搜索工作,请使用或。
competitor-analysiskeyword-researchRequired inputs
必填输入
projectId- The business: name, or a /
cid(most reliable)placeId - Its coordinate (latitude/longitude) — derive it from a /
search_local_businessesrow; only ask the user when derivation is ambiguousget_local_serp_results - One to three keywords customers actually search (e.g. "emergency plumber", not the brand name)
projectId- 商家信息:名称,或/
cid(最可靠)placeId - 商家坐标(纬度/经度)——从/
search_local_businesses的结果行中获取;仅当无法明确推导时才询问用户get_local_serp_results - 1-3个客户实际搜索的关键词(例如“emergency plumber”,而非品牌名称)
OpenSEO MCP tools
OpenSEO MCP工具
- : nearby listings, filterable by
search_local_businesses,minRating, andminReviews— useisClaimedto find unclaimed listings when prospecting. One call with the brand name asisClaimed: falseand a wide radius returns category, rating, review count, claimed status, coordinates, andqueryfor every location of a chain — usually enough that per-locationcidcalls are unnecessary.get_business_profile - : the Maps/Local Finder result set near a coordinate. The rows carry
get_local_serp_resultsandcid— collect them once and reuse them everywhere below.place_id - : the full profile for one business (hours, rating breakdown) when the
get_business_profilerow isn't enough.search_local_businesses - : reviews with ratings, text, and whether the owner replied. Queued: a
get_business_reviewsresponse returns aprocessing— call again with it after 30-60 seconds, at no extra cost.taskId - : rank at every point of a grid around a coordinate, with each point's result count and #1 business. 3x3 is nine searches; only go to 5x5 when the service area is genuinely wide.
get_local_rank_grid - : Q&A on the profile (accepts
get_google_business_questions/cid).placeId - : posts published on the profile, with dates.
get_business_updates - : valid category slugs for
list_business_categories.search_local_businesses
- :周边商家列表,可通过
search_local_businesses、minRating和minReviews筛选——开发潜在客户时使用isClaimed查找未认领的商家列表。一次调用中以品牌名称作为isClaimed: false并设置较大半径,可返回连锁店每个门店的分类、评分、评论数量、认领状态、坐标和query——通常这些信息已足够,无需再针对每个门店调用cid。get_business_profile - :指定坐标周边的Maps/本地搜索结果集。结果行包含
get_local_serp_results和cid——收集一次后可在后续操作中重复使用。place_id - :当
get_business_profile的结果行信息不足时,获取单个商家的完整资料(营业时间、评分细分)。search_local_businesses - :包含评分、文本内容以及商家是否回复的评论。若返回
get_business_reviews响应,则会提供processing——30-60秒后使用该taskId再次调用,无需额外费用。taskId - :指定坐标周边网格每个点的排名情况,包含每个点的结果数量和排名第一的商家。3x3网格对应9次搜索;仅当服务区域确实广阔时才使用5x5网格。
get_local_rank_grid - :商家资料上的问答内容(支持
get_google_business_questions/cid)。placeId - :商家资料上发布的帖子及发布日期。
get_business_updates - :
list_business_categories可用的有效分类别名。search_local_businesses
Workflow
工作流程
- Find the business. Given only a name or website, (name as
search_local_businesses, wide radius) locates the listing and yields itsqueryand coordinate. If it returns several locations, the business is a chain — see multi-location below.cid - Run for the main keyword near the business coordinate. Record the top 3-5 competitors'
get_local_serp_results/cidand the user's own row.place_id - Compare the user's listing against the top two competitors: primary category, additional categories, review count, hours completeness, photo count, claimed status. rows usually carry all of this; use
search_local_businessesfor what they lack.get_business_profile - Sanity-check each listing's website link (/
urlin the rows): it should deep-link to that location's page on the project domain, not a homepage or a stale domain. For broader on-page work, hand off tocontact_url.run_site_audit - Call for the user and the strongest competitor. Look at review volume, recency, average rating, and how many reviews got an owner reply.
get_business_reviews - Run for the main keyword. Use the grid to separate "ranks at the storefront only" from "ranks across the service area", and each point's
get_local_rank_gridto name who wins where the target doesn't.topResult - Add and
get_google_business_questionswhen the profile basics are already competitive and the gap is engagement rather than setup.get_business_updates - Turn the evidence into a prioritized list. Category and claim problems outrank posting cadence every time.
- 定位商家。若仅提供名称或网站,使用(以名称作为
search_local_businesses,设置较大半径)查找商家列表并获取其query和坐标。若返回多个门店,则该商家为连锁店——请查看下方多门店商家相关说明。cid - 在商家坐标周边针对主关键词运行。记录排名前3-5的竞争对手的
get_local_serp_results/cid以及目标商家的结果行。place_id - 将目标商家列表与排名前两位的竞争对手进行对比:主分类、附加分类、评论数量、营业时间完整性、照片数量、认领状态。的结果行通常包含所有这些信息;若有缺失,使用
search_local_businesses补充。get_business_profile - 检查每个商家列表的网站链接(结果行中的/
url):应直接链接到项目域名下对应门店的页面,而非首页或过期域名。如需更全面的页面优化工作,移交至contact_url处理。run_site_audit - 为目标商家和最强竞争对手调用。查看评论数量、时效性、平均评分以及商家回复的评论占比。
get_business_reviews - 针对主关键词运行。通过网格区分“仅门店位置排名”和“全服务区域排名”,并根据每个点的
get_local_rank_grid确定目标商家未胜出区域的领先者。topResult - 当商家资料基础信息已具备竞争力,差距在于互动性而非基础设置时,添加和
get_google_business_questions的调用。get_business_updates - 将分析证据转化为优先级修复列表。分类和认领问题的优先级始终高于发帖频率问题。
Multi-location businesses
多门店商家
Always build the profile snapshot table for the whole chain — one call covers it. The per-location deep-dives (reviews, grid, posts, Q&A) are where cost scales:
search_local_businesses- 5 locations or fewer: deep-dive them all.
- More than 5: present the snapshot table, then ask the user (AskUserQuestion) which 1-3 locations to deep-dive. Pick sensible defaults to recommend — e.g. the weakest profile in the densest market.
始终为整个连锁店构建资料快照表——一次调用即可覆盖所有门店。针对单个门店的深度分析(评论、网格、帖子、问答)会增加成本:
search_local_businesses- 5家及以下门店:对所有门店进行深度分析。
- 超过5家门店:先展示快照表,然后询问用户(AskUserQuestion)选择1-3家门店进行深度分析。推荐合理的默认选项——例如,最密集市场中资料最弱的门店。
Output format
输出格式
Start with:
- Profile snapshot (category, rating, reviews, claimed) — one row per location for chains
- Where visibility drops off, per the grid
- The one fix to do this week
Then include:
| Signal | This business | Best competitor | Gap | Action |
|---|
Cover: categories, reviews (count, recency, owner replies), hours and profile completeness, listing website links, Maps coverage from the grid, Q&A and posting hygiene.
开头包含:
- 资料快照(分类、评分、评论数、认领状态)——连锁店每个门店占一行
- 根据网格数据显示可见性下降的区域
- 本周需完成的一项修复任务
随后包含:
| 指标 | 目标商家 | 最佳竞争对手 | 差距 | 行动 |
|---|
涵盖:分类、评论(数量、时效性、商家回复)、营业时间与资料完整性、列表网站链接、网格显示的Maps覆盖范围、问答与发帖规范。
Guardrails
注意事项
- Do not run a 5x5 grid, or grids for several keywords, without telling the user the cost first — every point is a paid SERP call.
- Match businesses by or
cidwhen you have one. Name matching collides with chains and similarly named businesses.place_id - A missing rank at a grid point means the business wasn't among the results returned there. Read it with that point's : a full result set means outranked; a near-empty one means a sparse SERP, not proof of invisibility.
resultsCount - Do not infer local-pack strength from national organic metrics.
- Never recommend review gating, fake reviews, or keyword-stuffed business names.
- A grid centered on the wrong place is worse than no grid — confirm the coordinate matches the storefront before spending grid credits.
- 在未告知用户成本前,请勿运行5x5网格或针对多个关键词运行网格——每个网格点对应一次付费SERP调用。
- 若有或
cid,请通过它们匹配商家。名称匹配可能与连锁店或同名商家冲突。placeId - 网格点无排名意味着商家未出现在该点的结果中。需结合该点的解读:结果集完整表示被超越;结果集几乎为空表示SERP数据稀疏,而非完全不可见。
resultsCount - 请勿从全国性自然搜索指标推断本地包的竞争力。
- 绝不推荐评论拦截、虚假评论或关键词堆砌的商家名称。
- 错误位置的网格比没有网格更糟——在消耗网格调用额度前,请确认坐标与门店位置匹配。