outbound links 实测 27 个首页:546 条链接,到底链到了哪
outbound links 是 SEO 教程讲的那种链接,而首页干的事跟教程假设的不一样。我们解析了 27 个首页的全部锚点,数出 546 条链到别的公司的链接、散在 208 个域名上——36% 指向社交或视频平台,只有 14% 带任何 rel 限定符。

实测 · 2026-09-15 · 27 个首页 · 546 条出站链接 · 单次抓取
样本与口径:沿用本系列自 2026-08-15 起的同一批 30 个站,2026-09-15 每个首页请求一次,桌面 Chrome UA、不执行 JavaScript。我们解析下发 HTML 里的每一个 <a> 标签,只保留 registrable domain 与本站不同的那些。下面每个数字都由落盘 HTML 重算,没有一个是手输的。
outbound links 就是 SEO 教程天天讲的那种链接,而首页干的事跟教程假设的完全不一样。27 个首页加起来链到别的公司 546 次,散在 208 个域名上。其中大约三分之一指向社交或视频平台,只有 14% 带任何 rel 限定符。编辑真正会当成出处引用的那种链接,是少数派。
我们是怎么测的
每个首页抓一次、存下最终下发的 HTML,然后遍历全部锚点元素。只有 registrable domain 与本站不同才算一条出站链接 —— 所以 stripe.com 上的 status.stripe.com 不算,而 stripe.com 上的 github.com 算。有 3 个域名对我们的客户端返回 403,剔除后剩 27 个。
curl -s -L --compressed \
-A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" \
https://example.com/ -o page.html
python3 -c "
from html.parser import HTMLParser
from urllib.parse import urlparse
class P(HTMLParser):
def __init__(s):
super().__init__(); s.h=[]; s.c=None
def handle_starttag(s,t,a):
if t=='a': s.c=dict(a).get('href','')
def handle_endtag(s,t):
if t=='a' and s.c is not None: s.h.append(s.c); s.c=None
p=P(); p.feed(open('page.html').read())
site='example.com'
for h in p.h:
if h.startswith(('http://','https://')):
d=urlparse(h).hostname or ''
if d.split('.')[-2:] != site.split('.')[-2:]:
print(h)
"
这套口径有两件事看不到。它读的是最终下发的 HTML,所以页面加载后由 JavaScript 注入的链接它看不见。另外它一个 <a> 只计一次,不区分页脚菜单里的链接和正文首段里的链接 —— 这两者对读者并不等价,在这份统计里却是等权的。
27 个首页的 outbound links 各有多少
首页出站链接的中位数是 13 条,分布拖得很长:最多的一页 84 条,最少的一页一条都没有。下表是整个面板,按条数排序。
| 站点 | 出站 | 域名数 | nofollow |
|---|---|---|---|
| theverge.com | 84 | 55 | 56 |
| nextjs.org | 74 | 19 | 0 |
| react.dev | 64 | 9 | 0 |
| mozilla.org | 50 | 27 | 0 |
| framer.com | 30 | 9 | 0 |
| shopify.com | 30 | 23 | 7 |
| supabase.com | 30 | 7 | 0 |
| ycombinator.com | 29 | 27 | 0 |
| slack.com | 26 | 15 | 0 |
| wired.com | 16 | 13 | 5 |
| vercel.com | 15 | 12 | 0 |
| github.com | 14 | 12 | 0 |
| webflow.com | 14 | 14 | 0 |
| netlify.com | 13 | 9 | 0 |
| arstechnica.com | 9 | 7 | 0 |
| techcrunch.com | 9 | 9 | 8 |
| wikipedia.org | 9 | 5 | 0 |
| bbc.com | 6 | 3 | 0 |
| stripe.com | 6 | 5 | 0 |
| figma.com | 4 | 4 | 0 |
| gitlab.com | 4 | 4 | 0 |
| notion.com | 3 | 3 | 0 |
| cloudflare.com | 2 | 2 | 0 |
| nytimes.com | 2 | 1 | 0 |
| railway.com | 2 | 2 | 0 |
| substack.com | 1 | 1 | 0 |
| reddit.com | 0 | 0 | 0 |
有一行值得停一下。reddit.com 的首页返回 200、8,397 字节 HTML,里面一条出站链接都没有。这不是坏页,这是一页的职责就是把你送进它自己的帖子里。第二个观察是 nofollow 那一列几乎全是零:27 个首页里只有 4 个给外链加了 nofollow,与 5,104 条链接上的 rel 分布是同一幅图景。
这些出站链接到底链到哪
前 15 个域名吃掉了 546 条里的 291 条,超过一半。排第一的不是什么出处或合作方,是一个视频平台。
| 目的地 | 条数 |
|---|---|
| youtube.com | 82 |
| github.com | 30 |
| x.com | 28 |
| vercel.com | 28 |
| instagram.com | 18 |
| facebook.com | 12 |
| linkedin.com | 12 |
| twitter.com | 11 |
| bsky.app | 10 |
| tiktok.com | 9 |
| shopify.dev | 8 |
| condenast.com | 7 |
| firefox.com | 7 |
| mozillafoundation.org | 7 |
| pmc.com | 7 |
按性质归堆,546 条里有 195 条、也就是 36%,指向社交或视频平台,光 YouTube 就占 82 条。再有一块指向同一家母公司下面的兄弟产品:nextjs.org 和 react.dev 上排第一的出站目的地都是 vercel.com,康泰纳仕旗下几个站互相链来链去。几乎从不出现的,恰恰是 SEO 文章让你加的那种东西 —— 一个论点背后的原始出处。
这些链接落在页面的哪一块
同样是那 546 条,按包含它的 landmark 元素分。三个桶是重叠的:一个链接可能同时落在一个套在 main 里的 footer 里的 nav 里,所以这张表要读成「有多少条链接位于某个 footer 之内」,不能当成不重不漏的划分。
| 容器 | 条数 |
|---|---|
| 在 <footer> 内 | 269 |
| 在 <main> 或 <article> 内 | 184 |
| 在 <nav> 内 | 145 |
首页上一半的出站链接坐在页脚里,这与目的地那张表对得上:页脚正是社交图标住的地方。真正有意思的是正文里的那 184 条,而且它们集中在少数几个站 —— 像 react.dev 这种文档型首页,是从正文往外链它的生态,不是从页脚。
Google 官方到底要求了什么
Google 关于 outbound links 的说明比围绕它的争论窄得多。它只给了一条正常链接的指令,和其余三种情况用的三个值。
"For regular links that you expect Google to fetch and parse without any qualifications, you don't need to add a rel attribute." —— Google Search Central《Qualify your outbound links to Google》,2026-09-15 访问
它明确定义的三个值是:sponsored 用于广告与付费投放,ugc 用于用户生成内容,nofollow 用于其余你不想让 Google 把本站与之关联、也不想让它顺着爬的情况。在这批面板上,sponsored 只出现 2 次,ugc 一次都没有。
| rel 值 | 该用在哪 | 面板上 |
|---|---|---|
| 不写 | 正常编辑性链接 | 468 |
| nofollow | 你不想背书的链接 | 76 |
| sponsored | 广告与付费投放 | 2 |
| ugc | 评论与论坛内容 | 0 |
把两个事实放在一起并不矛盾。首页的社交图标和兄弟产品链接既不是付费投放也不是用户内容,按 Google 那一页的说法它们本来就不需要任何属性。nofollow 缺席不是遗漏,是文档写明的默认。rel 该怎么选有一篇更长的写法,在 nofollow 与 dofollow 那一章。
这对你自己的页面意味着什么
有用的动作不是多加几条或者少加几条,而是搞清楚你手上这三种各有多少条 —— 它们承担的义务不一样。
- 用上面那条命令把页面上的外链列出来,逐条标成编辑性、付费、用户生成三类。
- 编辑性链接保持不加属性。给一条你真心背书的链接加
nofollow,等于白白扔掉一个信号;那里锚文本怎么选是另一件事,见 锚文本怎么写。 - 凡是你收钱放上去的,加
sponsored;凡是访客写的,加ugc。这部分是 Google 那一页写得最明确的地方。 - 单独再看一遍页脚。这些首页上一半的外链住在那里,而它恰恰是没人会重读的那一块。
- 把出站链接当成一句关于你信任谁的声明。如果这句话你不会说出口,就别把它放进页脚。
- 别为了「保住权重」给所有外链都加 nofollow。Google 那一页明说正常编辑性链接不需要属性,一刀切加 nofollow 是习惯,不是策略。
还有第二个理由,跟 PageRank 无关。AI 引擎选源时有一部分是在跟着「谁引用谁」走,一页肯标出自己出处的页面,比一页只链自家社交账号的页面更容易被放进那张关系图里。如果你的出站链接全是图标,你告诉爬虫的是你在哪儿发帖,不是你在读什么。AI 爬虫可达性检查能让你看到爬虫实际从这一页拿到了什么。
常见问题
你们是怎么测的?
2026-09-15 每个首页请求一次,桌面 Chrome UA、不执行 JavaScript、跟随跳转,响应按字节落盘。然后在落盘 HTML 里解析锚点,只计 registrable domain 与本站不同的那些。面板是本系列一直在用的同一批 30 个域;canva.com、medium.com、stackoverflow.com 对我们的客户端返回 403,剔除后剩 27 个。
出站链接到底是帮排名还是拖排名?
Google 那一页讲的是怎么给链接定性,没有讲它怎么影响排名,我们这次也没量排名。能说的只有更窄的一句:Google 文档里没有对普通编辑性链接的惩罚,同时它写明了非普通链接该用哪三个值。
nofollow 现在还管用吗?
那一页现在的措辞是这些值标记的链接「will generally not be followed」。我们没有测任何爬虫的实际行为,所以本文讲的全是 HTML 里声明了什么,不是任何引擎据此做了什么。
为什么 YouTube 排第一?
因为页脚放一排社交图标是标准做法,而视频频道是其中一格。那 82 条 YouTube 链接里到底有几条真被读者点过,我们答不上来,我们数的只是声明。
加出站链接能让 AI 引用我吗?
我们没有「外链多的页面被引更多」的数据,也不打算这么宣称。站得住的版本更弱一点:一条指向出处的出站链接,是一句机器可读的、关于某个说法来自哪里的陈述,而这正是引用系统能用的信息。

