正如我在上一篇文章中所提到的,数据混合可以发现真正强大的洞察力,否则是看不到的。
当您开始将SEO工作转向数据驱动时,您会很自然地查看手头的所有数据源,并可能发现提出新的数据混合想法很有挑战性。这里有一个我经常使用的简单快捷方式:我不从我拥有的数据源开始(自下而上),而是从我需要回答的问题开始,然后编译我需要的数据(自上而下)。
在本文中,我们将探讨5个可以用数据混合来回答的其他SEO问题,但在深入讨论之前,我想解决一些您在实践此技术时将面临的挑战。
Tony McCreath提出了一个非常重要的挫折,当数据混合时你可能会经历:
像这样收集数据可能很有趣,但有时也令人沮丧。如果只有谷歌分析可以正确存储url。https://t.co/nDhU8I13I5
——托尼·麦克雷特(@TonyMcCreath) 2019年2月23日
当您连接单独的数据集时,需要以相同的方式格式化公共列,以便此技术工作。然而,事实并非如此。通常需要在join操作之前对列进行预处理。
在Tableau、Power BI和类似的商业智能工具中执行高级数据连接相对容易,但是当您需要对列进行预处理时,学习一点Python知识是值得的。
下面是您将经常看到的一些最常见的预处理问题,以及如何在Python中解决这些问题。
url
绝对或相对。你会经常发现绝对和相对url。例如,谷歌Analytics的url是相对的,而SEO spider crawls的url是绝对的。您可以将两者转换为相对或绝对。
这里是如何转换相对url为绝对:
这里是如何转换绝对url为相对:
区分大小写。大多数url都是大小写敏感的,但如果站点托管在Windows服务器上,您经常会发现url大小写不同,但返回的内容相同。您可以将两者转换为小写或大写。
这里是如何转换为小写:
这里是如何转换为大写:
编码。有时URL来自另一个源URL的URL参数,如果它们有查询字符串,它们将是URL编码的。当您提取参数值时,您使用的库可能会也可能不会帮您完成。
下面是如何解码url编码的url
参数处理。如果URL有多个URL参数,您可能会面临以下问题:
您可能有没有值的参数。
您可能有多余/不必要的参数。
您可能有不同的参数排序
下面是我们如何解决这些问题的方法。
日期
日期可以有许多不同的格式。主要的策略是将它们从源格式解析为Python datetime对象。您可以选择操作datetime对象。例如,正确排序日期或本地化到特定时区。但是,最重要的是,您可以使用一致的约定轻松格式化datetime日期。
下面是一些例子:
关键字
在不同数据集中正确匹配关键字也是一个挑战。您需要检查列,以查看关键字是否按照用户键入的方式出现,或者是否有任何规范化。
例如,用户通过复制和粘贴文本进行搜索并不少见。这种类型的关键字搜索将包括连字符、引号、商标符号等通常不会出现在键入时。但是,在输入时,用户之间的空格和大小写可能不一致。
为了规范化关键字,您至少需要删除任何不必要的字符和符号,删除额外的间距,并以小写(或大写)进行标准化。
下面是你在Python中如何做到的:
现在我们知道了如何预处理列,让我们进入本文有趣的部分。让我们回顾一些其他的SEO数据混合例子:
带有搜索点击的错误页面
您从web服务器日志中获得了大量404错误列表,因为谷歌搜索控制台无法轻松获得完整列表。现在你需要重定向他们中的大多数恢复丢失的流量。你可以使用的一种方法是用搜索点击对页面进行排序,从最流行的开始!
以下是你需要的数据:
谷歌搜索控制台:页面,点击
Web服务器日志:HTTP请求,状态代码= 404
公共列(用于合并函数):left_on: page, right_on: HTTP请求。
页面缺少谷歌分析跟踪代码
有些站点选择手动插入跟踪代码,而不是将它们放在web页面模板上。这可能会导致由于页面丢失跟踪代码而导致流量少报问题。您可以爬取站点来找到这样的页面,但是如果这些页面没有从站点中链接呢?可以使用的一种方法是比较谷歌Analytics和谷歌Search Co中的页面