屈折语站的锚文本报告,精确匹配那一栏的数字是假的
本文目录
- 屈折语里的锚文本为什么留不住原形?
- 名词进句子就要变格,这不是可选项
- 一个核心词能出现多少种锚文本形态
- 咖啡豆站那次内链审计:报告和现实对不上
- 锚文本报告里的精确匹配比例,为什么在屈折语站上是假的?
- 字符串口径统计的是什么
- 同一批锚在两个口径下差多少
- 被低估的精确匹配与被高估的多样性
- 英文站的配比红线搬过来会得出什么结论
- 把审计口径从字符串换成词干,具体怎么换?
- 词干工具的选择与语言支持度
- 归一化之后重新分桶
- 两套数字都留着,各有各的用处
- 复合词语言的麻烦跟变格不是一回事
- 德语的复合词让锚划不出半个词
- 芬兰语两头都占:既复合又变格
- 两种机制的共同后果:锚的边界不归你定
- 六个锚位置,哪几个允许变形?
- 句内正文锚:必须允许变形
- 列表与卡片标题:可以保持主格
- 面包屑与导航:一律主格
- 目录锚点与页内跳转:跟标题走
- 划锚边界该守哪三条规则?
- 只划名词短语的核心,别把介词划进来
- 允许带格尾,但格尾不算多余词
- 锚长度用词数不用字符数
- 目标页标题里要不要留一个主格形态?
- 锚与标题的形态对不上会发生什么
- 标题里保留主格的代价与收益
- 用副标题或首段兜底的做法
- 内链权重不会因为锚文本变形而流失,会流失的是别的东西
- 这个担心大部分是多余的
- 真正流失的是你的判断力,不是权重
- 该盯的指标换成哪几个
- 过度优化的红线在屈折语站上怎么定?
- 词干口径下的重复度才是真重复
- 变体自然分布长什么样
- 人为制造变体反而更可疑
- 一个可操作的自查顺序
- 这套做法怎么落进日常的内链维护?
- 什么时候重跑一次词干口径
- 新增页面的锚怎么定
- 六步落地路线
- 常见问题解答
- 没有词干工具支持的小语种,锚文本审计还能做吗?
- 锚文本变形会不会影响搜索引擎理解链接指向?
- 面包屑里的分类名到底该用什么形态?
- 德语站的内链密度比英文站低,这算问题吗?
- 目标页标题非要用间接格,有没有补救办法?
- 词干口径和字符串口径的报告,该给老板看哪一份?
- 这套方法对没有词间空格的语言适用吗?
- 权威参考资料
摘要:在俄语、芬兰语这类要变格的语言里,锚文本嵌进句子就必须跟着变形,这是语法要求不是优化选择。于是所有按字符串统计的锚文本报告在这些站上都会失真:精确匹配比例被系统性低估,锚文本多样性被系统性高估,拿英文站那套配比红线去对照只会得出错误结论。本文讲怎么把审计口径从字符串换成词干、六种锚位置各自允不允许变形、划锚边界该守哪三条规则。
屈折语里的锚文本为什么留不住原形?
名词进句子就要变格,这不是可选项
先把最基本的机制说清楚。俄语里一个名词单独站着是一种形态,放进句子当宾语是另一种形态,跟在介词后面又是第三种。
比如磨豆机这个词,主格写作кофемолка,属格变成кофемолки,宾格变成кофемолку,工具格再变成кофемолкой。
这些不是同义词,也不是写法变体,是同一个词按语法角色必须呈现的不同面貌。
现在你要在正文里给磨豆机分类页做一条内链,锚文本从句子里划出来,划到的必然是句子里那个形态。
想让它保持主格,唯一的办法是把整个句子改写成主格能站住的结构,而这种改写在自然行文里很快就用完了空间。
换句话说,锚文本的形态不由你决定,由这句话的语法决定。
这一点跟英文站的差别有多大,做过对照才有体感。英文里名词进句子形态基本不变,你想让锚文本精确等于目标关键词,几乎总是能做到,代价最多是句子稍微生硬一点。俄语里这个选项直接不存在,你面对的不是要不要精确匹配,而是接受它必然不精确。
一个核心词能出现多少种锚文本形态
数一下就知道这不是小数目。俄语名词六个格,加上单复数,一个词理论上有十二种形态。
实际写作里常用的大概是四到五种,因为有些格在电商文案里很少出现。
芬兰语更夸张,格的数量是俄语的两倍多,十五个格再叠上词干自身的交替,形态数量还要往上走。
匈牙利语的格数量还要更多,好在它的词尾拼接规律性强,归一化反而不难。
所以在这些语言的站点上,同一个目标页收到的内链,锚文本可能有五六种不同的字符串。
这五六种在人眼里是一个词,在按字符串比对的工具眼里是五六个不同的锚。
形态数量还会因为词性叠加而放大。如果核心词是形容词加名词的组合,形容词也要跟着名词一起变格,两个词各自变形,组合出来的字符串数量是相乘而不是相加。做核心词形态表的时候按短语整体列,比按单词列更贴近实际会出现的锚文本。
| 语法角色 | 俄语形态 | 典型句子位置 | 会不会被划成锚 |
|---|---|---|---|
| 主格 | кофемолка | 做主语、单独列出 | 列表、标题里常见 |
| 属格 | кофемолки | 表示所属、否定句 | 正文里高频 |
| 宾格 | кофемолку | 做直接宾语 | 正文里最高频 |
| 工具格 | кофемолкой | 表示工具、方式 | 教程类内容里常见 |
| 前置格 | кофемолке | 跟在关于、在等介词后 | 正文里高频 |
咖啡豆站那次内链审计:报告和现实对不上
保哥带过一个做精品咖啡豆和手冲器具的独立站,俄语站上线一年后做内链体检。
工具跑出来的报告说:核心品类页收到的内链里,精确匹配锚只占很小一部分,绝大多数是所谓的其他类。
按英文站的经验,这个分布意味着内链没有传递清晰的主题信号,该补一批精确匹配的锚。
负责俄语内容的同事看完报告愣了一下,说这些锚本来就是同一个词,只是格不一样。
把那批被归进其他类的锚导出来逐条看,果然全是磨豆机这个词的四种格形态。
真实的精确匹配率不是报告上那个数,而是接近满值,问题根本不存在。
差点就按报告去执行了,那意味着往正文里硬塞一批主格形式的锚,句子会变得像机器写的。这类返工最坏的地方在于它看起来很有道理:数据支持、逻辑自洽、执行明确,唯一的问题是数据本身在这门语言上根本不成立。
锚文本报告里的精确匹配比例,为什么在屈折语站上是假的?
字符串口径统计的是什么
几乎所有内链分析工具的分桶逻辑都一样:把锚文本当字符串,跟目标关键词做比对。
完全相等归精确匹配,包含关系归部分匹配,其余归品牌词、通用词或其他。
这套逻辑在英语里工作得很好,因为英语的名词短语在句子里形态稳定。
到了屈折语站,完全相等这个条件几乎只在主格锚上成立,而主格锚在正文里恰恰是最少的。
于是精确匹配桶被系统性低估,其他桶被系统性撑大。
工具没有错,它只是在做字符串比对,而字符串在这里不是合适的比对单位。
这个问题跟锚文本工程化那套变体管理方法是两回事,别混。变体管理讲的是主动设计不同说法去覆盖语义空间,是有意为之;这里说的是同一个说法被语法强制改写,你没有选择权。前者是策略,后者是约束,处理方式完全不同。
同一批锚在两个口径下差多少
把咖啡豆站那批数据按两种口径各算一遍,差距大到不像同一批数据。
字符串口径下,精确匹配占比是个位数,看着像内链主题信号严重不足。
词干口径下,同一批锚的精确匹配占比跳到了七成以上。
差了将近一个数量级,而中间没有增删任何一条链接。
这个倍数不是个例,它取决于该语言常用格的数量:格越多,字符串口径失真越厉害。
德语的名词变格少一些,失真幅度小;芬兰语这类多格语言,失真幅度比俄语还大。
值得留意的是差距最大的往往不是最核心的那几个词,而是中等热度的品类词。核心词因为反复出现在标题和列表里,主格形态本来就多,字符串口径下也不算太难看;中等词几乎只出现在正文句子中,全是间接格,字符串口径下能被判成精确匹配的接近于零。
| 统计口径 | 比对单位 | 精确匹配率 | 结论 | 结论对不对 |
|---|---|---|---|---|
| 字符串口径 | 完整字符串 | 个位数 | 主题信号不足,需补锚 | 错 |
| 词干口径 | 归一化后的词干 | 七成以上 | 信号充分,不必动 | 对 |
被低估的精确匹配与被高估的多样性
失真是双向的,一头低估,另一头高估,两个错误还会互相掩护。
精确匹配被低估已经说过,另一头是锚文本多样性被高估。
报告会告诉你锚文本很丰富,有十几种不同的说法,主题覆盖很广。
实际上那十几种里可能只有三个真正不同的词,其余全是形态变化。
如果你正好在追求锚文本多样化,看到这个数字会觉得目标已经达成,于是停手。
真实情况是语义覆盖并没有你以为的那么宽,该补的相关词一个都没补。
两个方向的失真凑在一起,会导出一个特别舒服的结论:精确匹配不高,多样性很好,正是理想的健康分布。这个结论在屈折语站上几乎必然出现,而它跟真实情况可能正好相反——真实情况是高度集中于一个词、语义覆盖偏窄。舒服的报告最容易让人不去追问。
英文站的配比红线搬过来会得出什么结论
过度优化的判断标准里,最常被引用的是精确匹配锚占比的上限。
这个上限的来源是英文站的经验数据,讨论的场景多半是外链锚文本被算法盯上那一类。
把它原样搬到屈折语站的内链审计上,会同时犯两个方向的错。
一是按字符串口径算,你几乎永远不会触碰上限,于是失去了这条警戒线。
二是万一你为了提高精确匹配率而人为往正文里塞主格锚,那才真的制造出了不自然的模式。
红线本身没问题,问题是它要用词干口径去量,而且阈值要重新定。
还有一层容易被忽略:内链和外链在这件事上的处置逻辑本来就不同。内链的锚是你自己写的,算法对它的容忍度和对外链的容忍度不在一个量级上。把外链场景下的配比经验搬进内链审计,就算在英文站上也已经偏了一步,再叠上屈折语的字符串失真,两步偏差叠在一起,结论基本不可用。
把审计口径从字符串换成词干,具体怎么换?
词干工具的选择与语言支持度
最省事的路子是用现成的词干算法,把锚文本和目标关键词都归一化之后再比对。
Snowball的俄语词干算法对本文说的这些格尾处理得相当干净,磨豆机那五种形态归一化之后落到同一个词干上。
德语、芬兰语、匈牙利语也都有对应的算法,质量参差但基本可用。
词干算法是规则驱动的,不需要词典,跑起来极快,几万条锚几秒钟出结果。
它的弱点是遇到不规则变化会失手,比如词干本身发生交替的芬兰语词。
要求更高的场景可以换成词形还原,代价是要装词典、跑得慢一些。
两条路的取舍点很清楚:如果目的只是把锚分桶、看分布,词干算法的精度绰绰有余;只有当你要精确统计某个特定词的每一次出现,才值得上词形还原。信息检索领域对这两者的取舍讨论了几十年,结论大体一致:检索场景下词干够用。
归一化之后重新分桶
换口径的操作本身不复杂,难的是把它固化成流程。
第一步,导出全站内链,字段要有锚文本原文、目标URL、所在页面。
第二步,对锚文本分词,逐词取词干,得到一个词干序列。
第三步,对目标页的核心关键词做同样处理,得到另一个词干序列。
第四步,两个序列比对,完全一致归精确匹配,包含关系归部分匹配。
第五步,重新出报告,跟字符串口径的报告并排放。
这一套脚本跑通之后基本不用再改,每季度重跑一次就行。分词这一步在多数欧洲语言里按空格切就够了,真正需要专门分词器的是没有词间空格的语言,那是另一类问题。
这五步里最容易出岔子的是第三步。目标页的核心关键词常常存在关键词表里,而那张表里的词多半是词典原形,跟锚文本走的是两套来源。两边必须用同一个词干工具、同一份参数跑,否则归一化结果对不上,比对出来的差异其实是工具差异不是内容差异。
两套数字都留着,各有各的用处
换了口径不代表旧口径没用,两套数字要一起看。
词干口径回答的是:内链有没有把主题信号送到位。
字符串口径回答的是:页面上呈现的锚文本,读者看到的说法有几种。
后者跟用户体验有关,也跟页面读起来自不自然有关,不该被丢掉。
两个数字的比值本身也是个信号:比值越大,说明这门语言的形态负担越重。
把这个比值记录下来,做多语言站的时候可以横向比较各语种的形态复杂度。
实际用起来会发现比值很稳定,同一门语言在不同站点上算出来的数字差不太多。这意味着它可以当成一个校准系数:新接一个俄语站,先按字符串口径跑一遍,再乘上系数,就能大致估出词干口径的水平,不必每次都跑全套。
复合词语言的麻烦跟变格不是一回事
德语的复合词让锚划不出半个词
德语的名词变格没有俄语复杂,但它有另一个东西挡在路上:复合词。
磨豆机在德语里是Kaffeemühle,咖啡和磨这两个概念被拼成了一个单词。
现在你想给咖啡这个品类页做内链,锚文本要用哪一段?你划不出来。
一个词就是一个词,中间没有空格可以下刀,划一半得到的是一个不存在的词。
要么整词做锚,指向磨豆机页,要么改写句子让咖啡单独出现一次。
这在德语关键词研究里是老问题了,只是很少有人把它跟内链联系起来。
后果是德语站的内链密度天然比英语站低。英语里一句话可以顺手带出两三个可链的短语,德语的同一句话可能被压缩成一个复合词加一个动词,能下刀的位置少了一半。这不是内链没做到位,是构词法决定的上限,拿英语站的内链密度基准去要求德语站并不合理。
芬兰语两头都占:既复合又变格
芬兰语把两件麻烦事叠在了一起,是这个话题里最极端的样本。
磨豆机是kahvimylly,本身就是复合词;进了句子还要变格,属格kahvimyllyn,内格kahvimyllyssä。
所以一个锚同时受两重约束:边界由构词法定死,形态由语法定死。
能自由决定的只剩下要不要在这里放一条链接,以及链接指向哪里。
好在芬兰语的格尾拼接高度规则,词干归一化的成功率反而不低。
真正难的是那些词干本身会交替的词,规则算法在那里会失手。
做芬兰语站的内链时,一个务实的做法是先把常用核心词的全部形态列成表,直接用查表法比对,绕开算法。这张表几十行就够覆盖大部分场景,做一次能用很久,比调试词干算法的边缘情况划算得多。
还有一个芬兰语独有的麻烦:复合词的前半部分有时也要变格,形成属格式的复合写法。同一个概念因此可能有两种合法拼法,一种前半部分带格尾,一种不带。这两种写法在搜索量上往往不平均,做核心词形态表时要把两种都列进去,只列一种会漏掉相当一部分内链锚。
两种机制的共同后果:锚的边界不归你定
变格改的是词的形态,复合改的是词的边界,机制完全不同。
但对内链来说,两者的后果是同一个:你想要的那个精确锚,在这门语言里划不出来。
认清这一点之后,整个操作的重心就变了。
重心不再是想办法凑出精确匹配,而是接受不精确,转去保证指向关系清晰。
指向关系清晰的意思是:读者和爬虫都能看出这条链接通往什么主题。
这个目标用变形后的锚一样能达成,甚至因为句子自然,达成得更好。
放弃精确匹配这件事在心理上比在技术上难。做惯了英文站的人会觉得少了一个可控的抓手,总想找补回来。实际上抓手并没有消失,它只是从锚文本的字面移到了别的地方——目标页的标题、链接周围那句话、以及整个话题簇的结构,这三处能提供的信号一点没少。
六个锚位置,哪几个允许变形?
句内正文锚:必须允许变形
正文里嵌在句子中的锚,是最主要的一类,也是唯一必须放弃精确匹配的一类。
规则很简单:让句子通顺优先,锚文本跟着句子走。
不要为了保住主格去扭曲句子,扭出来的句子读者一眼就能看出不对劲。
屈折语的读者对格错误极其敏感,比英语读者对语法错误敏感得多。
一个格用错的句子给人的观感,接近中文里把量词全用错。
所以这一类锚的验收标准只有一条:这句话读起来像不像本地人写的。
这条标准的执行要靠母语审校那一道验收,而且要在简报里写清楚:锚文本处的词形归审校员判断,不在锁定范围内。不写清楚的话,审校员会以为这些带链接的词也属于不许动的清单,硬留着主格不改,最后拿到一份到处是病句的稿子。
列表与卡片标题:可以保持主格
列表项、商品卡片标题、侧边栏推荐这些位置,语境不是句子,是条目。
条目语境里主格是完全合法的,读者不会觉得别扭。
这就意味着这些位置可以稳定地承载精确匹配的锚文本。
换个说法:想要精确匹配,就把它挪到不需要变格的位置去。
这是整篇里最实用的一条,因为它把一个语法问题转化成了一个版面问题。
相关文章列表、你可能也需要模块、品类导航,全都属于这一类。
把精确匹配的需求集中到这些非句内位置,还有个附带好处:它们通常是模板化输出的,锚文本由数据字段决定,不需要每篇文章单独人工维护。一次配置,全站生效,比在正文里逐处纠结词形省力得多。
要提醒的一点是,模板输出的锚文本同样会出错,出错方式是全站统一错。见过一个站的相关文章模块,标题字段取的是某个带格尾的短标题字段,于是全站几千处推荐位的锚文本整齐划一地带着格尾。这类错误单看每一处都不严重,量一大就成了全站范围的形态噪音。
面包屑与导航:一律主格
面包屑和主导航的文字,在任何语言里都该用主格。
它们是标签不是句子,没有语法角色,也就没有变格的理由。
实际做站的时候这里偶尔会出错,原因是文案直接从某个句子里复制过来的。
复制过来的时候带着格尾,读者看着会觉得这个网站的导航写得很奇怪。
检查方法很简单:把导航文字单独列出来,请母语者扫一眼就能发现。
这一处的修复成本极低,收益却很直接,属于该优先做掉的小事。
多语言站还有个连带问题:面包屑的分类名往往跟分类页的标题共用同一个字段。改成主格之后分类页标题也跟着变了,如果那个标题原本是按某种句式写的,读起来就会别扭。遇到这种情况把两处字段拆开,面包屑用短标签、页面标题用完整写法,各写各的。
目录锚点与页内跳转:跟标题走
文章内的目录、页内跳转链接,锚文本应该跟对应的小标题保持一致。
小标题本身多半是主格或者某种独立形态,目录直接沿用就行。
这一类的关键不是词形,是目录文字和小标题文字必须逐字相同。
不相同会让页内锚点的段落直达失效,读者点过去也会疑惑。
屈折语站上这个错误比英文站常见,因为译者会顺手把目录里的表述改得更顺口。
验收清单里加一条逐字比对就能杜绝,脚本两行的事。
逐字相同这条要求在翻译流程里最容易断在交接处:正文和目录常常分两次交付,译者拿到目录的时候手边未必有正文的最终版。解决办法是干脆不要人工维护目录,让程序从小标题自动生成,这样两边永远一致,还省掉一次校对。
| 锚位置 | 语境 | 允许变形 | 能不能承载精确匹配 |
|---|---|---|---|
| 句内正文锚 | 句子 | 必须允许 | 不能,别强求 |
| 列表与卡片标题 | 条目 | 不需要 | 能,首选位置 |
| 面包屑 | 标签 | 不需要 | 能,一律主格 |
| 主导航 | 标签 | 不需要 | 能,一律主格 |
| 目录与页内跳转 | 标题复制 | 跟标题走 | 要求逐字相同 |
| 按钮与行动号召 | 短语 | 看句式 | 视文案而定 |
划锚边界该守哪三条规则?
只划名词短语的核心,别把介词划进来
第一条规则管的是锚从哪里开始、到哪里结束。
屈折语的句子里,名词前面常常有介词,后面可能跟着修饰成分。
贪心一点把介词一起划进锚里,锚文本就多了一个没有信息量的词。
更糟的是这个介词会决定后面名词用哪个格,两者绑在一起,锚看起来更不像关键词。
正确做法是介词留在锚外面,只把名词短语的核心部分划成锚。
形容词修饰语要不要划进来看情况:它是关键词的一部分就划,只是修饰就不划。
这条规则在实际操作里有个简单的自检:把锚文本单独摘出来读一遍,如果它像一个词条,就划对了;如果它像半句话,就划多了。多数划错的情况都是把连接成分带了进去,摘出来一读立刻能发现。
还有一种容易划错的情况是把数量词或者指示词带进锚里。这些词在句子里承担的是指代功能,跟目标页的主题没有关系,划进去只会稀释锚文本。判断方法跟前面一样:摘出来单独读,如果它需要依赖上下文才能理解指的是什么,就说明划进了不该划的成分。
允许带格尾,但格尾不算多余词
第二条规则管的是怎么评价一个带格尾的锚。
做锚文本审计的时候,很多人会把带格尾的锚判成部分匹配,理由是它跟关键词不完全一样。
这个判定在屈折语里是错的,格尾不是多出来的词,是同一个词的必要组成部分。
正确的判定是:词干相同就算命中,格尾不参与比对。
这也是前面说的换口径的核心内容,只是落到了单条锚的层面上。
把这条写进审计脚本的规则表里,人工复核的时候也照这条执行。
顺带说一句,通用依存标注体系对格的定义可以拿来当参考,它把各语言的格统一编了码。判断某个词尾到底是格尾还是派生后缀时,查一下这份定义比凭感觉可靠。派生后缀会改变词义,那才是真的换了词。
派生和屈折的界线在有些语言里并不清晰,黏着语尤其如此。土耳其语的后缀能连着挂好几层,其中有的是格标记,有的会改变词义。碰到拿不准的,最实用的判据是问一句:换成这个形式之后,它在词典里还是同一个词条吗?还是同一条就按形态处理,另起一条就按换词处理。
锚长度用词数不用字符数
第三条规则跟长度有关,是个容易被忽略的坑。
很多锚文本规范里会写:锚长度控制在多少个字符以内。
这个规范拿到屈折语和黏着语上直接失效,因为格尾会让词变长。
同一个概念,芬兰语写出来比英语长出三成很常见,匈牙利语更甚。
按字符数卡上限,等于对这些语言的锚做了额外的限制,凭空砍掉合理的锚。
改成按词数计,两到四个词,这个标准在所有语言里都成立。
按词数计还有个隐含前提要说清楚:复合词算一个词。德语里一个复合词可能有二十多个字母,按字符数它早就超标了,按词数它只占一个位置,而后者才符合它在句子里的实际角色。这也是同一条规则能同时通吃复合词语言和屈折语言的原因。
| 规则 | 怎么做 | 常见错误 |
|---|---|---|
| 划边界 | 只取名词短语核心 | 把介词、连接词划进锚 |
| 看形态 | 词干相同即命中 | 把格尾当成多余词判部分匹配 |
| 控长度 | 按词数计,两到四个词 | 按字符数卡上限,误伤长词语言 |
目标页标题里要不要留一个主格形态?
锚与标题的形态对不上会发生什么
锚文本和目标页标题的关系,是内链信号里比较重要的一环。
正文里的锚多半是间接格,目标页标题多半是主格,两者字面上对不上。
这在词干层面上没有问题,两者归一化之后是同一个词。
但如果你用的分析工具是按字符串比对的,报告会说锚与标题不相关。
这又是一次口径失真,处理方式跟前面一样,换口径重算。
真正值得担心的不是这个,是标题里那个词万一根本不是主格。
有些译者写标题的时候会沿用某种间接格,尤其是标题从正文某句话里提炼出来的时候。这样一来标题和大部分搜索查询的形态就对不上了,因为用户在搜索框里打的绝大多数是词典原形。这时候锚文本反倒不是问题,问题在标题本身。
标题里保留主格的代价与收益
建议是:目标页的标题里至少让核心词以主格出现一次。
代价是标题的写法会受一点限制,某些句式用不了。
收益是标题形态跟用户搜索的形态对齐,这一条比锚文本的匹配重要得多。
用户搜索时打出的绝大多数是词典原形,这一点在俄语的搜索量数据里看得最清楚。
标题命中原形,等于把最重要的那次匹配拿下了。
锚文本那边的变形因此可以完全放开,让位给行文自然。
这个取舍的逻辑值得说透:标题和锚文本如果只能保一个精确形态,保标题。原因是标题的展示位置和权重都在锚文本之上,而且标题只有一处、可控性强,锚文本分散在几十个页面里、根本控不住。把有限的控制力用在可控的地方,是这类取舍的通则。
用副标题或首段兜底的做法
如果标题因为某种原因必须用别的形态,还有兜底方案。
让核心词的主格形式出现在首段前一两句话里,效果差不了多少。
或者在页面上加一行副标题,用主格把核心词写一遍。
商品页还可以靠规格表里的字段名,那里天然就是主格。
兜底方案的共同点是:找一个不需要变格的位置,把原形放进去。
这套思路跟前面讲锚位置时是一样的,只是应用到了页面内部。
兜底位置的优先级可以排一下:首段最好,因为它离标题近、权重也高;规格表字段名次之,好处是天然主格而且不影响行文;副标题最灵活但要看模板支不支持。三个位置任选其一即可,不必都做,重复堆同一个原形反而显得刻意。
内链权重不会因为锚文本变形而流失,会流失的是别的东西
这个担心大部分是多余的
被问得最多的一个问题是:锚文本变形了,权重是不是就传不过去了。
答案是不会。链接本身传递的权重跟锚文本的字面形态没有关系。
锚文本影响的是主题相关性信号,也就是让搜索引擎知道目标页是关于什么的。
而搜索引擎处理主流语言的形态变化已经很多年了,词干归并是检索系统的基础能力。
所以变形的锚在相关性信号上并不吃亏,至少不会吃到值得担心的程度。
要担心的是别的:内链架构本身有没有搭对,重要页面有没有拿到足够的入链。
把注意力放在锚文本的字面上,是一种很常见的注意力错配。锚文本能提供的信号在整个内链体系里占比不大,而链接的位置、数量、来源页面的重要程度,这些才是决定性的。屈折语站的运营者尤其容易掉进这个坑,因为形态问题看起来很技术、很具体,让人误以为它很重要。
真正流失的是你的判断力,不是权重
这一批失真数据造成的实际损失,从来不是权重,是决策。
基于错误的报告,你可能补一批不该补的锚,也可能停下该做的事。
补锚的成本是内容质量下降,停手的成本是本该做的语义覆盖没做。
两种损失都不会立刻显现,它们要几个月后才在数据上露头,那时候归因已经很难。
更隐蔽的是,错误报告会持续输出,每季度提醒你同一个不存在的问题。
团队会慢慢习惯这个数字,把它当成这门语言就是这样的常态。
这类错误报告还有一个特点:它每次都指向同一个方向,也就是让你觉得内链做得不够。于是团队的动作永远是加链接,从来不会是删链接或者调结构。半年下来站内链接越堆越多,真正需要调整的结构问题一次都没被提出来,因为报告从来不看结构。
该盯的指标换成哪几个
与其盯着精确匹配比例,不如换四个指标,全都跟形态无关。
第一个是重要页面的入链数量,尤其是那些没人愿意主动链的交易页。
第二个是入链的来源分布,来自话题相关页面的比例越高越好。
第三个是孤立页面的数量,一条内链都没有的页面必须清零。
第四个是词干口径下的语义覆盖度,也就是真正不同的词有几个。
这四个指标在任何语言里都成立,不需要为屈折语单独解释一遍。
这四个指标还有一个共同的好处:它们全部可以从站内数据直接算出来,不依赖第三方工具的分桶逻辑,也就不会被工具的默认口径带偏。自己算的指标虽然要花一次开发成本,但口径完全掌握在自己手里,跨语种横向比较的时候才有意义。
| 旧指标 | 在屈折语站上的问题 | 换成 |
|---|---|---|
| 精确匹配锚占比 | 字符串口径下系统性低估 | 词干口径下的命中率 |
| 锚文本多样性 | 把形态变化误计为不同说法 | 词干去重后的真实词数 |
| 锚文本字符长度 | 误伤长词语言 | 锚文本词数 |
| 锚与标题字面相似度 | 主格与间接格判为不相关 | 词干层面的相似度 |
过度优化的红线在屈折语站上怎么定?
词干口径下的重复度才是真重复
换了口径之后,过度优化这个概念要重新定义一遍。
字符串口径下看起来很分散的锚,词干口径下可能高度集中。
集中到什么程度算过度,没有现成答案,但方向是清楚的。
如果一个目标页收到的内链,词干口径下九成以上都是同一个词,那确实过于单一。
单一不等于危险,它更多是个语义覆盖问题:你只用一种说法在描述这个页面。
补救办法不是减少那个词,是增加相关词的锚,把语义空间铺开。
判断集中度的时候建议按目标页算,不要按全站算。全站维度的锚文本分布必然分散,因为每个页面的主题不同,看不出问题;单个目标页维度上才能看出它是被一种说法反复描述,还是被多种相关说法从不同角度描述。后者对语义覆盖显然更有利。
变体自然分布长什么样
自然写作产生的形态分布是有规律的,认识这个规律能帮你识别人工痕迹。
正文里宾格和属格最多,因为大部分句子里名词充当宾语或者表示所属。
主格锚只在少数句式里出现,占比通常不高。
如果导出来发现主格锚占了大多数,那多半是人为塞进去的。
反过来,如果某个格完全不出现,可能是内容类型太单一,也值得看一眼。
这套分布特征每门语言都不同,跑一次自己站的数据就有基线了。
拿到基线之后,判断新增内容有没有人为痕迹就很快:把新一批锚的格分布跟历史基线比一下,偏离明显的挑出来人工看。这个方法比任何阈值都实用,因为它用的是你自己站的自然写作分布当参照,不依赖外部经验数据。
另外要按内容类型分开统计。教程类内容里工具格和方式类表达明显更多,商品列表页里主格占绝对多数,两类内容混在一起算平均,得到的分布谁也不像。分开统计之后每类内容各有一条基线,识别异常的灵敏度会高很多。
人为制造变体反而更可疑
有人知道了这套失真之后,会走到另一个极端:刻意制造形态变体来让报告好看。
这件事的性价比极低,而且很容易露馅。
刻意制造的变体往往出现在不该出现的位置,比如列表项里冒出一个工具格。
母语读者一眼就能看出这个网站的文字有点怪,信任感是会掉的。
而搜索引擎那边,你换来的只是一个内部报告上的数字变化。
形态多样性从来不是优化目标,句子自然才是,两者顺序不能颠倒。
这里可以直接给一条判据:任何一次锚文本调整,如果理由是让报告的数字好看,就不该做。锚文本调整的合理理由只有两个,一是原来的锚指向不清楚、读者看不出通往哪里,二是这个位置本来就该加或者该去掉一条链接。除此之外的调整都是在优化数字而不是优化站点。
一个可操作的自查顺序
把这一节压成一个能照着做的顺序,四步。
第一步,用词干口径重跑一遍全站内链报告,跟旧报告并排看。
第二步,找出词干口径下集中度最高的那几个目标页,看是不是语义覆盖太窄。
第三步,导出锚文本的格分布,跟自然写作的规律对照,找人工痕迹。
第四步,只对确实有问题的页面动手,其余不动。
四步跑下来,绝大多数屈折语站会发现内链其实没什么问题,问题在报告。
四步里第四步最容易被忽略。发现报告失真之后,人的第一反应往往是把全站的锚重新梳理一遍,其实没有必要。真正需要动手的通常只有几个语义覆盖过窄的目标页,其余页面的锚文本本来就是自然写作的产物,动它们只会引入新的不自然。
这套做法怎么落进日常的内链维护?
什么时候重跑一次词干口径
频率不必高,季度一次足够,因为内链结构变化本来就慢。
例外是内容批量上线之后,比如一次性发了几十篇文章,那要单独跑一次。
换了内容供应商或者译者,也建议跑一次,因为写作习惯会带来分布变化。
网站改版之后必须跑,模板里的链接位置一变,整个分布就重排了。
平时不必盯,把脚本挂进定期任务,出报告的时候看一眼就行。
报告要存档,几个季度之后的趋势比单次快照有价值得多。
存档的时候记得把当时的词干工具版本和参数一起记下来。这类算法偶尔会更新规则,换了版本之后同一批数据算出来的数字会有小幅变动,如果没记参数,几个季度后看到趋势变化会分不清是内容变了还是工具变了。这种记录成本几乎为零,省下的排查时间却很可观。
新增页面的锚怎么定
发新文章的时候,内链是顺手做的事,别搞得太复杂。
做法是:写作时正常写,写完之后找出可以链出去的名词短语,按前面三条规则划锚。
不要为了链接去改句子,也不要为了保住形态去改句子。
需要精确匹配的,交给页面底部的相关文章模块,那里是模板输出的。
把这个流程写进内容规范,译者和编辑都照做,一年下来分布自然健康。
唯一需要人工把关的是链接的指向对不对,形态问题完全不用管。
这一点对话题簇的支柱页与子页结构尤其重要:簇内的链接关系是靠结构定义的,不是靠锚文本字面定义的。结构对了,锚文本怎么变形都不影响簇的完整性;结构错了,锚文本写得再精确也补不回来。
写作时正常写这一条要跟译者讲清楚,否则会出现另一种情况:译者知道了内链的存在,于是刻意往句子里安排适合做锚的名词短语,句式开始变得雷同。内链应该是从自然文本里发现的,不是为它预留位置的。这条边界写进内容规范,比事后挑毛病有效。
六步落地路线
整篇压成六步,可以直接照着排期。
第一步,确认自己站的语言属于哪一类:变格、复合,还是两者都有。
第二步,选一个词干工具跑通归一化,验证核心词的各形态能落到同一个词干。
第三步,用词干口径重跑一次全站内链报告,跟旧报告并排存档。
第四步,按六种锚位置划分职责,把精确匹配的需求集中到非句内位置。
第五步,检查目标页标题里核心词有没有主格形态,没有的补上或者用首段兜底。
第六步,把三条划锚规则写进内容规范,季度重跑一次报告。
六步里最关键的是第三步和第四步。第三步让你知道真实情况,第四步把想要的精确匹配挪到不受语法约束的地方去,两步做完,剩下的都是维护性工作。前面那些关于形态的纠结,本质上是想在一个不能控制的地方争取控制权,换个地方就不用争了。
常见问题解答
没有词干工具支持的小语种,锚文本审计还能做吗?
能做,退一步用前缀匹配。取每个词的前若干个字符做比对,比如前四到六个字符,绝大多数屈折语的格尾都在词的末尾,前缀部分是稳定的。这个办法会有误判,两个不同的词开头相同就会被并到一起,但用于分桶统计完全够用。另一条路是手工维护一张核心词的形态表,几十行覆盖主要品类词,查表比对,精度反而比算法高。两个办法可以叠着用。
锚文本变形会不会影响搜索引擎理解链接指向?
基本不会。词形归并是检索系统的基础能力,主流语言上处理得相当成熟,一个带格尾的词和它的原形在索引层面早就被关联起来了。真正影响理解的是别的因素:链接周围那句话在讲什么、目标页标题写的是什么、这两个页面在站内结构上是什么关系。这些信号加起来的分量远超锚文本的字面形态。把精力放在这几处,比纠结格尾划算得多。
面包屑里的分类名到底该用什么形态?
用主格,也就是词典原形。面包屑是一串标签,不是句子,没有语法角色需要标记,用间接格反而显得奇怪。实践中出错的情况几乎都是文案从某句话里复制过来的,带着格尾就上线了。检查方法很简单:把全站的面包屑分类名导出来列成一列,请母语者扫一遍,几分钟就能挑完,修复成本也极低。这类小事修完的观感提升比想象中明显。
德语站的内链密度比英文站低,这算问题吗?
不算,这是构词法带来的结构性差异。德语把两三个概念压成一个复合词,一句话里能下刀的位置本来就比英语少;能划的又常常是整个复合词,指向也就被锁定了。拿英文站的内链密度基准去要求德语站,结果多半是硬塞链接,反而让文本变形。合理的做法是给每种语言单独建基线,用自己站的历史数据当参照,横向比不同语言的绝对数字没有意义。
目标页标题非要用间接格,有没有补救办法?
有,让核心词的主格形式在页面别的位置出现一次就行,优先选首段的前一两句话,其次是副标题、规格表字段名或者面包屑。这些位置都不需要变格,天然承载原形。要注意的是别在标题里硬塞一个主格形式凑数,那会让标题读起来像两句话拼起来的。补救的思路始终是找一个不受语法约束的位置,而不是在受约束的位置上硬来。
词干口径和字符串口径的报告,该给老板看哪一份?
给词干口径那份,但要把两份的差异用一句话解释清楚,否则下次别人拿工具跑出来的数字跟你的对不上,信任就没了。比较省事的做法是在报告里固定放一个换算说明:本站锚文本按词干归一化统计,与通用工具的默认口径不同,差异来源是这门语言的形态变化。写一次,以后每份报告都带着,比每次口头解释可靠。
这套方法对没有词间空格的语言适用吗?
部分适用。词干归一化的思路成立,但前置的分词步骤要换成专门的分词器,按空格切完全行不通。而且那类语言的问题重心不在形态变化,而在切分边界本身:同一串字符可能有多种切法,锚文本的起止位置会直接影响它被理解成什么词。所以那边要先解决切分,再谈锚文本审计,顺序不能反。这属于另一类问题,处理框架不同。
权威参考资料
本文标题:《屈折语站的锚文本报告,精确匹配那一栏的数字是假的》
本文链接:https://zhangwenbao.com/minor-language-internal-link-anchor-inflection-variants.html
版权声明:本文原创,转载与引用请注明作者与原文链接。许可协议: CC BY 4.0