转眼间博客已经整整一年没更新了。为了不要让SEO每天一贴变为多年一贴,在刚好一年的时候更新一下。
今年简直是世界大乱,虽然各个事件会以怎样的方式结束还不知道,但可以肯定的是,对世界、对国家、对个人,都有方向性的巨大影响,影响大到想对世界、对人生发些感慨,都不知道从何说起了。所以还是回到seo这个小话题吧。
前几天一位国内某大型电商SEO部门的朋友问我些问题,其中一个很有意思,一两句话又说不清楚,所以写个帖子回答,也许对其它SEOer也有帮助。
他的问题是:
(我的《SEO实战密码》词频和密度部分)指出:在google搜索“新加坡旅游”关键词时,出现“新加坡”返回85200000个结果,搜索“旅游”返回342000000个结果。
问题:我在google搜索“新加坡旅游”返回了131,000,000个结果,搜索“新加坡旅游 -旅游”返回了43,600,000个结果,搜索“新加坡旅游 -新加坡”返回了0个结果,不明白为什么搜索“新加坡旅游”中除去“新加坡”会返回0个结果?
搜索了一下他提到的查询词,果然是这么个情况。
前两个搜索结果数字是我的书里引用的,现在的结果数字已经增加了,现在搜索“新加坡”有218,000,000个结果,搜索“旅游”有802,000,000个结果。比例是大致不变的,而且是在直观理解范围内的:旅游这个词使用范围更大,出现在更多页面中。
第三个数字也符合通常理解的搜索算法预期。搜索“新加坡旅游”,他看到的结果数是131,000,000,我看到的是90,400,000,数字不同可能和地理位置、个性化结果等有关,但差异不大。
通常,查询词由多个词组成时,搜索引擎使用的是“和/且”逻辑,也就是说,返回的是包含所有词的页面。搜索“新加坡旅游”,返回的是既包含“新加坡”,也包含“旅游”的页面,或者说是“新加坡”和“旅游”两个词搜索结果的交集。显然,搜索结果数就要变小,至多是相等于小的那个集合。
下一个搜索结果数就变得有意思了。搜索“新加坡旅游 -旅游”,他看到的是返回了43,600,000个结果,我看到的是44,300,000个结果。如前所述,数字上的小差异不重要,重要的是这个数值本身就有些怪异:
减号“-”是个特殊搜索指令,意义是排除包含这个词的页面。那么查询词“新加坡旅游 -旅游”是什么意思呢?应该是既包含“新加坡”,也包含“旅游”的页面、再减去包含“旅游”的页面,那不就应该是没有结果吗?
再下一个搜索结果验证了这个算法逻辑。搜索“新加坡旅游 -新加坡”,指的是包含“新加坡”,也包含“旅游”的页面、再减去包含“新加坡”的页面,结果应该是零个,也确实是零个:
返回零个结果才是符合算法逻辑的。那位朋友的想法可能是“新加坡旅游 -新加坡”=“旅游”?其实不是,搜索“新加坡旅游 -新加坡”,指的是既包含“新加坡”,也包含“旅游”、同时又不包含“新加坡”的页面,没有符合条件的页面。
那“新加坡旅游 -旅游”怎么又有结果了呢?逻辑不应该是一样的吗?魔鬼可能在细节中。观察一下搜索结果中的页面内容:
仔细看,会发现返回的页面包含的基本上都是“旅遊”,而不是“旅游”。所以一个合理的可能性是,搜索一个词时,搜索引擎会找到对应的繁体字、异体字,大概率还会考虑同义词。“新加坡旅游 -旅游”就变成了包含“新加坡”、包含“旅遊”或“旅游”、同时又不包含“旅游”的页面,结果就是包含“新加坡”以及“旅遊”的页面。
所以“新加坡旅游 -旅游”的结果应该大致等于“新加坡旅遊”的结果。看一下“新加坡旅遊”的结果:
返回45,600,000个结果,和“新加坡旅游 -旅游”的44,300,000个非常接近。仔细看的话,会发现“新加坡旅遊”的结果中还是有一些“新加坡旅游”的页面,可能Google认为“旅游”是比“旅遊”更常用的写法,还是应该推荐一些给用户。
那么“新加坡旅游 -新加坡”怎么就没有结果了呢?因为“新加坡”好像没有繁体字/异体字的写法。
如果这个假设成立,搜索“国名旅游 -国名”,其中国名有繁体字/异体字的话,是不是就应该有结果了呢?试一下“马来西亚旅游 -马来西亚”:
确实,返回的基本上是“馬來西亞”的页面。再验证一下,搜索“国名旅游 -国名”,国名没有繁体字/异体字(和“新加坡”一样),是不是就没有结果了呢?试一下“日本”:
果然没有结果。
有的读者可能已经又多想了一步:减号后面的“旅游”为什么不被扩展加上“旅遊”呢?如果减号后的词也被扩展考虑其异体字/繁体字,“-旅游”就将变成“-旅遊 -旅游”。我的理解是,减号作为特殊指令,是必须严格匹配的,不做扩展。
所以,如果要想让“新加坡旅游 -旅游”结果变为零,需要写成这样:“新加坡旅游 -旅遊 -旅游”,验证一下:
果然没有结果了。不过就算是0个结果,也没挡住 Google给我推广告
读者感兴趣的话还可以试一下其它查询词的组合,也应该大致是这个规律。
也可以试一下百度搜索结果。百度和Google处理方法有一些细节的不同,百度在找繁体字、异体字、同义词时貌似更宽泛,搜索“新加坡旅游”时会把“新加坡游玩”之类的词包括进来。但大致思路是很类似的,“新加坡旅游 -新加坡”在百度虽然不是没结果,但只有600多个结果,而且以英文页面为主。
研究这么细节的东西对SEO工作有什么用呢?说实话我也还没想到具体有什么用,不过是个不错的观察、思维训练,也测试一下自己对搜索算法、搜索指令的理解准确性。
既然是训练,就再加个思考题:
前面的例子在搜索时都没有带双引号,双引号也是特殊搜索指令,意思是严格匹配搜索双引号里的词。如果搜索“新加坡旅游 -旅遊 -旅游”时带着双引号一起搜,会是什么结果呢?先别往下看答案,先思考一下。
答案:目前的结果是有9个返回页面,略过广告,前几个页面是这样:
所以,双引号里的减号不再被视为搜索指令了,而是被当作普通标点符号忽略了。
忽略掉减号后,双引号里的词就变成普通词,会被扩展繁体字/异体字/同义词。
结果就是,带双引号搜索“新加坡旅游 -旅遊 -旅游”时,返回的就是几个真的在页面上连续、完整、按顺序出现“新加坡旅游 旅游 旅游”的页面。
最后,过些天,本页面,以及可能的转载、抄袭版本,大概率会在带双引号搜索“新加坡旅游 -旅遊 -旅游”时出现。
作者:Zac