2026/10/26 1:23:24

claude-seo 接入 Bing Webmaster Tools 与 IndexNow:非 Google 索引加速与 AI 引用的完整实践指南

claude-seo 接入 Bing Webmaster Tools 与 IndexNow:非 Google 索引加速与 AI 引用的完整实践指南 claude-seo 接入 Bing Webmaster Tools 与 IndexNow非 Google 索引加速与 AI 引用的完整实践指南【免费下载链接】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-seoclaude-seo 的 Bing Webmaster IndexNow 扩展为 Claude Code 补齐了 Google 之外的索引与可见性能力一方面通过scripts/bing_webmaster.py免费读取 Bing Webmaster Tools API 的入站链接、抓取统计、搜索关键词与竞品链接对比数据另一方面通过scripts/indexnow_submit.py一次 POST 向 Bing、Yandex、Seznam、Naver 四家引擎提交新 URL并以/seo bing命令统一路由到正确的脚本。读完本文你将掌握扩展的安装与卸载、IndexNow 密钥发布与校验、Bing API 三大命令links / counts / compare的用法与参数以及背后脚本的调用链、限流与安全防护实现。一、扩展能做什么这个扩展将三条能力整合进 claude-seo 的seo-bingskill 中Bing Webmaster Tools API 数据通过 scripts/bing_webmaster.py 查询入站链接inbound links、抓取统计crawl stats、搜索关键词search keywords以及 Google 免费工具不提供的竞品链接对比competitor link comparison。该脚本随 claude-seo 主仓库一起发布扩展安装前即可直接使用前提是配置好 API key。IndexNow URL 提交通过 scripts/indexnow_submit.py 向 Bing、Yandex、Seznam、Naver 四家引擎提交 URL。IndexNow 采用伞形端点umbrella endpoint单次 POST 即可同时触达全部四家引擎。统一的seo-bingskill 路由skill 负责判断场景并把正确的命令路由到正确的脚本避免用户在长参数命令上出错。从架构定位看这个扩展是 claude-seo 的“非 Google 索引面”。skills/seo-bing/SKILL.md 明确说明Google 至今仍然拒绝 IndexNow 协议Gary Illyes 在多个 Search Off The Record 播客中多次确认因此该 skill 专门服务于 Bing/Yandex/Seznam/Naver 的索引以及 Microsoft Copilot 的 AI 引用Copilot 引用数据来自 Bing 索引。二、安装与配置安装前请先确认 claude-seo 基础安装已完成install.sh会检查~/.claude/skills/seo目录存在然后运行扩展安装器# Linux / macOS ./extensions/bing-webmaster/install.sh # Windows PowerShell .\extensions\bing-webmaster\install.ps1安装器会交互式地依次询问三个值提示项说明可否留空Bing Webmaster Tools API key在 Bing Webmaster 后台的 API access 页面生成可只使用 IndexNow 时留空IndexNow host key任意 32 字符的随机字符串可只使用 Bing API 时留空IndexNow keyLocation URL必须能在该 URL 上以文件形式提供密钥文件可两组凭据互相独立只想要其中一种能力时另一组直接留空即可。安装器只写入你实际提供的环境变量不会凭空写入空值。从 install.sh 的源码可以看到三组值分别写入~/.claude/settings.json的env段中的BING_WEBMASTER_API_KEY、INDEXNOW_KEY、INDEXNOW_KEY_LOCATION写入采用临时文件加原子替换os.replace的方式并设置0o600文件权限避免出现半写入的损坏 JSON。安装完成后可以用下面的命令先验证 IndexNow 密钥是否已正确发布详细流程见下一节python scripts/indexnow_submit.py --host example.com \ --key $INDEXNOW_KEY --key-location $INDEXNOW_KEY_LOCATION --verify-only三、IndexNow 密钥发布清单最常见的首个坑IndexNow 的 host 所有权验证与 Google Search Console 的验证思路不同IndexNow 会实际抓取一次你的密钥 URL来证明你对域名的控制权。因此密钥文件的发布位置与内容必须完全正确这也是新手最容易出错的地方。生成密钥使用openssl rand -hex 32生成一个 64 字符的十六进制随机串。注意 scripts/indexnow_submit.py 中实现了 IndexNow 规范的校验密钥长度必须为8128 个字符过短或过长都会被直接拒绝。发布密钥文件将密钥保存为站点根目录下的key.txt文件即文件路径与文件名都是密钥本身例如密钥为abcd1234…则文件应位于https://example.com/abcd1234…txt文件正文就是密钥字符串本身不带换行之外的任何多余内容。运行校验命令/seo bing verify-indexnow这条命令实际调用python3 scripts/indexnow_submit.py --verify-only。校验器会通过safe_requests_get抓取你的 keyLocation URL15 秒超时然后比对响应正文与密钥是否一致并额外检查 keyLocation 的 host 是否与声明的 host 匹配防止把密钥文件发布到别的域名上。在校验器内部verify_key_published任何一类问题都会明确失败并给出原因URL 被url_safety拦截、抓取失败、返回非 200、正文与密钥不匹配、host 不匹配。正文与密钥不匹配正是 #1 onboarding mistake——通常是因为粘贴了多余空格、换行或者把密钥文件发布成了 HTML 页面。四、Microsoft Copilot 引用的相关性Microsoft Copilot 的引用citations数据来自 Bing 索引不在 Bing 索引中的页面无法被 Copilot 引用。而 IndexNow 可以让新页面在几分钟内进入 Bing 索引相比之下 Bing 的有机抓取organic crawl可能要花数天。对于新内容发布new content launches这是非常可观的索引提速收益。这也是 skills/seo-bing/SKILL.md 中“何时使用本 skill”的核心场景之一用户发布新页面并希望尽快获得 Microsoft Copilot 引用资格即尽快进入 Bing 索引用户想推动 Bing/Yandex/Seznam/Naver 对新 URL 的收录用户在做竞品外链分析需要 Bing 独有的链接数据Bing 收录了 Google API 不展示的链接。五、Bing Webmaster API 的三种用法scripts/bing_webmaster.py 提供三个子命令全部通过BING_WEBMASTER_API_KEY认证key 通过apikey查询参数附加在请求中API 基址为https://ssl.bing.com/webmaster/api.svc/json。links —— 入站链接明细python scripts/bing_webmaster.py links https://example.com --json python scripts/bing_webmaster.py links https://example.com --page 2 --jsonurl目标站点 URL可带或不带https://前缀脚本会通过_normalize_site_url自动补齐并对裸域名强制加上结尾斜杠Bing API 期望https://example.com/这种格式。--page分页参数默认 0从 0 开始计数。--json以 JSON 输出便于 Agent 解析。内部调用GetLinkDetails端点返回每条链接的SourceUrl来源页、TargetUrl目标页、AnchorText锚文本、DateDiscovered发现日期。人类可读模式会打印前 20 条锚文本截断到 40 字符。counts —— 链接总数与抓取统计python scripts/bing_webmaster.py counts https://example.com --json内部同时调用GetUrlTrafficInfo端点与GetLinkDetails第 0 页前者返回抓取/流量统计信息后者提供当前样本页的链接数。结果中包含一行重要的说明性字段链接计数来自 Bing 索引的采样total_links_sample若要全面数据应配合 Moz API 或 DataForSEO 扩展见 extensions/dataforseo。compare —— 竞品外链对比Bing 的免费独有功能python scripts/bing_webmaster.py compare https://example.com https://competitor.com --json这是 Bing Webmaster API 相比其他免费工具的独特能力。脚本分别拉取两个站点的链接明细然后做集合运算gap_domains竞品有、你没有的来源域名最优先的挖取目标最多展示前 50 个shared_domains双方共有的来源域名前 50 个unique_to_you你有、竞品没有的域名前 50 个同时输出gap_count、shared_count、unique_count三个计数。对比结果同样基于 Bing 索引样本脚本在note字段中如实标注了这一局限性。统一的 CLI 安全与健壮性保障从源码结构可以总结出几个值得注意的实现细节均在 scripts/bing_webmaster.py 中限流_rate_limit()强制任意两次请求之间至少间隔 1 秒REQUEST_DELAY 1避免触发 Bing API 的速率限制密钥脱敏_redact_bing_api_key()在异常文本中把 API key 替换为***REDACTED***同时用正则抹掉 URL 中可能残留的apikey...片段防止 key 泄漏到日志或错误输出SSRF 防护所有 URL 在发送前都会经过validate_url来自 scripts/google_auth.py 包装的 scripts/url_safety.py私有 IP、回环地址等非法目标会被直接拒绝站点验证提示如果目标域名不在配置的bing_verified_sites列表中脚本会打印警告提示 API 可能返回受限数据状态码语义化401 提示 API key 无效403 提示站点未在 Bing Webmaster 中验证超时30 秒与网络异常都被包装成统一结构的错误返回。六、IndexNow 提交的两种模式与校验流程scripts/indexnow_submit.py 的完整用法# 直接传入 URL 列表 python scripts/indexnow_submit.py \ --host example.com \ --key abcd1234… \ --key-location https://example.com/abcd1234…txt \ --urls https://example.com/new-post https://example.com/updated-page # 从文件读取 URL每行一个以 # 开头的行会被忽略 python scripts/indexnow_submit.py \ --host example.com --key abcd1234… --key-location https://… \ --urls-file changed.txt--host不带协议如example.com--key与--key-location均可通过环境变量INDEXNOW_KEY与INDEXNOW_KEY_LOCATION提供。另有--verify-only只做密钥发布校验不提交--json输出机器可读结果。提交前的层层校验有测试用例佐证submit()函数在真正发起 POST 之前会做一系列防御性检查这些检查在 tests/test_technical_depth.py 中有完整的测试覆盖校验项失败条件对应测试空 URL 列表urlList为空test_indexnow_rejects_empty_url_list密钥长度key 不在 8128 字符区间test_indexnow_rejects_key_too_short跨 host URLURL 中不包含声明的 hosttest_indexnow_rejects_cross_host_urls批次上限超过 10000 条IndexNow 规范上限test_indexnow_rejects_batch_above_spec_cap私有 IPURL 被url_safety的严格校验拒绝test_indexnow_rejects_private_ip_in_url_listPOST 目标是伞形端点https://api.indexnow.org/indexnowpayload 结构为{host, key, keyLocation, urlList}。返回结果中ok在 HTTP 200 或 202 时为真并附带submitted数量、端点地址、四家引擎列表Bing、Yandex、Seznam、Naver以及响应正文预览。密钥预检pre-flight实际提交前脚本会先执行verify_key_published预检若密钥文件不可达或正文不一致直接中止并输出Pre-flight failed避免整批 URL 因密钥问题被静默拒绝。这条链路与/seo bing verify-indexnow走的是同一个函数只是--verify-only模式不会进入提交阶段。七、skill 路由表一条命令直达正确脚本extensions/bing-webmaster/skills/seo-bing/SKILL.md 定义了命令到脚本的映射/seo bing命令底层脚本/seo bing links urlpython3 scripts/bing_webmaster.py links url/seo bing compare urlA urlBpython3 scripts/bing_webmaster.py compare urlA urlB/seo bing submit url单 URLpython3 scripts/indexnow_submit.py --host ... --urls url/seo bing submit-batch filepython3 scripts/indexnow_submit.py --urls-file file/seo bing verify-indexnowpython3 scripts/indexnow_submit.py --verify-onlyskill 还明确了跨 skill 的协作边界Google 索引走完全不同的模型sitemap 驱动、不支持 IndexNow应使用seo-google indexing见 skills/seo-google需要多来源外链置信度加权时seo-backlinksskill 已经整合了 Bing Moz Common Crawl见 skills/seo-backlinksBing 数据在其中承担“免费竞品对比”这一独特角色。八、凭据管理backlinks_auth 与配置分层Bing API key 的统一入口在 scripts/backlinks_auth.py它同时管理 Moz、Bing、Common Crawl 三套凭据配置文件路径~/.config/claude-seo/backlinks-api.json支持bing_api_key与bing_verified_sites字段环境变量回退BING_WEBMASTER_API_KEY即安装器写入 settings.json 的那个变量常用检查命令python scripts/backlinks_auth.py --check # 检查全部服务凭据 python scripts/backlinks_auth.py --check bing # 仅检查 Bing python scripts/backlinks_auth.py --tier # 显示当前凭据层级凭据层级tier模型只有 Common Crawl 与本地验证爬虫为 Tier 0加上 Moz key 为 Tier 1Moz Bing 同时配置即进入 Tier 2 “Full Free”解锁“Bing 入站链接已验证站点”和“Bing 竞品对比”两项能力。需要注意的是--check只验证配置是否存在不做线上权限验证真正的访问权限要靠实际跑一次bing_webmaster.py查询来验证。另外bing_webmaster.py的模块级导入要求scripts/下存在 scripts/backlinks_auth.py 与 scripts/google_auth.py而后者硬性依赖 scripts/url_safety.py缺失时会直接拒绝运行而非降级这一设计保证了所有出站请求都经过 SSRF 防护。九、卸载./extensions/bing-webmaster/uninstall.sh从 uninstall.sh 的源码看卸载器会做两件事删除~/.claude/skills/seo-bing目录并从~/.claude/settings.json的env中移除BING_WEBMASTER_API_KEY、INDEXNOW_KEY、INDEXNOW_KEY_LOCATION三个变量同样通过临时文件 原子替换写入。如果希望保留 skill 仅清除凭据也可以手动编辑 settings.json。十、适用前提与限制Bing API 仅限已验证站点链接查询只对你在 Bing Webmaster Tools 中验证过的站点返回完整数据竞品对比除外未验证域名会触发警告并可能返回受限数据IndexNow 不含 GoogleGoogle 不支持 IndexNow 协议本文所有索引提速手段都只作用于 Bing/Yandex/Seznam/Naver 四家Google 侧应走 skills/seo-google 的 sitemap 提交与 Indexing API 路线链接计数为采样数据Bing 返回的链接数量来自其索引样本追求全面数据时建议叠加 Moz APIscripts/moz_api.py或 DataForSEO 扩展密钥文件必须公开可达keyLocation URL 需要能被 IndexNow 抓取内网、私有 IP 或带鉴权的 URL 都无法通过verify-key校验url_safety也会直接拦截这类目标。【免费下载链接】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),仅供参考