mcpField
B
backlink

backlink

github.com/yan-labs营销与增长227111 次安装4 天前更新
代码仓库

关于 backlink

backlink 是面向外链完整生命周期的业务 Skill,供处理外链研究、评估与发布的工作流使用。它将数据文件、脚本和操作参考集中管理,并涵盖竞品发现、质量判断及浏览器数据采集。

主要功能

  1. 01外链目标查询与筛选
  2. 02竞品外链发现与线索管理
  3. 03外链质量与毒性评估
  4. 04使用 Similarweb 与 Semrush 查数
  5. 05通过浏览器采集无 API 报表

适用场景

  1. 01筛选可提交外链的网站
  2. 02发掘竞品外链与潜在机会
  3. 03评估外链质量及是否拒绝
  4. 04从登录后的 SaaS 后台提取报表

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yan-labs/yan-skills --skill backlink

安装后在 Claude Code 中输入/backlink确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CONTRIBUTING.md
agents/
openai.yaml
data/
free-channels.json
index-submission.json
network-fingerprints.json
paid-platforms.json
data/schema/
free-channels.schema.json
index-submission.schema.json
submission-targets.schema.json
evals/
evals.json
evidence/
screenshot-chain-VERDICTS.md
references/
acquisition-doctrine.md
analysis-templates.md
authorized-data-sources.md
backlinkdirs.md
batch-campaign.md
browser-runtime-detail.md
browser-runtime.md
credits.md
data-source-operations.md
directory-run-playbook.md
discovery-loop.md
field-notes.md
harvest.md
index-submission.md
instant-publish.md
intent-routing.md
known-forms.md
LICENSE-analysis-templates-Apache-2.0
link-quality-rubric.md

详细介绍

上面的前置内容保留为 YAML,因为 Skill 加载器会读取它以进行发现。以下内容都是 XML,因为此 Skill 主要由规则和路由组成,而容易被扫读忽略的规则就会遭到违反。带标签的区块能让“我刚才违反了哪条规则”有据可查。 一个业务 Skill,涵盖完整的外链生命周期。不要再把它拆开,也不要创建另一个浏览器扩展 Skill——OpenCLI 及其 Chrome 扩展是此 Skill 底层的连接器,绝不是独立的业务工作流。

两个旧 Skill 于 2026-08-16 合并到此处并删除:backlink-analyzer(分析模板、毒性评估标准、外联——现已放入三个保留原 Apache-2.0 许可证的参考文件中)和 browser-harvest(从已登录的仪表板提取表格——现已放入 )。数据采集知识适用于多种场景:广告平台、电商后台,以及任何没有 API 的 SaaS 报表。如果采集任务与链接无关,也要加载此 Skill,并阅读那个参考文件。

这里包含两类内容,它们回答的问题各不相同。**数据文件是资产;参考文件介绍如何使用这些数据,以及如何避免被数据误导。** — 数据文件、脚本命令和参考文件索引;查找工具时阅读。 此文件及其参考文件中的所有路径,均相对于此 SKILL.md 解析。 选择最接近的条目。更多用户表达方式和具体平台页面,请阅读 。
需求起始操作
去哪发、批量提交node scripts/targets-select.mjs --stats; ; 100+ 个目标:
免费免注册、即时发布data/free-channels.json (account:none, status:live);
竞品外链、新机会 和 Semrush 平台手册;将潜在机会写回注册表
质量、毒性、是否要 disavow 和 data/network-fingerprints.json
是否已发布;检查准确的公开锚文本和 rel
索引提交;它不会发布外链
Semrush/Similarweb 报表、流量;平台手册位于 ../platforms/
没有 API 的后台表格

查询数据库,不要根据示例猜测:

使用 OpenCLI 操作所有者已授权的 Chrome。进行浏览器操作前运行 `node scripts/health.mjs`;阅读 。完整的测量结果、失败案例和命令见 。Semrush/Similarweb 路由的日期相关发现见 。 一个描述性会话名称对应一个标签页;并行页面使用不同会话,并在使用后关闭各自的标签页。 整个数据采集期间都要持有共享的数据面板工具锁;使用现有启动器及其会话。 不要使用 `tab new`、`tab select` 或 `open --tab` 在同一个会话名称下打开多个页面;请使用不同会话。 绝不要使用共享的字面默认会话名称;使用 `defaultSession(base)` 或明确、具有描述性且唯一的名称。 启动并行浏览器循环前,先获取所有需要的会话句柄。 常规页面操作使用 dedicated:在条件允许时,于辅助显示器上的独立非焦点窗口中操作。与人交互时,必须明确指定选项以启用前台操作。配额报告路由保留脚本现有的虚拟显示器/活动策略。 报告隐藏且为空,并不能说明报告内容为空。应检查实际可见状态和包含数值的区域;在判定为空之前,遵循该路由特定的就绪规则。 将报告与请求的路由、目标、范围和内容绑定后,再判定数值。页眉、骨架屏或上一个目标的数字都不能证明报告已就绪。 对于不熟悉的报告路由,使用 `scripts/ground-truth.mjs`:将深度 DOM 盘点与截图配对;由脚本采集,AI 进行判断。 共享配额工具一次只能由一个采集器使用;整个任务期间保持同一会话,并在批量操作前规划配额。 在证据场景支持结论之前,将机器分类和空状态视为建议。 **当用户说「数据面板」「数据勘测」「查一下数据」「用 Similarweb 看看」「Semrush 拉一下」, 指的都是同一件事:走那个共享账号的代理面板,用 Similarweb 或 Semrush 查。** 这两个产品是这里唯一的第三方数据源,没有别的候选,不需要反问用户指的是哪个平台。 分工固定,按问题类型选,一次只开一个:
问题用哪个拿得到什么
这个站多大、流量从哪来、还有哪些同类站Similarweb总访问量(含直接/推荐)、渠道构成、相似站、地理分布
这个词多少量、多难、谁在排、它的外链长什么样Semrush分国家搜索量与 KD、关键词全库导出、自然排名、主要页面、引荐域名与反链

两边的「流量」口径不同,对不上很正常。 Semrush 域名概览给的是自然搜索流量估算, Similarweb 给的是总访问量。同一个站两边差三倍以上是常态,写结论时必须标明口径, 否则会得出「竞品比想象中弱」这种错误判断。绝不放进同一列。 使用 node scripts/tools-share-open.mjs --tool semrush 或 --tool similarweb;同一任务中重复使用同一会话,并检查打开后的路由、目标和配额。Semrush 的自然流量估算与 Similarweb 的总访问量分母不同。数据面板启动、节点配额和 Semrush 概览标准见:。工具账号和数据源详情见:。

临时查看也属于脚本化工作。使用 OpenCLI,让查看过程可以重放。 的要求,根据正在查看的内容命名: # 名称即使唯一却毫无意义,也无法回答「这个标签页属于谁」。 # 此处不要使用 $$ —— 在 Claude Code 的 Bash 工具中,它每次调用都会变化。 S="explore-pricing" opencli browser "$S" open "https://example.com/pricing" opencli browser "$S" get url # 确认已打开目标页面 opencli browser "$S" extract opencli browser "$S" close opencli browser "$S" tab list # 预期结果为 [] ]]> 对于需要提取价格和付费墙信号的公开页面: node scripts/page-read.mjs --url https://example.com/pricing --out .backlink/pricing.json `page-read.mjs` 只读取内容;它绝不会填写或提交。对于这些网站所采用的 SPA,`curl | grep` 会返回空结果。其 `paywallSignals` 是带上下文的匹配文本片段,并与证据目录中的截图配对——是否为一次性付费或订阅由你根据这些信息判断;脚本不再输出判定布尔值。 如果你发现自己重复运行相同的探索流程,这就是应该为其编写脚本的信号。`scripts/` 中的每个脚本都是这样开始的。 递归发现:以竞争对手为种子 → 从获授权的 Semrush/Ahrefs 导出文件或已登录的浏览器中获取其反向链接行 → 对来源 URL 分类(编辑内容、资源、目录、个人资料、评论、登录墙、付费、CAPTCHA、已拒绝)→ 从真实文章页面收集评论者的域名 → 将这些域名重新加入队列 → 重复上述流程,直至达到设定的深度。根据主题契合度、页面质量、审核情况、公开可见性和引荐潜力进行排序。低质量评论的数量仅作为辅助指标,绝非目标。

批量导入:直接输入获授权的引荐域名导出文件。

边的类型为 refdomain —— 不要将这些数据交给 import-commenters 处理,

否则会记录一个实际并未观察到的评论者关系。

node scripts/discovery-queue.mjs import-refdomains --file .backlink/discovery.json
--source competitor.com --input .backlink/competitor-refdomains.csv

node scripts/harvest-commenters.mjs --session "discovery-commenters" --url https://example.com/article --out .backlink/commenters.json node scripts/discovery-queue.mjs import-commenters --file .backlink/discovery.json --input .backlink/commenters.json node scripts/discovery-queue.mjs next --file .backlink/discovery.json --limit 10 ]]> 另一条非递归路径:使用搜索运算符足迹,而非竞争对手的反向链接行。设置了 SERPER_API_KEY 时,footprint-discover.mjs 会优先使用 Serper.dev 的 API(通过 HTTP 获取真实的 Google SERP,无需浏览器,也不会遇到 CAPTCHA)——其免费套餐将运算符查询限制为 10 条结果。未设置密钥时,则会退回使用所有者本人已登录的 Chrome,通过 OpenCLI 操作;会话在大约 4 次运算符查询后会遇到 CAPTCHA /“异常流量”拦截页,而被标记的出口 IP 即使换用全新且独立的配置文件,也会遭到封锁(2026-09-12 agent-browser 发现)。无论采用哪种方式,通用搜索 API 和 Bing/DuckDuckGo 仍不会执行 inurl:/intitle: 运算符。运行实际扫描前,请参阅 references/discovery-loop.md § “Footprint discovery”中的有效/嘈杂足迹表和 CAPTCHA 政策。 <![CDATA[ node scripts/health.mjs # 打开浏览器前确认 opencli 可用 node scripts/footprint-discover.mjs --keyword "browser games" --preset submit
--num 20 --out .backlink/footprint-browser-games.jsonl

逐步写入 JSONL;遇到任何 CAPTCHA 信号时停止,并在

.backlink/footprint-browser-games.jsonl.evidence/ 下留存现场。

# --resume 可在稍后恢复已停止的运行,而无需重新运行已完成的查询。 ]]> 域名概览只有一个页面;`semrush-report.mjs` 涵盖其他八个页面,这些页面没有导出按钮,也是实际进行竞争对手调研的地方。这八个页面中有五个(organic-overview/organic-positions/organic-pages/keyword-magic/ keyword-overview)没有全球选项;如果不使用 `--db`,就会进入一个不可预测的国家/地区——请显式传入该参数,否则脚本会报错退出;另外三个(backlinks-list/referring-domains/backlinks-overview)不按国家/地区划分。**整个调研过程都传入相同的 `--session`**——启动面板需要 20–40 秒并且需要登录,报告本身约需 15 秒;如果会话已停留在工具源站,`semrush-report.mjs` 会跳过启动(`sessionReused: true` 会说明是否跳过)。 这是唯一一个会话可以合法处理多个*报告*的地方——它仍然是一次只打开一个页面,并按顺序导航,这正是 允许的做法。同时打开它们则需要 N 个会话名称。 这些指标有助于发现并确定候选项的优先级。它们无法证明某条反向链接是公开的、已编入索引、可跟踪的,或确实带来了流量。导致报告悄无声息地返回零值的解析陷阱,已记录在 中——在编写任何新的读取器之前,请先阅读,尤其要注意:就绪判定必须以**数据行**为依据,绝不能以标签页名称、列标题或筛选标签为依据。

然后用解析器检查解析结果。 页面已就绪和解析正确是两回事,而后者出错时不会有任何提示。一次线上运行低报了所触及的全部五个域名的数据——最严重的少了 93 行中的 91 行,而看起来最正常的也少了 49 行——整个过程没有任何错误,最后还得出了错误的书面结论。

检查分为两项比对,混为一谈会导致误报:

统计 `rawText` 中符合记录格式的行数,并与 `parsed.rows.length` 比较。 如果这里有差距,说明**正则表达式存在盲点**——行已经传过来了,却被你丢弃了。这是悄无声息、最危险的问题。修复解析器。 Semrush 会显示自己的总数(`自然搜索排名: N`)。如果这个数字超过了 `rawText` 实际包含的行数,说明这些行**根本没有传到你这里**:这些表格使用虚拟滚动,每次只加载一部分,因此要完整获取就需要导出,而导出会消耗配额。这是已知上限,不是 Bug——应如实说明,而不是说“已修复解析器”。

一次线上重新运行同时展示了这两种情况:三个域名的结果与其标题计数完全一致(14/14、22/22、5/5),而另一个域名读取到 91 行,但标题声称有 430 行。前三个结果证明了解析器正确;第四个属于第 2 级问题,无需修复。

合格标准是真实流量(每月访问量 `>= 100`),而不是 DR,且必须在填写表单之前执行。分工是固定的:**脚本收集证据,AI 阅读证据并作出判断,人可以重新核查两者。** 批处理脚本会输出测量到的原始值、解析状态、原始文本摘录、`<out>.jsonl.evidence/` 中的截图,以及 `stopReason`——绝不会给出通过/不通过的判定。`apply-traffic-screen` 会将数字和证据路径复制到表格中;阈值则由 `targets-select` 在查询时计算。 **null 值不代表流量低——它表示未测量或采集失败,严禁将其当作结论。** `stopReason` 会说明原因: `stable`/`empty-state` 表示采集已完成(而 `empty-state` 表示数据源本身输出了无数据提示——这是否意味着“小到无法测量”,由 AI 根据截图和原始文本判断); `unstable`/`timeout`/`exception` 表示*本次检查尚未完成*——恢复操作会重试这些项目,而应用此类行会清除同一数据源的过时测量结果,不会写入新结果。没有数字的行不会被归入“未达标”类别:`targets-select --min-traffic` 会将它们单独列出,`--unmeasured` 会将它们加入队列。 测量一个域名只需一次查询;填写其表单的成本要高出两个数量级。一次运行填写了一个包含 73 个域名的组中的所有表单,之后才抽取 5 个测量流量——所有已填写的表单最终都被丢弃了。 逐个检查每个目标。切勿根据同类网站推断表单。 `inspect-page.mjs` 会输出**完整的表单清单**——包括每个表单、每个字段(可见和隐藏),以及它们的语义元组和稳定标记——并在证据目录中生成一组 captureScene 证据(穿透式清单 + 截图)。其中的 `fillable` / `blocker` / `reason` / `selectedForm` 字段只是**启发式建议**(请参阅输出中的 `suggested` 说明),不是判定结果:AI 会根据清单和截图判断“能否填写此页面,以及有哪些阻碍”,并可推翻建议。机械安全填表规则仍会强制执行:只有存在一个明确无歧义且符合条件的表单时才会继续。只有在所有者明确接受由真人正常完成 CAPTCHA 时,才能暂存 CAPTCHA 页面;绝不可通过外部 CAPTCHA 服务绕过或破解 CAPTCHA。 模式为 `comment`、`directory` 或 `auto`。证据保存在 `.backlink/scan.json.evidence/` 中(可用 `--evidence-dir` 覆盖)。 创建一份经过审核且值真实准确的 JSON 载荷。对于 comment 模式, `description` 是评论正文。 它会重新验证 URL、表单身份、字段语义、登录状态和 CAPTCHA 状态,安装提交保护,并且绝不会提交。由真人检查渲染后的页面并完成最终提交。只有在用户明确授权执行一项经过审核的特定提交后,Agent 才能运行 `release-submit-guard.mjs`——解除保护仍不会点击 Submit。 如果所有者已明确接受正常完成 CAPTCHA,请添加 `--allow-captcha`;这只允许在保护状态下填写,不会处理 CAPTCHA 或执行最终提交。CAPTCHA 路由始终只能交由真人处理。填写好的表单明显已准备好供所有者完成后,只用 `release-submit-guard.mjs --human-handoff` 解除保护,然后停止。即使已有批量授权,Agent 也不得破解挑战或点击 Submit。 Lane B 会将表单留在屏幕上,供所有者完成。**每个暂存网站使用一个会话名称**——一个会话只管理一个标签页,因此重复使用同一会话会覆盖之前暂存的表单,但报告仍会显示 N 个已暂存。`adapter-phpld.mjs` 提供了参考实现。 分析引荐域的质量和主题相关性;可疑网络、全站链接和有害模式;锚文本和目标页面的多样性; **在有观测数据时**,follow/nofollow/UGC/sponsored 的分布;竞争对手的差距和优先级较高的下一步机会。 — 评分、有害性、拒绝链接。 — 报告格式。 — 框架;每条消息的发送都需要用户明确批准。 这些模板假设你已经拥有数据,不会获取数据。**仅根据模板编写、却没有任何观测数据支撑的报告,属于捏造。**除非用户另行要求,否则不要拒绝链接、联系网站所有者或更改生产网站。第三方权威性和流量估算仅供参考,且会随时间变化。 在编写任何抓取循环之前,先阅读 。它记录了一些会产生**看似合理、实际悄无声息地出错的输出**的故障:并非 `<table>` 的虚拟滚动表格会在不报错的情况下丢弃行;过长的 URL 会导致整行消失;执行通道超时看起来像是失败,但页面循环仍在运行;Chrome 的密集节流会把四秒的循环拖长到二十五分钟。 `scripts/harvest.browser.js` 是页面内的收集器。它的输出通过 Blob 下载传回,而不是作为返回值,因为执行通道会在大约 1 KB 处截断。

只有在需要将整个表格保存为文件时才使用它。 阅读报告时——例如“此页面说了什么”“这里到底有没有数据”——请改用 :它就是 所指的收集器,而 harvest.browser.js 只有一个见证(DOM),没有清单,也没有截图可供核对。使用 harvest.browser.js 时,请自行截取屏幕截图。

候选 → 已审核 → 已起草 → 已填写 → 已提交 → 已公开 → 已索引 → 已验证关联

查看每个项目的进度:已提交多少,还有多少待处理?

node scripts/ledger.mjs stats --file .backlink/ledger.json node scripts/ledger.mjs remaining --file .backlink/ledger.json --min-traffic 100 node scripts/ledger.mjs remaining --file .backlink/ledger.json --cohort open --free-only

选择下一批目标——默认读取 .backlink/ledger.json(相对于

cwd),无需指定标志即可排除已提交或更晚状态的目标以及已拒绝的域名

node scripts/targets-select.mjs --cohort open --min-traffic 100 ]]> submitted、public、indexed 和 rel_verified 均需要证据备注。切勿根据已填写的表单、待处理通知或历史假设提升记录状态。indexed 必须注明搜索引擎——indexed@google、indexed@brave。不注明搜索引擎的“已索引”是根据一个爬虫的判断,对整个网络作出的断言。 禁止使用基于坐标的“模拟真人”点击。 禁止绕过 CAPTCHA、Turnstile、登录、付费墙、配额或账户范围限制。 绝不能把“尚未测量”视为“符合条件”。流量门槛只有在将未测量的行排除在批次之外,而非放行时才有效。 --min-traffic 会按设计剔除这些行;--unmeasured 会将它们列为下一轮筛选队列,而不是批次。 门槛指标必须通过已知劣质域名验证,而不是通过知名域名验证。 链接网络能为自身制造的任何信号——DR、人气排名、索引规模——都会让链接农场过关。Tranco 的前 100 万名恰恰因此失效:73 个已确认的链接农场域名中,有 48 个位于其中,排名从第 134,000 名到第 998,000 名。 不得写泛泛的赞美、虚假身份、捏造的指标,或与所处文章无关的评论正文。绝不能编造产品事实来填充字段——创始人、定价、地址、发布日期、用户数、所有权、法律信息、联系方式。未知的可选字段留空;必填字段未知时,停止处理该行。 托管网站的话题不同也没关系。相关性和 DR 只用于排序候选项,绝不用于设门槛;nofollow 是需要记录的观察结果,不是跳过的理由。因质量问题拒绝任何目标前,请先阅读 。 禁止链接农场、垃圾内容生成器、成人内容/恶意软件网站、隐藏的互惠链接、临时资格页面或伪装。一个地方出现两种相同的馈赠——同一网站脚本用于数十个域名,以及逐字重复的推广句子——就意味着它们属于同一个运营者。向其 N 个域名提交,得到的链接价值只相当于一个链接,却会留下 N 倍的足迹。 不得将提交记录为反向链接。这包括向搜索引擎提交 URL:那是索引提交渠道,不会发布任何链接,应记录在 data/index-submission.json,而非投放台账中。 除非已针对确切 URL 进行观察,否则不得记录 follow、nofollow、ugc、sponsored 或 indexed。点击、完成注册、保存草稿、自动清空的表单或通用的感谢页面 URL,都不是提交证据——它们记录的是你做了什么,台账记录的则是网站做了什么。 不得自动重新提交未确认的目标。绝不能重试结果不明确的最终操作——即已点击提交,但未观察到结果的操作。依次检查账户后台、邮箱,然后检查公开页面。这种状态是 outcome-unknown,并不代表失败。 选择任何批次之前,先阅读项目自己的 .backlink/ledger.json。已处于 submitted 或更后状态(public、indexed、rel_verified)的域名不得再次选择——Skill 的目标数据库由所有项目共享,因此“已提交”只针对单个项目成立,只有项目自己的台账知道这一点。默认也会跳过 rejected 域名;只有重新阅读其备注并确认拒绝理由已不再成立后,才能通过 --include-rejected 重新纳入。scripts/targets-select.mjs 会自动读取工作目录下的 .backlink/ledger.json 执行此操作——只需在项目目录内运行,无需指定标记。 如果一次运行结束时没有将结果写回台账(ledger.mjs upsert + transition,并为 submitted/public/indexed/rel_verified 提供证据),下一次选择就无法看到这些结果。该域名仍符合条件,因此会再次提交。写回是完成批次的一部分,不是可有可无的后续工作。 台账记录项目做了什么;data/submission-targets.json 和 data/free-channels.json 记录渠道是什么,第二层数据也会像第一层一样过时。每当实际提交表明记录的门槛或字段有误——记录标为开放表单的网站现在要求登录,记录为 none 的 captcha 实际会发起验证,记录为免费的渠道实际上将有用路径设为付费才能使用,路径重定向到了新位置,或网站已经失效——更正记录就是完成本次运行的一部分,而非后续工作。必须在批次结束前修正字段,将日期和观察到的情况附加到 notes,并在宣布运行完成前执行 scripts/validate-data.mjs。错误记录并非无关紧要的空缺:下一次选择会将其视为事实,并在同一网站上重蹈覆辙。 锚文本只能是品牌名、产品名或不带锚文本的规范 URL。绝不要求使用 dofollow,不得在一场推广活动中重复使用商业精确匹配锚文本;付费或带有激励的投放若以普通 follow 链接形式发布,应视为不合规,而非成功。 记录中只能包含别名和证据 ID。密码、OTP、恢复码、Cookie、OAuth 参数、魔法链接、原始会话 ID、原始电子邮件地址和电话号码都不得写入其中。日志中不得包含原始 Cookie、令牌、授权标头或凭据。 第三方流量数据若没有 source · metric · month · geography · device · date verified,就不算数字。六项要么全部记录,要么一项也不记录。 如果文档齐全的 HTTP 端点和 MCP 服务提供相同配额下的相同数据,优先使用 HTTP 端点——MCP 只会增加连接和进程,并不会增加功能;而且出现故障时,也更难区分是 MCP 故障还是服务宕机。仅在 MCP 是唯一授权渠道时才使用 MCP;在替代路径成功运行过一次之前,绝不要停用正在工作的路径。 记录中包含 lastVerifiedAt,因为这一类渠道消失的速度远快于其变化的速度。三个月前还能用的渠道,今天可能已经失效、受到限制或设为 noindex。开展推广活动前请重新验证;校验器会对任何超过 180 天未更新的 live 记录发出警告。修正错误记录比添加新渠道更有价值。 free-channels.json 记录的是实时页面上的已发布链接,必须包含 relObserved/anchorRendered。submission-targets.json 记录的是实际存在的提交路径,校验器会拒绝其中出现这些字段。只有观察到实际锚文本后,目标才会从第二个文件升级到第一个;在此之前,不得对 rel、锚文本或可索引性作出任何承诺,报告也不得暗示存在此类承诺。 两个流量来源相差超过约 3 倍,并不代表“流量不可靠”——这是可以通过计算解决的问题,在任一数字进入决策前,MUST 先解决。选取争议关键词排名第 1 的域名,获取其真实流量和来自 Organic-Search 的占比,再从 Semrush 获取其排名关键词及其搜索量。用观察到的自然搜索点击量除以候选搜索量总和,得出隐含 CTR:低于 40% 表示合理,高于 100% 则能证伪该搜索量。这只能验证搜索量,绝不能验证意图——即使关键词通过 CTR 检查,如果 SERP 显示搜索者并不想要你销售的东西,这个关键词仍然毫无价值。证伪某个工具的一项功能(其搜索量模型),并不能说明该工具的另一项功能有问题(例如 SERP 构成分析没有估算模型,不受影响)。完整示例: 。 闭环流量检查验证的是某个时间点的搜索量。它无法说明这种需求是否会持续,而这两个问题需要分别取证。流量工具报告的是一个滚动时间窗口,因此,在病毒式传播高峰期间测得的关键词,即使数据真实、计算正确,也可能已经过时,但仍能通过点击率检查。在允许某个关键词成为产品线、页面构建或链接推广活动的核心之前,应获取该关键词多年来的 Google Trends 曲线,并与同类别中一个已知的常青词进行对比。如果某个词直到某个月之前都稳定在零,随后飙升又回落,那就是昙花一现的热点——进入这个领域意味着要争夺一个不断缩小的流量池,而且排名数据会看不出原有网站的流量暴跌。区分两种原因的诊断方法是:如果原有网站仍保持第 1 名,但流量却在下降,那么下降的是需求,而不是排名——这是需求衰退,不是惩罚,再多的链接建设也无法挽回。真实案例:一个通过闭环检查、确认月搜索量为 7.2 万至 14.3 万的关键词,在三个月内的 Trends 指数降至 2.2/100;而排名第 1 的网站保持了原有位置,流量却损失了 87%。

请先阅读参考资料,再采取行动,而不是等运行出错后才读。 references/browser-runtime.md references/safety-policy.md references/batch-campaign.md — 单目标循环去重过晚,会卡在第一个 CAPTCHA 后,无法区分中断的行与尚未开始的行,而且统计的是表单数而非链接数 references/directory-run-playbook.md — 实际操作的难点在表单前后,而非表单本身:5 次成功提交中有 4 次的免费层级隐藏在付费升级提示后;有 1 个目标在未提交的情况下就已收录;而有人完成任务后,执行者的台账行便会过时 references/field-notes.md — 个人联系方式要求优先于 CAPTCHA,而落地页 CAPTCHA 扫描会产生假阴性 references/instant-publish.md 中的「Reading a third-party list」部分 — Dofollow 列是对平台的说法,而不是对链接的实际观察 references/paid-platforms.md references/index-submission.md references/acquisition-doctrine.md references/backlinkdirs.md references/prompts.md references/credits.md 数据来源和授权边界 按类型列出的候选项,以及符合或不符合条件的原因 当前台账状态,绝不推断后续状态 证据链接或本地证据文件 下一步安全操作,以及是否需要人工审核或提交 来源:[Skills.sh](https://skills.sh/yan-labs/yan-skills) 项目级安装时省略 `-g`;使用 `npx skills update backlink -p -y` 更新。 **`opencli` 优先。** 此技能中的所有浏览器操作都通过它执行,且它包含了本技能仅做概述的规则。

它还要求安装 yan-labs/OpenCLI releases 中的 OpenCLI 二进制文件和浏览器扩展——而不是 Chrome 网上应用店版本。网上应用店版本默认以前台模式运行:它会弹出窗口,抢走用户正在阅读的标签页。这种故障不会发出提示——命令仍会成功,只是行为不正确——因此,opencli doctor 会明确标记版本低于 1.0.32 的扩展。如果遇到这种情况,请直接处理,不要绕过它。

评论

支持 Markdown