逐步将反向链接与搜索控制台导出数据关联
搜索控制台会列出指向您的网站,但不会显示它们的权重。一次调用即可填补这一空白。以下所有数字均为虚构示例。
CranSEO 研究团队 ·

设置方法,以及关联操作为何有益
搜索控制台会显示链接网站,但不会对其进行排名。
将顶级链接网站导出为 CSV 文件,该文件会提供一个域名列,但缺乏权重信息。关联操作正是为了解决这一空白,因为原始导出只是一个列表,而非有力的论据。
我们的 bulk_dr 操作可一次性对整列进行评分,因此关联只需对域名执行一次 left_join()。搜索控制台仅显示其已知链接的样本,因此请将导出数据视为下限,而非总量。
关联的五步操作
导出
从搜索控制台的链接报告中下载链接网站表。使用 readr::read_csv() 读取该文件。
清洗
转换为小写,去除 www,删除重复项。键值不匹配通常是关联操作静默返回 NA 的主要原因。
评分
将唯一域名以 2,000 个为一组发送到 bulk_dr。一次调用消耗 1 个信用点。
关联
left_join(links, scores, by = "domain")。检查关联前后的行数。
标记
根据我们的阈值表将其划分为 DR 区间,并列出导出数据中缺少评分的行。
假设结果,虚构导出数据的 8 行
| 域名(虚构) | 导出中的链接数 | DR(虚构) | 区间 |
|---|---|---|---|
| example-news.test | 14 | 71 | 强 |
| example-blog.test | 3 | 34 | 成熟 |
| example-shop.test | 2 | 18 | 小 |
| example-forum.test | 40 | 9 | 薄弱 |
| example-uni.test | 1 | 62 | 强 |
| example-dir.test | 27 | 4 | 薄弱 |
| example-local.test | 5 | 22 | 小 |
| example-wiki.test | 1 | 83 | 非常大 |

该示例告诉您什么,以及它不能告诉您什么
仔细查看论坛行,因为 DR 9 的 40 个链接仅代表数量,而非权重。
在这个虚构案例中,两行各含一个链接的网站排名高于来自薄弱站点的 67 个链接,这是您应关注的数据模式。它反映了 DR 的工作原理,而非排名的保证。
不要将其解读为因果关系。Google 表示链接只是众多信号之一,自 2024 年 3 月核心更新以来,情况变得更加复杂。
关联相关问题
为什么有些行没有返回评分?
通常是键值不同:末尾带有斜杠、带有 www 前缀或大小写不同。请先清洗字符串。如果仍然失败,则该域名可能未包含在我们爬取的月度索引中。
我可以使用 intersect 吗?
可以,用于不同的问题。intersect 接受 2 到 10 个域名,并返回链接到其中多个域名的网站,这更适合竞争对手差距分析,而非对您自己的导出数据进行评分。
关联操作消耗多少信用点?
对于 5,000 个唯一域名,三次 bulk_dr 调用消耗 3 个信用点,约 $0.0003。与清洗导出数据所花费的时间相比,数据拉取成本微乎其微。
先将多个导出数据堆叠到一个表中
在将反向链接与搜索控制台导出数据关联之前,请先堆叠文件。大多数实际工作涉及多个导出文件,每个客户或每个季度一个,当只有一个表可供关联时,操作会更清晰。
检查文件是否真正匹配
来自不同人员的多个 CSV 文件只有在共享列名、列顺序、日期格式和编码时才能干净地合并。假设您每个客户收到一个导出文件。在合并之前,比较每个文件的标题行,当发现差异时立即停止。
快速检查可以列出每个文件的列名,并在脚本中设置一个停止条件。这只需几行代码,但可避免静默错位。
分隔符和小数点标记
来自不同机器的导出文件有时以分号作为分隔符,或使用不同的小数点标记。在假设其为逗号分隔文件之前,请检查每个文件的分隔符,并在小数点标记不同时设置明确的区域设置。
解析为单列的文件是最容易检测到的失败。打印每个文件的列数,当列数为 1 时停止。
将解析选择作为显式参数而非默认值写入脚本,以便下一个人无需打开数据即可看到它们。
带有源列的长表
将文件堆叠为一个长表,其中包含记录源文件和导出日期的列。该表将取代人们手动逐步维护的工作表集合。
摘要现在只需一次 group_by() 调用,而不是每个客户一个工作表。保持原始文件不变,以便可以从头重新运行堆叠步骤。
跨工作表的查找即为关联
诸如“将第 2 列随第 1 列移动”的请求本质上是一个关联操作。选择键(此处为域名),让 left_join() 将第二列跨表携带。电子表格版本在行移动时会失效,而基于键的关联则不会。
如果第二个表使用不同的键格式,请在关联之前修复键,而不是之后。不匹配通常是由于大小写或前缀问题引起的。
关联无法解决的问题
关联将两个表基于键并排显示。它无法使两个来源达成一致,也无法挽救从未导出的域名。当两个导出在计数上不一致时,关联会显示这种不一致,而不是解决它。
在报告中保持这种差异可见,并在其旁边显示两个来源名称,以便读者可以看到数字来自哪个导出。
关联也无法告诉您两个来源为何不一致。这需要查看原始行,这也是导出文件保持原样的另一个原因。
在表中保留来源名称
源列是廉价的保险。当六个月后某个数字看起来不正确时,第一个问题是它来自哪个导出,而该列无需搜索旧文件夹即可回答这个问题。
假设客户询问为什么一个域名显示两次。源列会显示它来自春季导出和夏季导出,这是一个可以用一句话解释的事实。
四次传递中的堆叠和关联
读取每个文件
使用 readr::read_csv() 读取每个导出文件,并将文件名作为一列保留。不要假设第一个文件的列类型适用于其余文件。
绑定行
当标题一致后,使用 bind_rows()。计算每个源的行数,并与您从每个文件中预期的数量进行比较。
一次性汇总
按键分组并一次性汇总,例如每个客户的链接网站,以便每个计算都位于一个位置。
关联评分
在堆叠后,在清洗后的域名上关联 bulk_dr 评分,并检查关联前后的行数。

挽救关联的清洗规则
键值最先断裂,且断裂时悄无声息。
在调用之前,将所有域名转换为小写,去除前导 www,删除末尾的点和斜杠,并折叠重复项,因为一个 stray 的大写字母会将良好的匹配变为 NA,您可能直到客户询问时才注意到。
保持原始导出文件不变,在其旁边写入清洗后的表,并在文件名中记录导出日期。月度运行手册 解释了带日期的文件为何重要,批量评分页面 提供了可复用的请求代码。
最后,当导出包含 1,200 个唯一域名,而评分表包含 1,150 个时,在绘制任何图表之前找出这 50 个差异;术语表 列出了该操作返回的内容,决策树 告诉您何时另一个来源是更好的答案。
无需重新构建关联即可添加第二次导出
添加第二个时期是许多关联操作静默出错的地方。解决方法是在处理评分之前确定快照。
将快照视为键的一部分。具有相同域名但不同快照日期的两行代表不同的事实,即使数字看起来相似。
来自不同月份的两个导出在解决快照问题之前不能算作趋势。先解决这个问题,然后再画线。
一次性对两个时期进行评分
假设您有本季度的导出和上季度的导出。将两者连同日期一起堆叠,然后一次性对两个文件中的唯一域名进行评分,以便两个季度共享一个快照。
在不同时间单独评分会将两个索引状态混合到一个比较中。在图表上注明快照日期,以便读者可以看到两个数字都来自一次评分。
同时出现在两个导出中的域名
同时出现在两个导出中的域名应在评分表中出现一次,在堆叠表中出现两次。这能保持评分的诚实性,也能保持每个季度的链接计数的诚实性。
在关联之前,确保评分表每域名只有一行,以便关联不会增加行数。检查其行数是否等于唯一域名的数量。
将评分和关联分为单独的步骤
将评分步骤保留在单独的脚本中,将关联步骤保留在另一个脚本中。当评分发生变化时,您知道要重新运行哪个步骤,且关联无需手动重新执行。
一个记录快照日期和导出名称的小文件将使这两个步骤在后期易于匹配。
在关联任何内容之前
- 每个文件具有相同的标题行,否则脚本停止
- 两个表中的键值均转换为小写并去除 www
- 文件名包含导出日期
- 每次关联前后的行数均被记录
- 原始导出文件保持原样,存放在其自己的文件夹中