news 2026/10/26 9:47:27

claude-seo 的 Bing Webmaster + IndexNow 扩展:为 Microsoft Copilot 引用与非 Google 索引构建可验证的 SEO 工作流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
claude-seo 的 Bing Webmaster + IndexNow 扩展:为 Microsoft Copilot 引用与非 Google 索引构建可验证的 SEO 工作流

claude-seo 的 Bing Webmaster + IndexNow 扩展:为 Microsoft Copilot 引用与非 Google 索引构建可验证的 SEO 工作流

【免费下载链接】claude-seoUniversal SEO skill for Claude Code. 26 sub-skills + 19 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, agent readiness (Lighthouse Agentic Browsing, WebMCP, llms.txt), backlinks, local SEO, e-commerce, international SEO, Google APIs, and PDF/Excel reporting. 9 optional extensions for live SEO data.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-seo

导读

claude-seo是一个面向 Claude Code 的通用 SEO 技能集(Universal SEO skill),其中seo-bing技能专门负责非 Google 搜索引擎的表面:通过 Bing Webmaster Tools API 获取入站链接与竞品对比数据,通过 IndexNow 协议向 Bing/Yandex/Seznam/Naver 一次性提交 URL,并借助 Bing 索引为 Microsoft Copilot 提供可引用内容。本文将以 SKILL.md 为核心骨架,结合仓库中bing_webmaster.py、indexnow_submit.py、url_safety.py等脚本的实现细节,为你讲清从安装、密钥配置、命令路由、IndexNow 校验到跨技能协作的完整闭环,让你能把 Bing 索引与 Copilot 引用纳入日常 SEO 工作流。

一、为什么需要seo-bing:非 Google 索引面与 Copilot 引用的入口

claude-seo的核心目标是“Google 之外也能被看见”。技能文档开篇即点明:

Google 至今仍拒绝 IndexNow(据 Gary Illyes 在 2024–2025 年多期 Search Off the Record 播客中的说明),所以本技能专门面向Bing/Yandex/Seznam/Naver 索引与Microsoft Copilot AI 引用(Copilot 的引用来自 Bing 索引)。

这意味着在 claude-seo 的体系中,seo-bing与以 sitemap 驱动、不支持 IndexNow 的seo-google是两套完全不同的索引模型(详见文档 Cross-skill delegation 一节),二者不能互相替代。整个技能由一个 SKILL.md 元信息头声明版本(当前为v2.2.0)与兼容性要求:

name: seo-bing description: Bing Webmaster Tools + IndexNow extension. Microsoft Copilot citations are fed by the Bing index; this skill makes Bing visibility, link data, and IndexNow URL submission first-class. metadata: version: "2.2.0" compatibility: "Requires BING_WEBMASTER_API_KEY and (optionally) INDEXNOW_KEY in ~/.claude/settings.json env. Run extensions/bing-webmaster/install.sh to configure."

二、安装与前置条件:两条安装脚本、三组密钥

2.1 安装方式

技能文档要求先安装扩展本身:

# Linux / macOS ./extensions/bing-webmaster/install.sh # Windows PowerShell .\extensions\bing-webmaster\install.ps1

安装脚本会检查 Python 3 是否可用、claude-seo 基础技能(~/.claude/skills/seo)是否已安装,然后把seo-bing/SKILL.md拷贝到~/.claude/skills/seo-bing/,最后把用户提供的密钥写入~/.claude/settings.json的env字段。从 install.sh 的源码可以看到三个交互式输入项,且任选其一即可:

输入项环境变量说明
Bing Webmaster Tools API keyBING_WEBMASTER_API_KEY必选其一,获取于 bing.com/webmasters 的 API 页面
IndexNow host keyINDEXNOW_KEY任意 32+ 字符随机串,需发布在站点的<key>.txt文件
IndexNow keyLocation URLINDEXNOW_KEY_LOCATION必须能公开访问到密钥文件,如https://example.com/<key>.txt

若只使用 IndexNow 提交(不查链接),Bing API key 可留空;反之亦然。脚本仅写入用户实际提供的变量,安装器本身不会联网,只做本地配置写入。

卸载同样简单:./extensions/bing-webmaster/uninstall.sh会删除~/.claude/skills/seo-bing目录,并清空settings.json中的三个环境变量。

2.2 从脚本视角看密钥读取

scripts/bing_webmaster.py通过backlinks_auth.py读取配置,其读取顺序是先配置文件后环境变量:

  • 配置文件:~/.config/claude-seo/backlinks-api.json(bing_api_key、bing_verified_sites)
  • 环境变量:BING_WEBMASTER_API_KEY

从 backlinks_auth.py 的load_config()实现可见,bing_api_key存在环境变量缺失时才回退到配置文件。--check bing命令可快速确认凭据是否就绪。若运行时未配置密钥,bing_webmaster.py会提示运行python scripts/backlinks_auth.py --setup。

三、命令路由:一个技能、四个命令、两个脚本

SKILL.md 用一张路由表把 Claude 的自然语言命令映射到底层脚本,这是整个技能的“操作面”:

命令底层脚本
/seo bing links <url>python3 scripts/bing_webmaster.py links <url>
/seo bing compare <urlA> <urlB>python3 scripts/bing_webmaster.py compare <urlA> <urlB>
/seo bing submit <url>(单条)python3 scripts/indexnow_submit.py --host ... --urls <url>
/seo bing submit-batch <file>python3 scripts/indexnow_submit.py --urls-file <file>
/seo bing verify-indexnowpython3 scripts/indexnow_submit.py --verify-only

对应地,bing_webmaster.py的 CLI 接受三个子命令:links(入站链接)、counts(总量)、compare(与竞品对比),并支持--page(分页,默认 0)与--json(结构化输出)参数。

四、Bing Webmaster API 客户端:links / counts / compare 三个数据能力

4.1 底层实现要点

scripts/bing_webmaster.py将 API 基础地址定义为https://ssl.bing.com/webmaster/api.svc/json,每个请求自动携带apikey参数,并内置两层保护:

  • 限速:_rate_limit()强制两次请求之间至少间隔 1 秒(REQUEST_DELAY = 1),避免触发 Bing 的速率限制;
  • 密钥脱敏:_redact_bing_api_key()会把请求异常文本中的 API key 替换为***REDACTED***,防止错误日志泄露凭据。

同时,该脚本对 HTTP 状态码做了语义化处理:401提示密钥无效、403提示站点未在 Bing Webmaster Tools 中验证、超时统一为 30 秒。

4.2 links:入站链接明细

get_link_details()调用GetLinkDetails端点,返回每个入站链接的source_url(来源页)、target_url(目标页)、anchor_text(锚文本)和date_discovered(发现日期),默认返回前 20 条并截断锚文本到 40 字符便于终端展示。

4.3 counts:总数快照

get_link_counts()组合调用GetUrlTrafficInfo与首页链接明细,返回total_links_sample(抽样链接数)。代码中明确备注:Bing 的链接数是抽样数据,若需要全量数据应改用 Moz API 或 DataForSEO(见bing_webmaster.py的 note 字段)。

4.4 compare:竞品外链缺口分析

compare_links()是 Bing 提供的免费且独特的能力:同时拉取自己和竞品的链接明细,按来源域名做集合运算,输出:

  • your_linking_domains/competitor_linking_domains:双方外链域名数
  • gap_domains:竞品有而自己没有的域名(可挖掘的目标)
  • shared_domains:共同域名
  • unique_to_you:自己独有的域名

每次对比最多展示 50 个域名,并带有一条重要的数据边界说明:“基于 Bing 索引抽样,Bing 索引约占互联网的 15%”。这意味着 gap 结果应作为线索而非结论,与seo-backlinks的多源加权结合使用更稳妥。

五、IndexNow URL 提交:一条 POST 覆盖四个搜索引擎

5.1 提交前必须完成的密钥发布检查清单

SETUP 文档给出的 IndexNow 配置流程是:

  1. 生成密钥:openssl rand -hex 32
  2. 把密钥保存为站点根目录下的<key>.txt文件,确保https://example.com/<key>.txt可访问,文件内容就是密钥本身
  3. 运行/seo bing verify-indexnow验证密钥是否发布正确——这是最容易犯错的第一个环节

5.2 verify-key:防患于未然的预检

indexnow_submit.py的verify_key_published()会实际抓取 keyLocation URL,并逐项核对:返回码是否为 200、正文是否与密钥完全一致、keyLocation 的主机是否与声明的主机匹配。任何一项不满足都会返回明确的错误原因(如keyLocation contents do not match key),并附带期望/实际的长度对比,便于快速排查。

5.3 批量提交的完整调用链

脚本支持两种 URL 来源:--urls(空格分隔多条)与--urls-file(每行一条、#开头视为注释)。提交核心submit()的验证链路非常严谨:

校验项限制
空列表拒绝提交
批量上限单批最多 10,000 条(IndexNow 规范上限)
密钥长度8–128 字符
跨主机提交的每条 URL 必须包含声明的 host,杜绝跨站提交滥用
SSRF每条 URL 都经validate_url_strict()校验,拒绝私有 IP

最终 POST 到统一入口https://api.indexnow.org/indexnow,一次请求同时覆盖 Bing、Yandex、Seznam、Naver 四个引擎(indexnow_submit.py返回结果中固定声明engines字段)。从 indexnow_submit.py 可见请求体为标准的host+key+keyLocation+urlListJSON 结构。

5.4 源码级安全设计:url_safety 的 SSRF 防护

值得展开的是 SSRF 校验的实现:indexnow_submit.py和bing_webmaster.py都依赖 url_safety.py。该模块在 URL 层面做了多层防御:

  • 解析期拒绝:非 http/https 协议、带用户信息(userinfo)、含反斜杠的 authority 一律拒绝;
  • 主机名归一化:小写、去除尾部点、把2130706433这类十进制/十六进制混淆 IP 通过socket.inet_aton还原为点分形式,堵住经典的 SSRF 绕过;
  • 硬屏蔽名单:覆盖 AWS/Azure/GCP/Oracle/阿里云的元数据端点(如metadata.google.internal、169.254.169.254);
  • 严格模式(DNS pinning):validate_url_strict()先解析所有 A 记录,任何一条解析到非公网 IP 即拒绝,并在请求期间把socket.getaddrinfo替换为固定 IP,防止 DNS 重绑定攻击。

测试用例 tests/test_technical_depth.py 中test_indexnow_rejects_*系列验证了空列表、密钥过短、跨主机 URL、超批上限、私有 IP 等拒绝路径,说明这些边界是经过单测保障的(测试仅做校验,不触发真实网络请求)。

六、适用场景与跨技能协作

技能文档明确列出了seo-bing的三类典型适用场景:

  1. 发布新页面并希望获得 Microsoft Copilot 引用资格(依赖 Bing 索引摄入);
  2. 加速 Bing/Yandex/Seznam/Naver 对新 URL 的收录;
  3. 竞品外链分析:Bing 记录了 Google API 不暴露的独特链接数据。

在 claude-seo 的技能编排中,seo-bing有明确的分工边界:

  • 针对 Google 索引,应使用seo-google indexing技能(sitemap 驱动、不支持 IndexNow,模型完全不同);
  • 针对多源外链置信度加权,可回退到seo-backlinks技能,它已整合 Bing + Moz + Common Crawl 三种数据源,并能通过 backlinks_auth.py 的--tier命令查看当前数据能力等级(Tier 0/1/2)。

七、Copilot 引用:为什么 IndexNow 值得做

SETUP 文档用一句话点明了业务价值:

Microsoft Copilot 从 Bing 索引获取引用。不在 Bing 中的页面就无法被引用。IndexNow 能在几分钟内把页面送进 Bing,而 Bing 的自然爬取可能耗时数天。对新内容上线来说,这是有意义的索引速度提升。

因此,claude-seo 将 IndexNow 提交设计为“一次提交、四引擎覆盖”的幂等操作:配合--verify-only预检和批量文件,你可以把发布流水线中的“通知引擎”环节自动化——这正是该扩展在生产中的核心用法。

八、实战速查:一条完整的上线流程

综合以上所有要素,一次典型的新页面发布 + 非 Google 可见性操作可以这样组织:

# 1. 配置密钥(首次) ./extensions/bing-webmaster/install.sh # 2. 生成并发布 IndexNow 密钥 openssl rand -hex 32 # 写入站点根目录 <key>.txt,内容为密钥本身 # 3. 验证密钥已正确发布 python3 scripts/indexnow_submit.py --host example.com \ --key $INDEXNOW_KEY --key-location $INDEXNOW_KEY_LOCATION --verify-only # 4. 提交新页面(单条或批量) python3 scripts/indexnow_submit.py --host example.com \ --urls https://example.com/new-post https://example.com/updated-page python3 scripts/indexnow_submit.py --host example.com --urls-file changed.txt # 5. 检查 Bing 入站链接与竞品缺口 python3 scripts/bing_webmaster.py links https://example.com --json python3 scripts/bing_webmaster.py compare https://example.com https://competitor.com --json # 6. 排查凭据 python3 scripts/backlinks_auth.py --check --json

结语

seo-bing扩展把 Bing Webmaster API 与 IndexNow 协议打包成一个可被 Claude Code 直接调用的技能:安装脚本负责密钥配置,路由表负责命令到脚本的映射,bing_webmaster.py提供链接明细、总量与竞品缺口三种数据能力,indexnow_submit.py提供带预检与 SSRF 防护的批量提交,而url_safety.py在底层为所有网络请求兜底。它解决的不是“替代 Google SEO”,而是补上搜索引擎生态中常被忽略的非 Google 一侧——尤其是 Microsoft Copilot 引用的入口。若需进一步了解数据边界与多源权重策略,可继续阅读 seo-backlinks 技能与 backlinks_auth.py 的 Tier 说明。

【免费下载链接】claude-seoUniversal SEO skill for Claude Code. 26 sub-skills + 19 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, agent readiness (Lighthouse Agentic Browsing, WebMCP, llms.txt), backlinks, local SEO, e-commerce, international SEO, Google APIs, and PDF/Excel reporting. 9 optional extensions for live SEO data.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-seo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/26 9:46:22

【GATT】规范精讲[5]: 知道句柄就开口要——特征值五种读法与描述符回读全流程

发现流程走完,属性表的地图已经在客户端内存里铺开了:哪个服务占哪段句柄、每个特征的声明句柄和值句柄分别是多少、后面挂着哪些描述符。但地图不等于货物。真正要拿到温度、电量、设备名这些业务数据,客户端还得主动开口向服务器要——这就是读(Read)类过程要解决的问题…

作者头像 李华
网站建设 2026/10/26 9:44:22

【Windows 常用工具系列 15 -- VMWARE ubuntu 安装教程】

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/26 9:43:40

SPI与I2C总线解析:从原理到调试实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/26 9:43:09

IGBT失效分析实战:过压、短路与栅极驱动故障全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/26 9:42:48

东莞PLC自动化编程培训:从零基础到能改程序,实操基地怎么选

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华