利用Python和Google Cloud从服务器日志数据中提取有意义的SEO见解

2020-02-21

对于我在搜索引擎领域的第一篇文章,我将首先引用Ian Lurie:

日志文件分析是一门失传的艺术。但这可以节省您的SEO对接!

明智的话。

但是,从服务器日志文件中获取我们需要的数据通常很麻烦:

  • 庞大的日志文件需要强大的数据接收管道,可靠的云存储基础架构和可靠的查询系统
  • 为了将神秘的原始日志数据转换为清晰的位,还需要细致的数据建模,适用于探索性数据分析和可视化

在这个由两部分组成的系列的第一篇文章中,我将向您展示如何轻松地将分析扩展到更大的数据集,以及如何从服务器日志中提取有意义的SEO见解。

所有这些都只需要少量的Python和少量的Google Cloud!

这是我们的详细行动计划:

#1 –首先,我会给您一些背景信息:

  • 什么是日志文件以及为什么它们对SEO至关重要
  • 如何掌握它们
  • 为什么在服务器日志分析方面,仅凭Python不能总是将其削减

#2 –然后我们进行设置:

  • 创建一个Google Cloud Platform帐户
  • 创建一个Google Cloud Storage存储桶以存储我们的日志文件
  • 使用命令行将我们的文件转换为兼容格式以进行查询
  • 手动和以编程方式将文件传输到Google Cloud Storage

#3 –最后,我们将深入探讨Pythoning的细节–我们将:

  • 在Colab内部使用Bigquery查询我们的日志文件!
  • 建立一个数据模型,使我们的原始日志更加清晰 
  • 创建分类列,以进一步加强我们的分析
  • 筛选结果并将其导出到.csv

在本系列的第二部分(将于今年晚些时候提供)中,我们将讨论更高级的Python数据建模技术以评估:

  • 机器人抓取量
  • 抓紧预算浪费
  • 重复的网址抓取

我还将向您展示如何将日志数据聚合并将其添加到Search Console数据,以及如何使用Plotly Dash创建交互式可视化效果!

激动吗 让我们开始吧!

系统要求

我们将在本文中使用Google Colab。由于Google Colab位于云端,因此这里没有特定要求或向后兼容性问题。

可下载的文件

  • 可在此处访问Colab笔记本
  • 日志文件可以在Github上下载-4个示例文件,每个20 MB,跨越4天(每个文件1天)

请放心,笔记本电脑已经以闪电般的速度经过了数百万行的测试,没有任何障碍!

序言:什么是日志文件?

虽然我不想唠叨太多关于哪些日志文件,为什么他们可以是非常宝贵的搜索引擎优化等。(哎呀,有许多 伟大的 文章的话题了!),这里的一些背景。

服务器日志文件记录了向Web服务器提出的每个内容请求。

每一个 单。一。

以最原始的形式,日志是无法理解的,例如,这是来自Apache Web服务器的一些原始行:

令人生畏的,不是吗?

必须对原始日志进行“清理”以便进行分析;这就是数据建模的起点。但是稍后会介绍更多。

日志文件的结构主要取决于服务器(Apache,Nginx,IIS等),但它具有常绿的属性:

  • 服务器IP
  • 日期/时间(也称为时间戳)
  • 方法(GET或POST)
  • URI
  • HTTP状态码
  • 用户代理

通常可以包含其他属性,例如:

  • Referrer:将用户“链接”到您的网站的URL
  • 重定向的URL,发生重定向时
  • 发送文件的大小(以字节为单位)
  • 花费的时间:处理请求和发送响应所花费的时间

为什么日志文件对SEO很重要?

如果您不知道它们为什么重要,请阅读此书。明智地度过时间!

访问日志文件

如果您不确定从哪里开始,最好是询问您的(客户端)Web开发人员/ DevOps是否可以通过FTP授予您对原始服务器日志的访问权限,理想情况下无需应用任何过滤。

以下是在三种最受欢迎​​的服务器上查找和管理日志数据的一般准则:

  • Apache日志文件(Linux)
  • NGINX日志文件(Linux)
  • IIS日志文件(Windows)

我们将在该项目中使用原始Apache文件。

为什么在日志分析方面仅靠熊猫还不够

Pandas(使用Python构建的开源数据操作工具)在数据科学中非常普遍。

切片和切成表格的数据结构是必须的,当数据适合内存时,哺乳动物的工作就像一种魅力!

也就是几千兆字节。但不是太字节。

除了并行计算(例如DaskPySpark),数据库通常是内存中不适合的大数据任务的更好解决方案。使用数据库,我们可以处理消耗数TB磁盘空间的数据集。一切都可以(通过SQL)查询,访问和轻松更新!

在本文中,我们将通过Google BigQuery在Python中以编程方式查询原始日志数据。它易于使用,价格合理且闪电般迅捷-即使是数TB的数据!

Python / BigQuery组合还允许您查询存储在Google Cloud Storage上的文件。甜!

如果Google不适合您,并且您想尝试其他选择,那么Amazon和Microsoft也提供云数据仓库。它们也与Python集成良好:

亚马逊:

  • AWS S3
  • 红移

微软:

  • Azure存储
  • Azure数据仓库
  • Azure Synaps

创建GCP帐户并设置云存储

Google Cloud Storage和BigQuery都是Google Cloud Platform(GCP)(Google的云计算服务套件)的一部分。

GCP不是免费的,但您可以使用$ 300的赠送金额试用一年,并可以使用所有产品。很酷

请注意,试用期结束后,Google Cloud Free Tier仍可让您免费访问大多数Google Cloud资源。每月有5 GB的存储空间,如果您要试验小型数据集,进行概念验证等,通常就足够了。

--- END ---


( ! ) Warning: realpath(): open_basedir restriction in effect. File(/www/server/panel/tmp) is not within the allowed path(s): (/www/wwwroot/www.hqtweb.com/:/tmp/) in /www/wwwroot/www.hqtweb.com/wp-includes/functions.php on line 2124
Call Stack
#TimeMemoryFunctionLocation
10.751949326368shutdown_action_hook( ).../load.php:0
20.751949326368do_action( $hook_name = 'shutdown' ).../load.php:1260
30.751949326744WP_Hook->do_action( $args = [0 => ''] ).../plugin.php:517
40.752049326744WP_Hook->apply_filters( $value = '', $args = [0 => ''] ).../class-wp-hook.php:348
50.752449287304wpcf7_cleanup_captcha_files( ).../class-wp-hook.php:322
60.752449287304wpcf7_init_captcha( ).../really-simple-captcha.php:555
70.752449287592ReallySimpleCaptcha->__construct( ).../really-simple-captcha.php:396
80.752449288608path_join( $base = '/www/wwwroot/www.hqtweb.com/wp-content/plugins/really-simple-captcha', $path = 'tmp' ).../really-simple-captcha.php:46
90.752449288608path_is_absolute( $path = 'tmp' ).../functions.php:2154
100.752449288608realpath( $path = 'tmp' ).../functions.php:2124