URL 参数会创建重复的内容(导致关键词蚕食)、浪费抓取预算、稀释排名信号、参数使URL的可点击性降低等。
虽然参数受到开发人员和分析爱好者的喜爱,但它们对SEO确实不太友好。URL的参数组合可以从相同的内容中创建数成百上千个 URL 变体。
最关键的是我们不能简单的不使用URL参数。因为参数在网站的用户体验中发挥着重要作用。因此,我们需要了解如何以对 SEO 友好的方式处理参数。
虽然参数受到开发人员和分析爱好者的喜爱,但它们对SEO确实不太友好。URL的参数组合可以从相同的内容中创建数成百上千个 URL 变体。
最关键的是我们不能简单的不使用URL参数。因为参数在网站的用户体验中发挥着重要作用。因此,我们需要了解如何以对 SEO 友好的方式处理参数。
眼中脚下路,心中要有宏图。大家好,我是Riven@跨境男孩。 欢迎来到我的「SEO小站」频道,这里主要分享独立站、SEO相关知识。相互交流,共同成长。
今天给大家分享几个避免 URL 参数影响 SEO 的方法。
本文分享内容主要有:
一:URL参数的基础知识
什么是 URL 参数?
URL参数也称为查询字符串或 URL 变量,参数是 URL 中跟在问号后面的那部分。它们由一个键(Key)和一个值(Value)组成,用等号(=)分隔。可以使用 & 符号将多个参数添加到单个URL页面。
最常见的参数场景用例:
-
跟踪:如 ?utm_medium=social、?sessionid=123 或 ?affiliateid=abc
-
重新排序:如 ?sort=lowest-price、?order=highest-rated 或 ?so=newest
-
过滤:如 ?type=widget、color=blue 或 ?price-range=20-50
-
识别:如 ?product=small-blue-widget、categoryid=124 或 itemid=24AU
-
分页:如 ?page=2、?p=2 或 viewItems=10-30
-
搜索:如 ?query=users-query、?q=users-query 或 ?search=drop-down-option
-
翻译:如 ?lang=fr、?language=de
二:URL 参数的 SEO 问题
1.参数创建重复内容
通常情况下,URL 参数不会对页面内容进行重大更改。重新排序的页面版本通常与原始版本没有太大区别。带有跟踪标记或会话 ID 的网页网址与原始网页网址相同。
例如,以下Shopify的站点URL 都将返回热销产品列表。
-
静态网址: https://www.jcojewellery.com/collections/best-seller
-
重新排序参数: https://www.jcojewellery.com/collections/best-seller?sort=price-ascending
-
识别参数: https://www.jcojewellery.com/collections/best-seller?pf_t_material=925+Silver https://www.jcojewellery.com/collections/best-seller?pf_t_colour=metal%3Agold
-
组合参数: https://www.jcojewellery.com/collections/best-seller?sort=created-descending&pf_p_price=25.01047628%3A62.66253870
-
跟踪参数: https://www.jcojewellery.com/collections/best-seller?sessionID=32764
-
搜索参数: https://www.jcojewellery.com/search?q=925+Silver
这实际上是相同内容的相当多的 URL。现在想象一下你网站上的每个类别、颜色、材料、价格区间等。
搜索引擎将每个基于参数的 动态URL 视为一个新页面。因此,他们会看到同一页面的多个变体。所有都提供重复的内容,并且都针对相同的关键字词组或语义主题。
这种重复页面不太可能被完全过滤,它会导致关键字蚕食,并且可能会降低 Google 对你的整体网站质量的看法,因为这些额外的 URL 不会增加实际价值。
2.参数消耗抓取预算
爬取冗余参数页面会消耗爬取预算,降低你的网站索引 SEO 相关页面的能力并增加服务器负载。
Google搜索中心文档中有提及到这一点:
过于复杂的 URL,尤其是那些包含多个参数的 URL,可能会创建大量不必要的 URL,这些 URL 指向您网站上相同或相似的内容,从而给爬虫带来问题。因此,Googlebot 可能会消耗比必要更多的带宽,或者可能无法完全索引您网站上的所有内容。Google
3.参数拆分页面排名信号
如果你有相同页面内容的多个排列组合,则社交分享链接可能会出现不同的版本。
这会稀释你的URL排名信号。当URL参数混淆爬虫时,它会不确定要为搜索查询索引哪些具备良好竞争力优质的页面。
4.参数使 URL 的可点击性降低
URL带参数不好看,也很难阅读,看起来不那么值得用户信任。因此,它们被点击的可能性较小。点击率可以影响排名,及FeedBack页面的质量。它在社交媒体、电子邮件、复制粘贴到论坛或其他任何可能显示完整 URL 的地方时,其点击率都较低。
虽然这可能只会对单个页面的产生一些影响,但每条推文、点赞、分享、电子邮件、链接和提及对整体域名而言都很重要。另外,URL 可读性差可能会导致品牌的参与度下降。
三:评估参数问题的程度
了解你网站上使用的每个参数非常重要(也可以问开发人员)。
那么如何找到网站上所有需要处理的参数呢?介绍几个方法:
-
运行爬虫:使用 Screaming Frog 之类的工具,你可以搜索“?” 在网址中
-
查看你的日志文件:查看 Googlebot 是否在抓取基于参数的网址
-
使用站点搜索:inurl:高级运算符:通过将键放入 site:example.com inurl:key 组合查询,了解 Google 如何为你找到的参数编制索引
-
查看 Google Analytics(分析)所有页面报告:搜索“?” 查看你找到的每个参数是如何被用户使用的。请务必检查是否未在视图设置中排除 URL 查询参数
-
查看 Google Search Console URL 参数工具(现已废弃):Google 会自动添加它找到的查询字符串
有了这些数据,你现在可以决定如何最好地处理你网站的每个参数。
四:处理URL参数的 SEO 解决方案
1.优化基于参数的 URL
对源头进行思考处理,找到减少参数 URL 数量的方法,从而最大限度地减少负面 SEO 影响。有四个常见思路:
1) 去掉不必要的参数
向你的开发人员索取每个网站参数及其功能的列表。你可能会发现一些没有价值功能的参数。(例如,cookie可以比 sessionID 更好地识别用户,然而 sessionID 参数可能仍然存在于你的网站上,之前使用过。)
或者你可能会发现你的用户很少应用分页导航中的过滤器。任何由技术问题引起的参数都应该早点优化处理。
2) 防止空值(Value)
只有当 URL 参数具有功能时,才应将 URL 参数添加到 URL。如果值为空,则不允许添加参数键。在上面的示例中,key2 和 key3 都没有添加任何值。
3) 只使用一次密钥(Key)
避免应用具有相同参数名称和不同值的多个参数。对于多选选项,最好在单个键之后将值组合在一起。
4) 网址参数顺序一致
如果重新排列相同的 URL 参数,则搜索引擎会将页面解释为相同的。
因此,从重复内容的角度来看,参数顺序并不重要。但是这些组合中的每一个都会消耗抓取预算和拆分排名信号。
通过要求你的开发人员编写脚本以始终以一致的顺序放置参数来避免这些问题,而不管用户如何选择它们。
在我看来,你应该从任何翻译参数开始、然后是识别、然后是分页、然后是过滤和重新排序或搜索参数的分层,最后是跟踪。
优点:
-
允许更有效地使用爬网预算
-
减少重复内容问题
-
将排名信号合并到更少的页面
-
适用于所有参数类型
缺点:
-
技术处理时间
2.Rel="Canonical" 链接属性
<link rel="canonical" href="https://www.example.com/page" />
rel="canonical" 链接属性表明一个页面与另一个页面具有相同或相似的内容。这鼓励搜索引擎将排名信号整合到指定为规范的 URL。
你可以将基于参数的 URL rel="canonical" 到你的 SEO 友好 URL,比如跟踪、识别或重新排序参数。但这种策略不适用于参数页面内容与规范不够接近的情况,例如分页、搜索、翻译或一些过滤参数。
优点:
-
相对容易的技术实现
-
很有可能防止重复内容问题
-
将排名信号整合到规范 URL
缺点:
-
在参数页面上浪费爬取预算
-
不适用于所有参数类型
-
被搜索引擎解释为强烈的提示,而不是指令
3.Meta Robots Noindex 标签
<meta name="robots" cotent="noindex,follow" />
为任何不添加 SEO 价值的基于参数的页面设置 noindex 指令。此标签将阻止搜索引擎将该页面编入索引。
带有"noindex"标签的 URL 也可能被不那么频繁地抓取,如果它存在很长时间,最终会导致 Google 不关注该页面的链接。
优点:
-
相对容易的技术实现
-
很有可能防止重复内容问题
-
适用于你不希望被索引的所有参数类型
-
从索引中删除现有的基于参数的 URL
缺点:
-
不会阻止搜索引擎抓取 URL,但会鼓励他们减少这样做的频率
-
不整合排名信号
-
被搜索引擎解释为强烈的提示,而不是指令
4.Robots.txt 不允许
User-agent: * Disallow: /collections/*sort_by* Disallow: /*/collections/*sort_by* Disallow: /collections/*+* Disallow: /collections/*%2B* Disallow: /collections/*%2b* Disallow: /*/collections/*+* Disallow: /*/collections/*%2B* Disallow: /*/collections/*%2b* Disallow: /blogs/*+* Disallow: /blogs/*%2B* Disallow: /blogs/*%2b* Disallow: /*/blogs/*+* Disallow: /*/blogs/*%2B* Disallow: /*/blogs/*%2b* Disallow: /*?*oseid=* Disallow: /*preview_theme_id* Disallow: /*preview_script_id* Disallow: /*/*?*ls=*&ls=* Disallow: /*/*?*ls%3D*%3Fls%3D* Disallow: /*/*?*ls%3d*%3fls%3d* Disallow: /search # Google adsbot ignores robots.txt unless specifically named! User-agent: adsbot-google Disallow: /*?*oseid=* Disallow: /*preview_theme_id* Disallow: /*preview_script_id*
robots.txt 文件是搜索引擎在抓取你的网站之前首先查看的文件。如果他们看到某些东西是不允许的,他们就不会去采集收录。
你可以使用此文件阻止爬虫访问每个基于参数的 URL(使用 Disallow: /*?*)或仅阻止你不想被索引的特定查询字符串。
如果你选择使用Shopify或Shopline建站,则这些都已经被很好的处理了,商家不用处理。
优点:
-
简单的技术实现
-
允许更有效地使用爬网预算
-
避免重复内容问题
-
适用于你不希望被抓取的所有参数类型
缺点:
-
不整合排名信号
-
不从索引中删除现有 URL
5.Google Search Console URL 参数工具
在2022年3月以前是支持配置 Google 的 URL 参数工具,告诉抓取工具你的参数的用途以及你希望如何处理它们。
但Google2022年3月发布的更新中,指出:
多年来,谷歌在猜测网站上哪些参数有用,哪些参数——简单地说——无用方面变得更好了。事实上,目前在 URL Parameters 工具中指定的参数配置中只有大约 1% 对爬取有用。由于该工具对 Google 和 Search Console 用户的价值较低,我们将在 1 个月内弃用 URL 参数工具。 今后,你无需在网站上指定 URL 参数的功能,Google 的爬虫将学习如何自动处理 URL 参数。Google
6.从动态 URL 转移到静态 URL
很多人认为处理 URL 参数的最佳方法是首先避免使用它们。毕竟,子文件夹形式比参数更好来帮助谷歌理解网站结构。静态的基于关键字的 URL 一直是页面 SEO 基本标准。
为此,你可以使用服务器端 URL 重写将参数转换为子文件夹 URL。
例如,网址:
-
www.example.com/view-product?id=482794
会处理为:
www.example.com/widgets/blue
这种方法适用于描述性的基于关键字的参数,例如识别类别、产品或过滤搜索引擎相关属性的参数,对于翻译的版本内容也可以。
但是对于分面导航的非关键字相关元素(例如价格)来说,就会出现问题。拥有像静态、可索引 URL 这样的过滤器没有提供 SEO 价值。
这也是搜索参数的一个问题,因为每个用户生成的查询都会创建一个静态页面,会与规范的页面争夺排名。更糟糕的是,每当用户搜索你不提供的页面时,就会向爬虫呈现低质量的内容页面。(实际上Shopify及Shopline很好的将search url进行disallow处理了)
应用于分页时有点奇怪(尽管WordPress 并不少见),它会给出一个 URL,例如:
www.example.com/widgets/blue/page2
URL静态化后会非常奇怪,将给出一个 URL,例如:
www.example.com/widgets/blue/lowest-price
所以对于你不希望在搜索结果中被索引的参数(分页、重新排序、跟踪等),将其作为查询字符串实现。对于你确实要编入索引的参数,就可以使用静态 URL 路径。
优点:
-
将爬虫的重点从基于参数的 URL 转移到更有可能排名的静态 URL
缺点:
-
URL 重写和 301 重定向的大量开发时间投入
-
不能防止重复的内容问题
-
不整合排名信号
-
不适用于所有参数类型
-
可能会导致内容稀少的问题
-
并不总是提供可链接或可收藏的 URL
五:SEO 的最佳实践 URL 参数处理
那么应该实施哪种 SEO 策略中的哪一种呢? 并不可能是全部策略都采用。 全部采用会变得更复杂或者相互冲突。(例如,如果你实施 robots.txt 禁止,Google 将无法看到任何meta noindex 标记;也不应该将 meta noindex 标记与 rel=canonical链接属性结合使用。)
其实,没有一个完美的解决方案。在某些情况下,爬行效率比巩固权威信号更重要。
最后,你网站选择什么样的方式将取决于你的优先级。
总结,对于 SEO 友好的参数处理建议 :
-
进行关键字研究来了解哪些参数应该是搜索引擎友好的静态 URL
-
使用 rel="next" & rel="prev"实现正确的分页处理
-
通过去掉不必要的参数来缩短 URL,同时对于所有剩余的基于参数的 URL,实施一致的排序规则,该规则仅使用一次键(Key)并防止空值(Value)以限制 URL 的数量
-
将 rel="canonical" 链接属性添加到合适的参数页面,以将排名信号整合到规范页面
-
仔细检查 XML 站点地图中是否提交了基于参数的 URL
-
考虑使用 robots.txt 文件来阻止 Googlebot 访问有问题的网址。通常,考虑阻止动态 URL,例如生成搜索结果的 URL,或可以创建无限空间的 URL,例如日历。在 robots.txt 文件中使用正则表达式可以让你轻松阻止大量 URL
-
尽可能避免在 URL 中使用会话 ID,考虑改用 cookie
-
如果你的站点有无限日历,为链接添加一个"
nofollow"
属性
相关文章
我的微信
微信扫一扫
2023年5月14日 下午1:41 1F
例子易懂,很容易掌握,辛苦了