使用Python进行高级重复内容整合


使用Python进行高级重复内容整合

这是一个常见且有趣的重复内容问题。

Python的高级重复内容合并“width =”2468“height =”1348“sizes =”(最大宽度:2468px)100vw,2468px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/上传/ 2019/06 / david-yurman-color.png 2468w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/david-yurman-color-480x262.png 480w,https:// cdn.searchenginejournal.com/wp-content/uploads/2019/06/david-yurman-color-680x371.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/david-yurman -color-768x419.png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/david-yurman-color-1024x559.png 1024w,https://cdn.searchenginejournal.com/wp -content / uploads / 2019/06 / david-yurman-color-1600x874.png 1600w“data-src =”https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/david-yurman-color巴纽

您有像David Yurman这样的零售商,产品有不同的颜色变化,并选择在自己的URL上显示每种产品颜色。

每个产品/颜色网址通常都具有相同的内容,但会更改主要产品图片,这与将它们分开的差异不足。

您是否应该将所有产品变体标准化为一个并合并重复内容?

或者您是否应该重写产品名称,描述等,以使每个版本保持独立和独特?

当您合并具有大部分相同内容的页面时,通常会获得更高的性能。 这个例证 谷歌显示原因。

Python的高级重复内容合并“width =”1500“height =”1224“sizes =”(最大宽度:1500px)100vw,1500px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/ uploads / 2019/06 / url-consolidation.png 1500w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/url-consolidation-480x392.png 480w,https://cdn.searchenginejournal。 com / wp-content / uploads / 2019/06 / url-consolidation-680x555.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/url-consolidation-768x627.png 768w, https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/url-consolidation-1024x836.png 1024w“data-src =”https://cdn.searchenginejournal.com/wp-content/uploads/ 2019/06 / URL-consolidation.png

您正在间接构建规范页面的链接。

当您的网页内容大部分相同时,他们会在SERP中竞争相同的条款,其中大多数会在查询时进行过滤。过滤的每个页面都会累积浪费的链接。

但是,这是一个有趣的案例。如果人们专门搜索某些页面中仅提供的内容会怎么样?

在这种情况下,巩固这些是不明智的,因为我们会失去相关的排名。

让我们使用SEMrush为这个家庭带来一个具体的例子。

David Yurman的产品至少有六种主要颜色:纯银,黑钛,玫瑰金,黄金,白金和绿色祖母绿。

Google中可能存在特定于颜色的搜索,这些搜索会导致产品页面。如果是这种情况,我们不希望合并这些页面,以便他们可以捕获相关的颜色特定搜索流量。

这是一个例子 SEMrush搜索 这可以帮助我们检查是否是这种情况。

Python的高级重复内容合并“width =”2408“height =”1238“sizes =”(最大宽度:2408px)100vw,2408px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/上传/ 2019/06 / semrush-davidyurman.png 2408w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/semrush-davidyurman-480x247.png 480w,https://cdn.searchenginejournal。 com / wp-content / uploads / 2019/06 / semrush-davidyurman-680x350.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/semrush-davidyurman-768x395.png 768w, https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/semrush-davidyurman-1024x526.png 1024w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/semrush -davidyurman-1600x823.png 1600w“data-src =”https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/semrush-davidyurman.png

例如,我们对纯银有489种有机关键词排名,玫瑰金有863种,黑钛只有51种。

我还使用手机作为设备进行了检查,其中纯银为30,玫瑰金为77,黑钛仅为11。

大多数网站要么像David Yurman那样将颜色网址分开,要么将颜色合并到URL级别的一个页面中或使用规范。

至少从SEO性能的角度来看,考虑到搜索次数较少,将黑钛作为单独的URL看起来并不是一个特别好的选择。

但是,如果我们能找到理想的中间地带呢?

如果我们可以合并某些产品网址而不是其他网址,该怎么办

如果我们能够根据性能数据执行这些决策怎么办?

这就是我们将在本文中学习如何做的事情!

以下是我们的行动计划:

  • 我们将使用OnCrawl的爬虫来收集所有产品页面及其SEO元数据(包括规范)。
  • 我们将使用SEMrush收集特定颜色的搜索词和相应的产品页面。
  • 我们将定义一个简单的聚类算法,根据是否有颜色搜索对产品进行分组(或不分组)。
  • 我们将使用Tableau可视化群集更改并更好地了解更改。
  • 我们将使用RankSense应用程序将我们的实验性更改上传到Cloudflare CDN。

1.使用OnCrawl获取产品页面组

我使用主站点URL开始网站抓取:https://www.davidyurman.com。

高级重复内容合并与Python“width =”2462“height =”1240“sizes =”(最大宽度:2462px)100vw,2462px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/上传/ 2019/06 / oncrawl1.png 2462w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/oncrawl1-480x242.png 480w,https://cdn.searchenginejournal.com/wp- content / uploads / 2019/06 / oncrawl1-680x342.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/oncrawl1-768x387.png 768w,https://cdn.searchenginejournal。 com / wp-content / uploads / 2019/06 / oncrawl1-1024x516.png 1024w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/oncrawl1-1600x806.png 1600w“data-src = “https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/oncrawl1.png

因为我只对审查美国产品感兴趣,所以我下载了 美国产品XML站点地图,将其转换为CSV文件,并将其作为zip文件上传。

高级重复内容合并与Python“width =”2462“height =”1240“sizes =”(最大宽度:2462px)100vw,2462px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/上传/ 2019/06 / oncrawl2.png 2462w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/oncrawl2-480x242.png 480w,https://cdn.searchenginejournal.com/wp- content / uploads / 2019/06 / oncrawl2-680x342.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/oncrawl2-768x387.png 768w,https://cdn.searchenginejournal。 com / wp-content / uploads / 2019/06 / oncrawl2-1024x516.png 1024w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/oncrawl2-1600x806.png 1600w“data-src = “https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/oncrawl2.png

我将现有的rel = canonical添加为列,并导出了2,465个URL的列表。

Python的高级重复内容合并“width =”2468“height =”1340“sizes =”(最大宽度:2468px)100vw,2468px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/ uploads / 2019/06 / data-exporter.png 2468w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/data-exporter-480x261.png 480w,https://cdn.searchenginejournal。 com / wp-content / uploads / 2019/06 / data-exporter-680x369.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/data-exporter-768x417.png 768w, https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/data-exporter-1024x556.png 1024w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/data -exporter-1600x869.png 1600w“data-src =”https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/data-exporter.png2.使用SEMrush将颜色搜索查询提供给产品页面

我把最初的颜色列表放在一起:纯银,黑钛,玫瑰金,黄金,白金,绿宝石。然后从SEMrush导出六个产品列表。

3.按产品标识符对产品URL进行聚类

我们将使用Google Colab和一些Python脚本来进行聚类。

首先,让我们导入OnCrawl导出文件。

然后,我们也可以 进口 带有颜色搜索的SEMrush文件。

Python的高级重复内容合并“width =”2346“height =”1006“sizes =”(最大宽度:2346px)100vw,2346px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/ uploads / 2019/06 / import-product-colors.png 2346w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/import-product-colors-480x206.png 480w,https:// cdn.searchenginejournal.com/wp-content/uploads/2019/06/import-product-colors-680x292.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/import-product -colors-768x329.png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/import-product-colors-1024x439.png 1024w,https://cdn.searchenginejournal.com/wp -content / uploads / 2019/06 / import-product-colors-1600x686.png 1600w“data-src =”https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/import-product-colors巴纽

我尝试了一些想法从URL中提取产品ID,包括使用OnCrawl的内容提取功能,但最终解决了从URL中提取它的问题。

接下来,我们可以将产品ID列添加到Dataframe中,并将URL分组以执行群集。

高级重复内容合并与Python“width =”1388“height =”1130“sizes =”(最大宽度:1388px)100vw,1388px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/ uploads / 2019/06 / product_id_clusters.png 1388w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/product_id_clusters-480x391.png 480w,https://cdn.searchenginejournal.com/wp- content / uploads / 2019/06 / product_id_clusters-680x554.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/product_id_clusters-768x625.png 768w,https://cdn.searchenginejournal。 com / wp-content / uploads / 2019/06 / product_id_clusters-1024x834.png 1024w“data-src =”https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/product_id_clusters.png

在此群集练习中,您可以看到一些没有规范的产品ID。我们将通过向这些URL添加自引用规范来解决这个问题。

让我们将数据框导出到CSV文件并导入Tableau以进行进一步分析。在Tableau中,我们可以更好地可视化当前的规范集群。

在Tableau中,完成以下步骤:

  • 使用文本文件数据源连接到CSV文件。
  • 通过将URL和Canonicals拖动到该部分,将其转换为Measures。
  • 将产品ID拖到行中。
  • 将Canonicals和URL计数拖到列中。
  • 右键单击空URL行,然后选择要将其排除的选项。
  • 将图表类型更改为 树形图
  • 添加名为“Canonicalized”的计算字段并粘贴此公式.IF COUNTD((URL)) – COUNTD((Rel Canonical))== 0然后“自我参照”ELSE“Canonicalized”END
  • 将计算字段拖动到颜色标记。
  • 将URL计数拖到筛选器并指定至少两个URL。
  • 拖动计数URL并将规范计数到详细信息标记。

Python的高级重复内容合并“width =”2474“height =”1394“sizes =”(最大宽度:2474px)100vw,2474px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/ uploads / 2019/06 / tableau-setup.png 2474w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/tableau-setup-480x270.png 480w,https://cdn.searchenginejournal。 com / wp-content / uploads / 2019/06 / tableau-setup-680x383.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/tableau-setup-768x433.png 768w, https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/tableau-setup-1024x577.png 1024w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/tableau -setup-1600x902.png 1600w“data-src =”https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/tableau-setup.png

这就是设置的样子。

每个方块代表产品ID群集。较大的网站有更多的网址。计算字段“canonicalized”使用颜色来判断群集是规范化还是自引用。

我们可以看到,在其当前的设置中,David Yurman产品大多是自引用的,很少有簇规范化(蓝色方块)。

Python的高级重复内容合并“width =”635“height =”456“sizes =”(最大宽度:635px)100vw,635px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/ uploads / 2019/06 / product_id_cluster.png 635w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/product_id_cluster-480x345.png 480w“data-src =”https://cdn.searchenginejournal的.com /可湿性粉剂内容/上传/ 2019/06 / product_id_cluster.png

这是一个仔细看看。

如果大多数产品从特定颜色的产品搜索中获得搜索流量,这将是一个很好的设置。让我们看看接下来的情况。

4.将Canonical Clusters转换为Canonicalized

我们将执行一个中间步骤并强制所有产品组规范化为组中的第一个URL。

这足以说明这个概念,但是对于生产用途,我们希望规范化到组中最流行的URL。它可能是链接最多的网页,也可能是搜索次数或展示次数最多的网页。

更新集群后,我们可以返回Tableau,重复与之前相同的步骤并查看更新的可视化。

Python的高级重复内容合并“width =”635“height =”456“sizes =”(最大宽度:635px)100vw,635px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/ uploads / 2019/06 / canonicalized-clusters.png 635w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/canonicalized-clusters-480x345.png 480w“data-src =”https:/ /cdn.searchenginejournal.com/wp-content/uploads/2019/06/canonicalized-clusters.png

你可以看到,现在没有一个集群是自我引用的,因为我们强迫它们不是这样的。所有这些都规范化为只有一个URL。

5.将一些规范集群转为自引用

现在,在最后一步中,我们将了解有多少簇应该是自引用的。

由于所有群组现在都规范化为一个网址,我们只需要打破这些群集,其中网址具有颜色词的搜索流量。我们将改变规范是自我指涉的。

首先,让我们导入我们导出到数据帧中的所有SEMrush文件,并将URL转换为一组以便于检查。

下一步是仅为匹配的组更新规范。

完成此过程后,我们可以返回Tableau并查看最终的集群。

Python的高级重复内容合并“width =”635“height =”456“sizes =”(最大宽度:635px)100vw,635px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/ uploads / 2019/06 / adjusted-self-referrential-cluster.png 635w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/adjusted-self-referrential-cluster-480x345.png 480w“数据-SRC =“https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/adjusted-self-referrential-cluster.png

令人惊讶的是,我们只需要更新一个集群,这意味着David Yurman在桌面上留下了大量资金,其当前的设置依赖于自我引用的规范。

6.使用RankSense实现Cloudflare的实验变化

在传统的CMS上执行像这样的选择性和实验性更改可能不切实际,需要认真的开发工作,或者如果没有证据可以解决这个问题。

幸运的是,这些是使用我们的应用程序在Cloudflare中轻松部署并且无需编写后端代码的更改类型。 (披露:我为RankSense工作。)

我们会将建议的规范群集复制到Google表格中。这是一个例子:

Python的高级重复内容合并“width =”2468“height =”1342“sizes =”(最大宽度:2468px)100vw,2468px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/ uploads / 2019/06 / davidyurman-seo-rules.png 2468w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/davidyurman-seo-rules-480x261.png 480w,https:// cdn.searchenginejournal.com/wp-content/uploads/2019/06/davidyurman-seo-rules-680x370.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/davidyurman-seo -rules-768x418.png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/davidyurman-seo-rules-1024x557.png 1024w,https://cdn.searchenginejournal.com/wp -content / uploads / 2019/06 / davidyurman-seo-rules-1600x870.png 1600w“data-src =”https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/davidyurman-seo-rules巴纽

假设David Yurman使用了Cloudflare并拥有了我们的 实施应用 安装后,我们可以简单地上传工作表,添加一些标签来跟踪性能并提交它以获得对暂存预览或生产的更改。

Python的高级重复内容合并“width =”2464“height =”1340“sizes =”(最大宽度:2464px)100vw,2464px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/ uploads / 2019/06 / davidyurman-ranksense-rules.png 2464w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/davidyurman-ranksense-rules-480x261.png 480w,https:// cdn.searchenginejournal.com/wp-content/uploads/2019/06/davidyurman-ranksense-rules-680x370.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/davidyurman-ranksense -rules-768x418.png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/davidyurman-ranksense-rules-1024x557.png 1024w,https://cdn.searchenginejournal.com/wp -content / uploads / 2019/06 / davidyurman-ranksense-rules-1600x870.png 1600w“data-src =”https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/davidyurman-ranksense-rules巴纽

最后,我们可以使用我们的15分钟审核Chrome扩展程序手动审核规范正常运行,但可以肯定的是,我们应该运行另一次OnCrawl抓取以确保所有更改都已到位。

我发现了重复的元描述,我确信他们有更多的SEO问题需要解决。

Python的高级重复内容合并“width =”2470“height =”1338“sizes =”(最大宽度:2470px)100vw,2470px“data-srcset =”https://cdn.searchenginejournal.com/wp-content/上传/ 2019/06 / david-yurman-canonical.png 2470w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/david-yurman-canonical-480x260.png 480w,https:// cdn.searchenginejournal.com/wp-content/uploads/2019/06/david-yurman-canonical-680x368.png 680w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/david-yurman -canon-768x416.png 768w,https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/david-yurman-canonical-1024x555.png 1024w,https://cdn.searchenginejournal.com/wp -content / uploads / 2019/06 / david-yurman-canonical-1600x867.png 1600w“data-src =”https://cdn.searchenginejournal.com/wp-content/uploads/2019/06/david-yurman-canonical巴纽

如果这个想法证明对他们有效,他们可以自信地委托开发工作在他们的网站上实现这个。

资源以了解更多信息

看到Python SEO社区在过去几个月里增长如此之快,真是令人兴奋。甚至谷歌的约翰穆勒也开始注意到了。

社区中的一些人一直在做一些不可思议的工作。

例如,JR Oakes分享了他已经工作了两年的内容生成项目的结果!

阿莱西奥 建了一个 很酷的剧本 这会生成“人们也问过”问题的交互式可视化。

总的来说,尽管我的工作得到了如下所述的好评,但我对整个社区正在建设的越来越多的工作感到非常兴奋。

我们每天都在变得更强大,更可信!

图片来源

所有截图均由作者拍摄,2019年7月

Total
0
Shares
相关文章