在论坛发外链,发现自动加了 rel="nofollow";想买篇客座稿,对方要求用 rel="sponsored";评论区有人留链接,Google 建议用 rel="ugc"。这三个属性听起来差不多,实际用法差很远,用错轻则浪费精力,重则触发链接方案处罚。
2019 年 9 月 Google 把 rel="nofollow" 升级成提示信号,同时新增 rel="sponsored" 和 rel="ugc"。现在这三个属性分工明确:nofollow 用于你不希望/不能背书任意链接的场景;ugc 专门给用户生成内容(评论、论坛);sponsored 给任何付费、合作、赠品换来的链接。
核心误区是:这些属性都不能传递排名权重。它们是指示信号,告诉 Google “这个链接不是我自然推荐的”。但 Google 仍可能抓取这些链接,只是不把它们的权重算进排名。所以从 SEO 角度看,同样是外链,dofollow 比 nofollow 值钱;从流量和品牌角度看,高流量站点的 nofollow 链接同样有意义。
# 检查页面所有外链的 rel 属性分布
# 用法:python check_rel.py https://example.com
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin
import sys
url = sys.argv[1]
html = requests.get(url, headers={"User-Agent": "Mozilla/5.0"}, timeout=20).text
soup = BeautifulSoup(html, "html.parser")
attrs = {"nofollow": 0, "ugc": 0, "sponsored": 0, "dofollow": 0}
for a in soup.find_all("a", href=True):
rel = a.get("rel", [])
href = a["href"]
if href.startswith("http") and not url.startswith(href.split("/")[2]):
# 站外链接
if "nofollow" in rel or "sponsored" in rel or "ugc" in rel:
for r in rel:
attrs[r] = attrs.get(r, 0) + 1
else:
attrs["dofollow"] += 1
print("站外链接属性分布:", attrs)
站内链接不需要加这三个属性。相反,如果你在卖广告位却不标 sponsored,或者评论区垃圾链接放任不管,Google 会认为你在人为操纵排名。最稳妥的做法是:所有广告/合作链接统一加 sponsored;评论区链接统一加 ugc;编辑器精选的外向资源用 nofollow 或直接不加。
一句话总结:链接属性不是洪水猛兽,它是 Google 理解的“语境”。该标就标,标清楚了反而更安全,外链建设才能长期做下去。
A5创业网 版权所有