在SEO领域中,URL 参数是一个重大问题。
虽然开发人员和数据分析师可能欣赏它们的实用性,但这些查询字符串却是一个 SEO 难题。
无数参数组合会将单个用户意图分散到数千个 URL 变体中。这会导致抓取、索引和可见性复杂化,并最终导致流量减少。
问题是我们不能简单地希望它们消失,这意味着掌握如何以 SEO 友好的方式管理 URL 参数至关重要。
为此,我们将探讨:
- URL 参数的基础知识。
- 参数引起的SEO问题。
- 评估参数问题的程度。
- SEO 解决方案驯服参数。
- 最佳实践 URL 参数处理。
什么是 URL 参数?
URL 参数,也称为查询字符串或 URI 变量,是 URL 中位于“?”符号后面的部分。它们由一个键和一个值对组成,以“=”符号分隔。当用“&”分隔时,可以将多个参数添加到单个页面。
参数的最常见用例是:
- 跟踪 –例如?utm_medium=social、?sessionid=123 或?affiliateid=abc
- 重新排序- 例如 ?sort=lowest-price、?order=highest-rated 或 ?so=latest
- 过滤- 例如?type=widget、colour=purple 或?price-range=20-50
- 识别 -例如 ?product=small-purple-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 的页面 URL与原始版本相同。
例如,以下 URL 均会返回小部件集合。
- 静态 URL:https://www.example.com/widgets
- 跟踪参数:https://www.example.com/widgets?sessionID=32764
- 重新排序参数:https://www.example.com/widgets?sort=latest
- 识别参数:https://www.example.com?category=widgets
- 搜索参数:https://www.example.com/products?search=widget
这对实际上相同的内容来说意味着相当多的 URL — 现在想象一下您网站上每个类别的 URL。这真的会累积起来。
挑战在于,搜索引擎将每个基于参数的 URL 视为一个新页面。因此,它们会看到同一页面的多个变体,所有变体都提供重复内容,并且都针对相同的搜索意图或语义主题。
虽然这种重复不太可能导致网站完全从搜索结果中过滤掉,但它确实会导致关键字蚕食,并可能降低 Google 对您整体网站质量的看法,因为这些额外的 URL 并没有增加任何实际价值。
2. 参数降低抓取效率
抓取冗余参数页面会分散 Googlebot 的注意力,降低您的网站索引 SEO 相关页面的能力并增加服务器负载。
谷歌完美地总结了这一点。
“过于复杂的 URL,尤其是包含多个参数的 URL,会创建大量指向网站上相同或相似内容的 URL,从而给爬虫程序带来问题。
因此,Googlebot 可能会消耗比必要多得多的带宽,或者无法完全索引您网站上的所有内容。”
3. 参数分页排名信号
如果同一页面内容有多种排列组合,链接和社交分享可能会以多种版本出现。
这会削弱您的排名信号。当您混淆爬虫程序时,它就无法确定要为搜索查询索引哪个竞争页面。
4. 参数使 URL 难以点击
我们必须面对现实:参数 URL 不美观。它们难以阅读。它们看起来不太可信。因此,它们被点击的可能性较小。
这可能会影响页面性能。这不仅是因为点击率会影响排名,还因为它在 AI 聊天机器人、社交媒体、电子邮件、复制粘贴到论坛或可能显示完整 URL 的任何其他地方的点击率较低。
虽然这可能只会对单个页面的扩大产生很小的影响,但每条推文、点赞、分享、电子邮件、链接和提及都会对域名产生影响。
URL 可读性差可能会导致品牌参与度下降。
评估参数问题的严重程度
了解网站上使用的每个参数非常重要。但开发人员很可能不会保留最新的列表。
那么如何找到所有需要处理的参数?或者了解搜索引擎如何抓取和索引这些页面?知道它们给用户带来的价值?
请遵循以下五个步骤:
- 运行爬虫:使用 Screaming Frog 之类的工具,您可以在 URL 中搜索“?”。
- 查看您的日志文件:查看 Googlebot 是否正在抓取基于参数的 URL。
- 查看 Google 搜索控制台页面索引报告:在索引和相关非索引排除的示例中,在 URL 中搜索“?”。
- 使用 site:inurl: 高级运算符进行搜索:通过将键放在 site:example.com inurl:key 组合查询中,了解 Google 如何索引您找到的参数。
- 查看 Google Analytics 所有页面报告:搜索“?”,查看用户如何使用您找到的每个参数。请务必检查视图设置中是否未排除 URL 查询参数。
有了这些数据,您现在就可以决定如何最好地处理您网站的每个参数。
驯服 URL 参数的 SEO 解决方案
您的 SEO 工具库中有六种工具可以从战略层面处理 URL 参数。
限制基于参数的 URL
简单回顾一下参数生成的方式和原因,就能快速取得 SEO 胜利。
您经常会找到减少参数 URL 数量的方法,从而最大限度地减少负面 SEO 影响。有四个常见问题可以作为您开始审查的起点。
1. 消除不必要的参数
向开发人员索要每个网站的参数及其功能的列表。很有可能,你会发现一些参数不再发挥有价值的作用。
例如,与 sessionID 相比, cookie更能识别用户。然而,sessionID 参数可能仍然存在于您的网站上,因为它曾经被使用过。
或者您可能会发现用户很少使用分面导航中的过滤器。
任何因技术债务而导致的参数都应立即消除。
2. 防止空值
仅当 URL 参数具有功能时才应将其添加到 URL。如果值为空,则不允许添加参数键。
在上面的例子中,key2 和 key3 没有任何价值,无论从字面上还是从比喻上来说都是如此。
3. 仅使用一次钥匙
避免应用具有相同参数名称和不同值的多个参数。
对于多选选项,最好将值组合在一个键后。
4. 订单 URL 参数
如果重新排列相同的 URL 参数,搜索引擎会将页面解释为相同的。
因此,从重复内容的角度来看,参数顺序并不重要。但这些组合中的每一个都会消耗抓取预算并分裂排名信号。
避免这些问题的方法是要求开发人员编写一个脚本,让参数始终按照一致的顺序放置,而不管用户如何选择它们。
在我看来,您应该从任何翻译参数开始,然后是识别,然后是分页,然后分层过滤和重新排序或搜索参数,最后是跟踪。
优点:
- 确保更高效的抓取。
- 减少重复内容问题。
- 将排名信号合并到更少的页面。
- 适用于所有参数类型。
缺点:
- 技术实施时间适中。
Rel=”Canonical” 链接属性
rel=”canonical” 链接属性指出一个页面与另一个页面有相同或相似的内容。这鼓励搜索引擎将排名信号整合到指定为规范的 URL 上。
您可以将基于参数的 URL rel=canonical 为 SEO 友好的 URL,以便跟踪、识别或重新排序参数。
但当参数页面内容不够接近规范时,这种策略并不适用,例如分页,搜索,翻译或一些过滤参数。
优点:
- 技术实现相对容易。
- 很可能可以防止重复内容问题。
- 将排名信号合并到规范 URL。
缺点:
- 浪费在参数页面上的爬行。
- 不适合所有参数类型。
- 被搜索引擎解释为强烈暗示,而不是指令。
Meta Robots Noindex 标签
为任何不增加 SEO 价值的基于参数的页面设置 noindex 指令。此标记将阻止搜索引擎索引该页面。
带有“noindex”标签的 URL 也可能被较少地抓取,并且如果该标签长期存在,最终将导致 Google 不再跟踪该页面的链接。
优点:
- 技术实现相对容易。
- 很可能可以防止重复内容问题。
- 适用于所有您不希望被索引的参数类型。
- 从索引中删除现有的基于参数的 URL。
缺点:
- 不会阻止搜索引擎抓取 URL,但会鼓励其减少抓取频率。
- 不合并排名信号。
- 被搜索引擎解释为强烈暗示,而不是指令。
Robots.txt 禁止
robots.txt 文件是搜索引擎在抓取您的网站之前首先查看的文件。如果他们发现某些内容被禁止,他们就不会去那里。
您可以使用此文件来阻止爬虫访问每个基于参数的 URL(使用 Disallow: /*?*)或仅阻止爬虫访问您不想被索引的特定查询字符串。
优点:
- 简单的技术实现。
- 允许更高效的抓取。
- 避免重复内容问题。
- 适用于所有您不希望被抓取的参数类型。
缺点:
- 不合并排名信号。
- 不会从索引中删除现有的 URL。
从动态 URL 移至静态 URL
许多人认为处理 URL 参数的最佳方式就是首先避免使用它们。
毕竟,子文件夹超越参数,帮助 Google 了解网站结构,而静态的基于关键字的 URL 一直是页面 SEO 的基石。
为实现此目的,您可以使用服务器端 URL 重写将参数转换为子文件夹 URL。
例如,以下 URL:
www.example.com/view-product?id=482794
将会变成:
www.example.com/widgets/purple
这种方法非常适用于描述性关键字参数,例如用于识别类别、产品或搜索引擎相关属性过滤器的参数。它对于翻译内容也很有效。
但对于分面导航中与关键字无关的元素(例如确切价格),这会成为问题。将此类过滤器用作静态、可索引 URL 不会带来 SEO 价值。
这也是搜索参数的一个问题,因为每个用户生成的查询都会创建一个静态页面,该页面会争夺规范的排名 - 或者更糟的是,每当用户搜索您不提供的项目时,就会向爬虫程序呈现低质量的内容页面。
当应用于分页时,它有点奇怪(尽管由于 WordPress 的原因,这并不罕见),它会给出如下URL
www.example.com/widgets/purple/page2
重新排序非常奇怪,这将给出如下 URL
www.example.com/widgets/purple/lowest-price
而且通常不是一种可行的跟踪选项。Google Analytics 不会承认 UTM 参数的静态版本。
更重要的是:用静态 URL 替换分页、现场搜索框结果或排序等动态参数并不能解决重复内容、抓取预算或内部链接权益稀释的问题。
将分面导航中的所有筛选器组合作为可索引 URL 通常会导致内容单薄的问题。特别是如果您提供多选筛选器。
许多 SEO 专家认为,可以在不影响 URL 的情况下提供相同的用户体验。例如,通过使用 POST 而不是 GET 请求来修改页面内容。这样,既能保留用户体验,又能避免 SEO 问题。
但是以这种方式剥离参数会使您受众无法为该特定页面添加书签或分享链接,这显然对于跟踪参数来说是不可行的,对于分页来说也不是最佳的。
问题的关键在于,对于许多网站来说,如果想提供理想的用户体验,完全避免使用参数根本是不可能的。这也不是最佳实践的 SEO。
所以剩下的就这些了。对于您不想在搜索结果中被索引的参数(分页、重新排序、跟踪等),请将它们实现为查询字符串。对于您确实希望被索引的参数,请使用静态 URL 路径。
优点:
- 将爬虫程序的焦点从基于参数的转移到排名可能性更高的静态 URL。
缺点:
- 投入大量时间进行 URL 重写和 301 重定向的开发。
- 不能防止重复内容问题。
- 不合并排名信号。
- 不适合所有参数类型。
- 可能会导致内容稀薄的问题。
- 并不总是提供可链接或可收藏的 URL。
SEO 的 URL 参数处理的最佳实践
那么您应该实施这六种 SEO 策略中的哪一种呢?
答案不可能是全部。
这不仅会造成不必要的复杂性,而且 SEO 解决方案往往会相互冲突。
例如,如果您实施 robots.txt 禁止,Google 将无法看到任何元 noindex 标记。您也不应该将元 noindex 标记与 rel=canonical链接属性结合使用。
Google 的 John Mueller、Gary Ilyes 和 Lizzi Sassman 甚至无法决定采用哪种方法。在Search Off The Record 节目中,他们讨论了参数给抓取带来的挑战。
他们甚至建议在 Google Search Console 中恢复参数处理工具。Google,如果你正在读这篇文章,请一定要把它恢复过来!
显而易见的是,没有一个完美的解决方案。有时抓取效率比整合权威信号更重要。
最终,什么适合您的网站将取决于您的优先事项。
就我个人而言,我采取以下SEO友好参数处理策略:
- 研究用户意图以了解哪些参数应该是搜索引擎友好的静态 URL。
- 使用 ?page= 参数实现有效的分页处理。
- 对于所有剩余的基于参数的 URL,使用 robots.txt 禁止阻止抓取并添加 noindex 标签作为备份。
- 仔细检查 XML 站点地图中是否未提交基于参数的 URL。
无论您选择实施哪种参数处理策略,请务必记录您的努力对 KPI 的影响。


财经自媒体联盟

4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有