运用Google查找与某敞开 API东西结合做免费SEO剖析

摘要

首页-无极4app-首页主管【38153】SEO剖析师的头衔,就是寻觅很多免费数据来源,并将其整理成有见地的东西。为什么?因为将客户的主张根据猜测没有任何价值。最好将高质量的数据与杰出的剖析相结合,以协助咱们的客户更好地了解对他们而言重要的方面。在本文中,我将告诉您怎么开端运用一些免费资源,并阐明怎么组

SEO剖析师的头衔,就是寻觅很多免费数据来源,并将其整理成有见地的东西。 为什么? 因为将客户的主张根据猜测没有任何价值。 最好将高质量的数据与杰出的剖析相结合,以协助咱们的客户更好地了解对他们而言重要的方面。

在本文中,我将告诉您怎么开端运用一些免费资源,并阐明怎么组合独特的剖析办法,这些办法能够为您的博客文章供给有用的见地(假如您是作家,则是署理组织,假如您是SEO,或许您的网站(假如您是自己进行SEO的客户或所有者)。

运用Google查找与某敞开 API东西结合做免费SEO剖析

我要运用的计划是我要剖析一些SEO特点(例如,反向链接,页面权限等),并检查它们对Google排名的影响。 我想回答以下问题:“反向链接真的对进入SERP的第1页有效吗?”和“我真的需求在前10个成果中取得哪种页面权威评分?”为此,我需求结合起来来自许多Google查找的数据,其间包括我要衡量的具有SEO特点的每个成果的数据。

让咱们开端并研讨怎么组合以下使命以实现此方针,这些使命都能够免费设置:

运用Google自定义查找引擎查询

运用免费的某(能够挑选自己喜欢的 我国或许美国的都能够) API帐户

运用PHP和MySQL搜集数据

运用SQL和R剖析数据

运用Google自定义查找引擎查询

咱们首要需求查询Google并存储一些成果。 为了坚持Google服务条款的正确性,咱们不会直接抓取Google.com,而是会运用Google的“自定义查找”功用。 Google的自定义查找首要旨在让网站所有者在其网站上供给相似Google的查找小部件。 可是,还有一个免费的根据REST的Google查找API ,可让您查询Google并以流行的JSON格局检索成果。 有配额约束,可是能够装备和扩展配额约束 ,以供给可运用的杰出数据样本。

在正确装备为查找整个网络后,您能够将查询发送到自定义查找引擎(在咱们的示例中是运用PHP),并将其视为Google呼应,尽管有一些留意事项。 运用自定义查找引擎的首要约束是:(i)它不运用某些Google Web查找功用(例如个性化成果),而且; (ii)假如您包括十个以上的网站,则或许包括Google索引的一部分成果。

尽管有这些约束,但仍有许多查找选项能够传递给自定义查找引擎,以署理您或许希望Google.com回来的内容。 在咱们的场景中,咱们在拨打电话时传递了以下内容:

https://www.google.com/customsearch/v1?key=&userIp=&cx&q=iPhone + X&cr=countryUS&start=

1

哪里:

https://www.google.com/cn/customsearch/v1 –是Google自定义查找API的网址

key=–您的Google Developer API密钥

userIp=–计算机的IP地址

cx=–您的Google自定义查找引擎 ID

q=iPhone + X – Google查询字符串(“ +”替代“”)

cr=countryUS –国家/区域约束(来自Goolge的“ 国家/区域名称”列表)

start=1 –回来的第一个成果的索引-例如SERP页面1。连续调用将使其递增以得到页面2–5。

谷歌曾说过谷歌自定义查找引擎与谷歌.com有所不同 ,可是在有限的产品测验中,我比较了两者之间的成果,这让我感到鼓动,因而继续进行剖析。 也就是说,请记住,以下数据和成果来自Google自定义查找(运用“整个网络”查询),而不是Google.com。

运用免费的某 API帐户

应用程序编程接口 (API)。 要运用它,您需求注册一个 API密钥 ,该密钥是免费的,但有约束,每十秒钟一次查询 。 具有免费的帐户和API密钥,然后您能够查询Links API并剖析以下目标 :

运用Google查找与某敞开 API东西结合做免费SEO剖析

在调用Links API之前,将xxx API代码增加在一起,如下所示:

www.apple.com%2F?Cols=103616137253&AccessID=xxx_ACCESS_ID&

过期=1560586149&Signature=

成果:

http://lsapi.xxxx.com/linkscape/url-metrics/“ class=” redactor-autoparser-object“> http://lsapi.sxxxx.com/linksc ... – API的URL

http%3A%2F%2F www.apple.com.tw%2F –咱们要获取数据的编码URL

Cols=103616137253 –上表中的Moz API代码总和

AccessID=xxx_ACCESS_ID – 拜访ID的编码版别(可在您的API帐户中找到)

Expires=1560586149 –查询超时-设置为未来几分钟

Signature=– 拜访ID的编码版别(在您的API帐户中找到)

将回来相似以下JSON的内容:

数组

[ut]=>apple

[uu]=> www.apple.com/ [ueid]=> 13078035

[uid]=> 14632963

[uu]=> www.apple.com/

[ueid]=> 13078035

[uid]=> 14632963

[umrp]=> 9

[umrr]=> 0.8999999762

[fmrp]=> 2.602215052

[fmrr]=> 0.2602215111

[us]=> 200

[upa]=> 90

[pda]=> 100

有关运用PHPPerl,Python,Ruby和Javascript查询数据的一个很好的起点,请参阅Github上的此存储库 。 我挑选运用PHP。

运用PHP和MySQL搜集数据

现在咱们有了Google自定义查找引擎和某 API,简直能够捕获数据了。 Google和某东西经过JSON格局呼应请求,因而许多流行的编程言语都能够查询。 除了我挑选的言语PHP外,我还将Google和xxx的成果都写到了数据库中,并为此挑选了MySQL Community Edition 。 也能够运用其他数据库,例如Postgres,Oracle,Microsoft SQL Server等。这样做能够运用SQL(结构化查询言语)以及其他言语(例如R)进行数据的持久性和即席剖析。后来)。 创立用于保存Google查找成果的数据库表(带有用于排名,URL等的字段)和用于保存xxx数据字段(ueid,upa,uda等)的表之后,咱们就能够规划数据搜集计划了。

Google运用自定义查找引擎供给了满足的配额 (每天运用相同的Google开发者操控台密钥进行多达1亿次查询),可是某些东西免费API的有上限,假如需求高级的就要购买了。根据计划和计划的不同,当我仅仅在探究免费选项时,我规划了代码,以在2页的SERP(每页10个成果)中搜集125个Google查询,使我能够坚持在2500行的配额之内。 至于哪些查找能够触发Google,有很多资源可供运用。 我挑选运用Mondovo,因为它们供给了许多类别的列表,每个列表最多500个单词,对于试验来说满足了。

我还引入了一些PHP协助程序类以及我自己的数据库I / O和HTTP代码。

总归,运用的首要PHP构建块和源是:

Google自定义查找引擎– Ash Kiswany运用Jacob Fogg的 PHP界面编写了Google自定义查找的出色文章;

Mozscape API –如前所述,该用于在Github上拜访Moz的PHP实现是一个很好的起点。

网站搜寻器和HTTP –在Purple Toolz ,咱们有自己的搜寻器PurpleCerzBot ,它运用Curl作为HTTP和此简单HTML DOM解析器 ;

数据库I / O – PHP对MySQL具有出色的支撑,我将这些教程打包为类。

要知道的一个因素是 API调用之间的10秒距离 。 这是为了避免免费API用户过载。

运用SQL和R剖析数据

现在该看看咱们所拥有的。 有时这称为数据争用 。 我运用一种称为R的免费计算编程言语以及一种称为R Studio的开发环境(编辑器)。

R因为它是开源的,而且它具有许多第三方库,这使其非常通用而且适合此类作业。

现在,我有几个数据库表,其间包括我在SERPS的2页上的125个查找词查询的成果(即,每个查找词有20个排名的URL)。 两个数据库表保存Google成果,另一个表保存Moz数据成果。 要拜访这些数据库,咱们需求做一个数据库INNER JOIN,咱们能够经过将RMySQL软件包与R一起运用来轻松完结数据库。这是经过在R的操控台中键入“ install.packages('RMySQL')”来完结的,其间包括“库(RMySQL)”位于咱们R脚本顶部。

然后,咱们能够履行以下操作来衔接并将数据获取到名为“ theResults”的R数据帧变量中。

library(RMySQL)

# INNER JOIN the two tables

theQuery <- "

SELECT A.*, B.*, C.*

FROM

(

SELECT

cseq_search_id

FROM cse_query

) A -- Custom Search Query

INNER JOIN

(

SELECT

cser_cseq_id,

cser_rank,

cser_url

FROM cse_results

) B -- Custom Search Results

ON A.cseq_search_id=B.cser_cseq_id

INNER JOIN

(

SELECT *

FROM moz

) C -- Moz Data Fields

ON B.cser_url=C.moz_url

;

"

# [1] Connect to the database

# Replace USER_NAME with your database username

# Replace PASSWORD with your database password

# Replace MY_DB with your database name

theConn <- dbConnect(dbDriver("MySQL"), user="USER_NAME", password="PASSWORD", dbname="MY_DB")

# [2] Query the database and hold the results

theResults <- dbGetQuery(theConn, theQuery)

# [3] Disconnect from the database

dbDisconnect(theConn)

NOTE:留意:我有两个表来保存Google自定义查找引擎数据。 一种保存Google查询中的数据(cse_query),另一种保存成果(cse_results)。

现在咱们能够运用R的悉数计算功用开端争持。

让咱们从一些总结开端,以便对数据有所了解。 我经历的进程在每个字段中基本上都是相同的,因而让咱们阐明并运用Moz的“ UEID”字段(指向URL的外部所有者链接的数量)。 经过在RI中键入以下内容,能够得到以下内容:

> summary(theResults$moz_ueid)

Min. 1st Qu. Median Mean 3rd Qu. Max.

0 1 20 14709 182 2755274

> quantile(theResults$moz_ueid, probs=c(1, 5, 10, 25, 50, 75, 80, 90, 95, 99, 100)/100)

1% 5% 10% 25% 50% 75% 80% 90% 95% 99% 100%

0.0 0.0 0.0 1.0 20.0 182.0 337.2 1715.2 7873.4 412283.4 2755274.0

观察这一点,您会发现数据因为中位数与均值的联系而偏斜(很大),而中位数与均值之间的联系被较高四分位数规模内的值(超过观测值的75%的值)拉动。 可是,咱们能够将其制作成R中的箱形图,其间每个X值都是从Google自定义查找方位1-20开端按等级摆放的UEID散布。

请留意,咱们在y轴上运用了对数刻度,以便咱们能够显现改变规模很大的所有值!

运用Google查找与某敞开 API东西结合做免费SEO剖析

由Google排名得出的 UEID R中的箱须图(注:对数刻度)

箱形图和晶须图很棒,因为它们在其间显现了很多信息(请拜见R中的geom_boxplot函数)。 紫色方框区域表示四分位距离(IQR),它是观测值的25%到75%之间的值。 每个“方框”中的水平线代表中间值(订购时中间的那一条),而从方框延伸的线(称为“晶须”)代表1.5x IQR。 晶须外的点称为“异常值”,并显现每个等级的观察值集的规模。 尽管有对数刻度,但咱们能够看到中值从排名10上升到排名1显着,表明股权链接的数量或许是Google的排名因素。 让咱们用密度图进一步探究它。

密度图非常相似于散布(直方图),但显现的是平滑线而不是条形图。 与直方图非常相似,密度图的峰值显现了数据值会集的方位,能够在比较两个散布时供给协助。 在下面的密度图中,我将数据分为两类:(i)排名1-10的SERP第1页上显现的成果为粉红色;以及 (ii)在SERP第2页上显现的成果为蓝色。 我还制作了两种散布的中位数,以协助阐明Page 1和Page 2之间的成果差异。

运用Google查找与某敞开 API东西结合做免费SEO剖析

从这两个密度图得出的结论是,第1页SERP成果比第2页成果具有更多的外部股权反向链接(UEID)。 您还能够在下面看到这两个类别的中值,清楚地显现了第1页(38)的值远大于第2页(11)的值。 因而,咱们现在有一些数字可用于反向链接的SEO战略。

# Create a factor in R according to which SERP page a result (cser_rank) is on

> theResults$rankBin <- paste("Page", ceiling(theResults$cser_rank / 10))

> theResults$rankBin <- factor(theResults$rankBin)

# Now report the medians by SERP page by calling ‘tapply’

> tapply(theResults$moz_ueid, theResults$rankBin, median)

Page 1 Page 2

38 11

由此,咱们能够推断出股权反向链接(UEID)很重要,假如我根据此数据为客户供给主张,我想说他们应该寻求38个以上根据股权的反向链接,以协助他们进入SERP的第1页。 当然,这是一个有限的样本,需求更多的研讨,需求考虑更大的样本和其他排名因素,可是您能够了解。

现在,让咱们研讨另一个比UEID规模更小的度量标准,并检查的UPA度量标准,即页面在查找引擎成果中排名杰出的或许性。

> summary(theResults$moz_upa)

Min. 1st Qu. Median Mean 3rd Qu. Max.

1.00 33.00 41.00 41.22 50.00 81.00

> quantile(theResults$moz_upa, probs=c(1, 5, 10, 25, 50, 75, 80, 90, 95, 99, 100)/100)

1% 5% 10% 25% 50% 75% 80% 90% 95% 99% 100%

12 20 25 33 41 50 53 58 62 75 81

UPA是供给给URL的数字,规模为0-100。 数据的表现比之前的UEID无界变量的均值和中位数靠得很近,表现出更好的“正态”散布,正如咱们经过在R中制作直方图所见的那样。

运用Google查找与某敞开 API东西结合做免费SEO剖析

莫兹的UPA得分的直方图

咱们将像以前相同履行第1页:第2页的割裂和密度图,并在将UPA数据分为两组时检查UPA分数散布。

运用Google查找与某敞开 API东西结合做免费SEO剖析

# Report the medians by SERP page by calling ‘tapply’

> tapply(theResults$moz_upa, theResults$rankBin, median)

Page 1 Page 2

43 39

总归,来自两个 API变量的两个散布非常不同。 可是两者都显现出SERP页面之间分数的差异,而且为您供给了实在的价值(中位数),能够与您合作并最终为客户供给关于您自己的SEO或申请SEO的主张。

当然,这仅仅一个小样本,不应从字面上了解。 可是,借助Google和xxx的免费资源,您现在能够看到怎么开端开发自己的剖析功用,以使假定根据而不是接受规范。 SEO排名因素一直在改变,拥有自己的剖析东西来进行自己的测验和试验将协助您提高信誉,甚至或许对迄今未知的事物供给独特的见地。

来源:莫然博客,欢迎分享本文!

匿名

发表评论

匿名网友