1. 您的位置:首页 > seo技术 >内容

资料探索:尝试预测Google排名的实验

用于数据收集的Node.js代码

介绍

在过去的几个月中,我们一直与一家名为Statec(巴西的数据科学公司)的公司合作,以设计预测算法的功能。 使用预测算法的最初考虑因素之一是选择相关数据进行培训。

我们很天真地提出了一些我们认为可能具有一定价值的网页功能列表。 我们的目标只是看是否可以从可用功能中接近预测Google中某个网页的排名。 我们很快就了解到这一过程,我们不得不对无法访问的数据施加盲目性,并希望我们拥有的数据能够达到最佳状态。

以下是对我们收集的数据,我们如何收集数据以及从数据得出的有用相关性的分析。

数据

最初的问题是,我们需要访问排名数据才能获得足够的搜索引擎结果页(SERP)结果,以提供有用的培训集。 幸运的是,GetStat使此操作非常容易。 使用GetStat,我们只需加载美国前200个城市(按大小)位置中的前25个服务行业的关键字组合即可。 这样就产生了5,000个唯一的搜索词(例如,北卡罗来纳州夏洛特的“夏洛特会计”)。

我们的Consultwebs公司专注于法律营销,但我们希望该模型更加通用。 在加载了5,000个字词并等待一天后,然后我们获得了大约500,000个搜索结果,可用于构建数据集。

如此简单之后,我们收集了其余数据。 我使用Node.js构建了多个搜寻器,因此我决定在现有工作的基础上构建功能提取机制。 幸运的是,Node.js是此类工作的绝佳生态系统。 下面,我列出了几个使Node非常适合数据收集的库:

  • Aylien TextAPI-这是第三方服务的节点API,可进行情感分析,文本提取,摘要,概念/关键字提取和命名实体识别(NER)。
  • Natural(自然)—一个很棒的用于节点的自然语言处理工具包。 它对Python上的功能没有什么帮助,但是令人惊讶地满足了我们的需求。
  • 文本统计信息-有助于获取有关句子长度,阅读水平等数据。
  • Majestic-我开始通过自定义脚本抓取他们的API,但是他们一口气提供了数据,这非常好。 谢谢,迪克森!
  • Cheerio —一个易于使用的库,用于使用jQuery样式的标记解析DOM元素。
  • IPInfo —并不是真正的库,而是用于获取服务器信息的出色API。

抓取过程非常缓慢,主要是由于API提供商和我们的代理服务的访问限制。 我们本来可以创建一个集群,但是费用限制了我们每秒只能访问几个API。

慢慢地,我们获得了全部500,000个URL的完整爬网。 以下是我在抓取网址以进行数据收集方面的一些注意事项:

  • 尽可能使用API​​。 Aylien在执行节点库不一致的任务时非常宝贵。
  • 找到一个好的代理服务,该服务将允许在连续的呼叫之间进行切换。
  • 为可能导致错误的网站和内容类型创建逻辑。 Craigslist,PDF和Word文档在爬网期间引起了问题。
  • 认真检查收集到的数据,尤其是在前几千个结果中,以确保爬网中的错误不会对收集到的数据的结构造成问题。

结果

我们已经在另一篇文章中报告了排名预测的结果,但是我想回顾一下所收集数据中的一些有趣见解。

最有竞争力的壁ni

对于此数据,我们将整个数据集减少为仅包括前20名中的排名,并且还删除了基于引荐域的前4%观察值。 移除引用域名前4%的目标是防止诸如Google,Yelp和其他大型网站之类的网址对平均值产生不适当的影响。 由于我们专注于服务行业的结果,因此我们希望确保可以比较本地商业网站,而不是主要目录。

在下面的图表中,由于实践网站工作中的页脚链接,我们假设网页设计师类别是最大的类别。 第二高的收入对于那些在法律领域工作的人来说并不奇怪。

Referring domains by niche chart

顶级城市链接比赛

再次,我们过滤了所有观察结果中排名前20位的结果,并根据引荐域从Google,Yelp和其他大型网站中删除了网址,从而移除了观察结果中前4%的结果。 在满足特定城市客户的需求时,可以在建议中随意使用此功能。

对于那些在这些城市拥有客户的我们这些人来说,这里的最佳结果并不令人惊讶。 特别是纽约,对于许多利基市场而言是艰巨的任务。

Average referring domains by city chart

Facebook股票

对于此数据,我们将每个搜索词的完整排名数据保持在100个结果中,但是我们删除了引用域超过前四个百分比阈值和5,000多个Facebook份额的观察结果。 这是对整体大小的最小缩减,但它使数据图更加整洁。

剧情让我想起了我什么时候去射击场,因为实际上没有射击的命令。 平均股数与排名的Pearson相关性为0.016,您可以从图表中看出,很难在Facebook和此类网站的排名影响之间划清界限。

Average Facebook shares by rank chart

雄伟的引文流

对于“引文流”(CF),我们保留了每个搜索词的全部100个结果,但是我们再次删除了引荐域的前4%。 毫不奇怪,使用此指标的任何人,平均CF得分与排名位置之间都存在-0.872的非常强的相关性。 存在负相关关系,因为随着CF分数越高,等级就越低。 这是使用CF的一个很好的理由。

Average Majestic Citation Flow by rank chart

雄伟的信任流

对于“信任流”,我们保留了每个搜索词的全部100个结果,但我们再次删除了引荐域的前4%。 相关性不如引文流强,但相对强于-0.695。 图表中有趣的注释是进入前20个结果时的轨迹向上。 另请注意,由于其他指标对本地结果的影响,第1至第3位可能会出现偏差。

Average Majestic Trust Flow by rank chart

响应时间

如今,速度已成为所有人关注的焦点,Google专注于速度和AMP等新项目。 由于抓取限制,我们只能测量托管服务器获取页面内容所花费的时间。 我们要小心不要将其称为加载时间,因为通常将其称为浏览器加载和呈现页面所花费的时间。 还需要考虑我们的服务器(AWS)与主机之间遇到的延迟,但是总的来说,结果的任何偏差都可以忽略不计。

同样,这是每个搜索词的100个搜索结果,其中通过引用域名获得的前4个搜索结果被删除。 皮尔逊相关系数为0.414,这表明响应时间与排名之间存在关系。

尽管与Backlinko针对HTTPS所发现的相关性相似,但可以用更好的运行方式来解释这一点,并且各地的优化站点都倾向于顶部。 在Backlinko的调查结果中,我会质疑将HTTPS设置为Google排名首选项(我知道他们所说的话)是否正确,或者是否在许多垂直行业中,排名靠前的结果都倾向于使用HTTPS的品牌。

Average server response time by rank chart

文字长度

这让我有些吃惊,但请记住,此数据集中的关键字本质上更具交易性,而不是通常的Wikipedia引发结果。使用了全部100个结果,以及前4个引用域名已删除。

皮尔逊相关性等级为0.829,这表明它可能并不都涉及较长的内容。 请注意,本地结果仍然清晰可见,并且需要注意的是,文本长度以字符为单位,平均可以除以4.5转换为单词。

Average text length by rank chart

服务器类型

我们收集的其他功能之一是服务器类型。 此数据从服务器响应标头“ Server”中提取,并分类为13个类别之一。 我们将每个搜索词的搜索结果限制在前20位,并且没有放置用于引用域的过滤器。 此外,我们省略了数据集中未定义或不常用的类型。 “ GWS”类型适用于Google Web服务。 较低的平均排名可以归因于Google视频,而Google本地搜索结果通常会以突出的位置出现。

Average rank by server type chart

URL深度

对于网址深度,我们过滤了所有观察结果中排名前20位的结果,并根据引荐域从Google,Yelp和其他大型网站中删除了网址,从而移除了观察结果中前4%的结果。 这是一个有趣的建议,因为通常的建议是,您希望最重要的结果尽可能靠近站点的根。 另外,请注意本地对网站首页的影响。

按排名图表显示的平均URL长度

结论

我认为我们的数据分析结果没有任何真正的惊天动地的事,这只是我们在培训期间收集的70多种功能的一小部分数据。

对我来说,最重要的两个要点是,链接和速度是可以对网站产生最大影响的领域。 内容必须是好的(并且在某些地方,用户行为会影响某些垂直行业的排名),但是您必须被视为产生用户行为。 该数据集中最有趣的一件事是,与其他对大量查询进行抽样的研究相比,它更适合小型企业类型的查询。

我一直是测试的倡导者,而不是依靠对他人有用的工具或您喜欢的博客上报告的内容。 GetStat和一些JavaScript(节点)可以让您轻松地组合收集机制,以更细致地了解与您所从事的细分市场相关的结果。能够进行此类研究也可以为您提供帮助向我们的非SEO同行提供理由,说明我们为什么建议以某种方式完成工作。


本文中表达的观点是来宾作者的观点,不一定是Search Engine Land。 工作人员作者在此处列出。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。如若转载,请注明出处:http://www.botadmin.cn/sylc/9680.html