首页 - 每日一评 - 文章正文

使用Python for Fun重新组织XML站点地图利润

时间:2019-06-07 02:37:29 作者:黑曼巴 分类:每日一评 浏览:142

本文的其余部分将介绍如何使用任何可帮助您隔离您关注页面上的索引问题的标准重新组织XML站点地图。我们希望通过slug中出现的最流行的单词重新组织帖子站点地图。我们可以将已经过滤的XML站点地图URL进一步拆分为1k个URL组。默认情况下,pandasmerge函数将执行内部联接,因此只有共同的行可用。请注意假交易列中缺少的行假NaN(缺失值)。

 

结合编程和搜索引擎优化技能的主要好处之一是,如果你只知道搜索引擎优化或单独编程,你可以找到难以看到的聪明解决方案。

例如,跟踪Zui重要页面的索引是一项重要的SEO任务。

如果他们没有被编入索引,您需要知道原因并采取行动。 Zui好的部分是我们可以直接从百度 Search Console免费学习所有这些。

在上面的屏幕截图中,XML站点地图按页面类型分组,但此处列出的四个站点地图专门用于跟踪我们为此客户端运行的一些SEO A/B测试的进度。

在索引覆盖率报告中,我们可以检查每个站点地图,了解哪些特定页面未编入索引,为什么不编制索引,以及了解如何修复它们(如果可以修复)。

本文的其余部分将介绍如何使用任何可帮助您隔离您关注页面上的索引问题的标准重新组织XML站点地图。

目录需要库读取站点地图来自XML站点地图的URL来自XML站点地图的读取URL按流行词语重新组织站点地图创建单词云打破1k URL索引覆盖率限制通过畅销书重新组织站点地图写入XML站点地图资源以了解更多需要的库

在本文中,我们将使用Python 3和以下第三方库:

BeautifulSoupRequestsPandas:版本号应为0.23或更高版本WordCloudJinja2Nltk

如果您使用了百度 Colab,则需要升级pandas。输入:

!pip install–升级pandas==0.23

整体流程

我们将从现有的XML站点地图中读取URL,将它们加载到pandas数据框中,创建或使用其他列,按照我们将用作条件的列对URL进行分组,并将URL组写入XML站点地图。

从XML Sitemap Indices中读取Sitemap网址

让我们首先阅读搜索引擎期刊站点地图索引中的站点地图网址列表。

部分输出为:

站点地图的数量是30  {&lsquo的;https://www.searchenginejournal.com/post-sitemap1.xml’:‘ 2005-08-15T10: 52: 01-04: 00’,…

从XML站点地图

中读取URL 现在我们有了站点地图网址,我们可以提取实际的网站网址。例如,我们只会从帖子站点地图中提取网址。

部分输出是  https://www.searchenginejournal.com/post-sitemap1.xml

网址数量为969  https://www.searchenginejournal.com/post-sitemap2.xml

URL的数量是958  https://www.searchenginejournal.com/post-sitemap3.xml

URL的数量是943

接下来,我们将它们加载到pandas数据框中。

输出显示前10个带有上次修改时间戳的URL。

按流行词重新制作站点地图

搜索引擎杂志XML站点地图使用Yoast SEO插件,该插件在分类和博客时,所有帖子都分组到post-sitemapX.xml站点地图文件中。

我们希望通过slug中出现的Zui流行的单词重新组织帖子站点地图。我们使用我们找到的Zui流行的单词创建了您在下面看到的单词云。让我们把它们放在一起吧!

创建Word云

为了按Zui流行的网址组织网站地图,我们将创建一个文字云。词云只是按其频率排序的Zui流行的词汇。我们消除了诸如“&rdquo”,“a”等常用词语,以便拥有一个干净的群体。

我们首先创建一个只包含URL路径的新列,然后从Nltk包下载英文停用词。

该过程首先只采用URL的路径部分,使用&ndash中断单词;或/作为分隔符,并计算单词频率。在计算时,我们排除只有数字的停用词和单词。想想5< 5种方式做X”。

部分输出为:

[(‘百度‘,4430),(‘ search’,2961),(‘ seo‘,1482),(‘ yahoo’,1049),(‘ marketing’,989),(‘ new&rsquo ;,919),(‘ content’,919),(‘ social’,821),…

只是为了好玩(正如标题中所承诺的),这里的代码将创建一个带有上述单词频率的视觉文字云。

现在,我们将wordcloud列作为类别添加到包含站点地图URL的数据框中。

这是输出的样子。

我们可以使用此新类别来查看包含常用字:百度的网址。

df [df [“ category”]==“百度”]

此列表仅列出路径中包含该热门单词的网址。

打破1k URL索引覆盖率限制

百度搜索控制台的索引覆盖率报告功能强大,但它将报告限制为只有一千个URL。我们可以将已经过滤的XML站点地图URL进一步拆分为1k个URL组。

我们可以使用熊猫’强大的索引功能。

畅销书重新整理站点地图

这种技术Zui有力的用途之一就是打破导致转换的页面。

在电子商务网站中,我们可以打破Zui畅销的产品,并了解哪些产品没有编入索引。轻松赚钱!

由于SEJ不是交易网站,我将创建一些假交易来说明这种策略。通常,您从百度 Analytics获取此数据。

我假设那些带有“adwords””,“facebook””和“ldquo; ads”字样的页面。或者“媒体”有交易。

我们创建一个假交易列,其中只包含您通常在百度 Analytics中找到的相对路径。

接下来,我们将合并两个数据帧以将事务数据添加到原始站点地图数据框。默认情况下,pandas merge函数将执行内部联接,因此只有共同的行可用。

df.merge(fake_transaction_pages,left_on=” path”,right_on=” path”)

因为我想要所有行,我将连接类型更改为左,因此它包括原始数据框中的所有行。请注意假交易列中缺少的行假NaN(缺失值)。

df.merge(fake_transaction_pages,left_on=” path”,right_on=” path”,how=” left”)

我可以用零轻松填充缺失的值。

df.merge(fake_transaction_pages,left_on=” path”,right_on=” path”,how=” left”)。fillna(0)

我现在可以使用此功能获得畅销书(按交易)列表。

new_df=df.merge(fake_transaction_pages,left_on=” path”,right_on=” path”,how=” left”)。fillna(0)

new_df [new_df.fake_transactions> 0]

编写XML站点地图

到目前为止,我们已经看到了如何使用不同的标准使用pandas数据框对URL进行分组,但是我们如何将这些URL转换回XML站点地图?很简单!

总是有一种难以做到的事情,当涉及创建XML站点地图时,可以使用BeautifulSoup,lxml或类似的库从头开始构建XML树。

更简单的方法是使用模板语言,如用于构建Web应用程序的语言。在我们的例子中,我们将使用一种名为Jinja2的流行模板语言。

这里有三个组件:

带有for循环的模板,用于迭代称为pages的上下文对象。它应该是一个Python元组,其中第一个元素是URL,第二个元素是Zui后一个修改时间戳。我们的原始pandas数据框有一个索引(URL)和一个列(时间戳)。我们可以调用pandas itertuples()来创建一个可以很好地呈现为XML站点地图的序列。

这比从头开始构建站点地图至少简单10倍!

资源以了解更多

像往常一样,这只是您在日常搜索引擎优化工作中添加Python脚本时可以做的很酷的一些示例。以下是一些可以进一步探索的链接。

官方Python教程使用Beautiful Souping Tables和XML 410分钟到pandasPython Word Count如何在站点地图索引

中加入PythonExtract URL中的数据帧 更多资源:

如何使用Python分析SEO数据:参考指南如何使用XML站点地图提升SEOA完整指南SEO: 2019年你需要知道什么

图片来源

截图由作者拍摄,二月  2019 作者生成的词云图,二月  2019

CategorySEOTools

上一篇:Twitter的有机桌面搜索流量在6个月内增长20%

下一篇:Facebook对金融服务广告政策进行多项更改

猜你喜欢
发布评论
登录后发表评论
登录后才能评论

AI 新用户?

免费使用内容重写服务

开始新的写作