URL 参数或查询字符串是 URL 的一部分,通常位于问号 (?) 之后,用于将数据与 URL 一起传递。它们可以是修改页面内容的主动参数,也可以是主要用于跟踪且不更改内容的被动参数。
它们由键值对组成,其中键告诉您正在传递哪些数据,值是要传递的数据,例如标识符。它们看起来像 ?key=value,但如果有多个对,则可能用与号 (&) 分隔,如 ?key=value&key2=value2。
![网址参数的各个部分](https://ahrefs.com/blog/wp-content/uploads/2022/07/1-url-parameter-parts.png)
在本指南中,我们将介绍您需要了解的有关 URL 参数的信息。
如何使用参数
正如我在介绍中提到的,参数可以是主动的,也可以是被动的。让我们看一下每种方法的一些示例。
活动参数
活动参数以某种方式修改页面的内容。
筛选。删除某些内容,在页面上留下用户要查看的更具体的内容。这方面的一个例子是电子商务中的分面导航。
?color=yellow
排序。以某种方式(如按价格或评级)对内容进行重新排序。
?sort=highest_rated
分页。将内容划分为一系列相关页面。
?p=2
翻译。更改内容的语言。
?lang=de
搜索。查询网站以获取用户要查找的信息。
在我们的搜索引擎上,yep.com,我们使用键“q”进行查询,该值包含有关用户查询的信息。
?q=ahrefs
被动参数
被动参数不会更改内容。它们通常用于跟踪。让我们看一下每种方法的一些示例。
联盟 ID。传递用于跟踪销售和注册来源的标识符。
?id=ahrefs
广告标签。跟踪广告活动。
?utm_source=newsletter
会话 ID。标识特定用户。在现代网站上,使用会话 ID 来跟踪用户并不常见。
?sessionid=12345
视频时间戳。跳转到视频中的指定时间戳。
?t=135
搜索引擎优化影响
当涉及到SEO时,URL参数可能会导致许多不同的问题,尤其是在使用多个参数的情况下。以下是您可能会遇到的一些问题。
被动参数可能会导致重复内容的问题。通常,您希望对它们进行抓取,并且每个网页都应将规范设置为主版本。
有时,您可能希望阻止这些参数完全使用漫游器进行抓取.txt,但前提是您可能遇到抓取预算问题。我们稍后将对此进行更多介绍。
Google 将在称为规范化的过程中选择要编入索引的网页版本,链接等信号将合并到该编入索引的版本。
活动参数可能会创建具有近乎重复的内容或与其他内容非常相似的内容的页面。它们也可能是完全不同的内容。您需要检查参数的实际用途。
内部链接
您应该避免使用被动参数,例如用于跟踪内部链接(从您网站上的一个页面到另一个页面的链接)的参数。
这在大型网站上仍然是一种非常普遍的做法,但我想强调的是,这是一种古老而过时的做法,你不应该这样做。
大多数分析系统都有事件跟踪,您可以改用,这些事件跟踪仍然可以记录数据,而无需向URL添加参数。
在大多数情况下,在内部链接上使用活动参数是可以的。
爬行
包含参数或大量不同组合的无限 URL 路径可能会导致抓取问题。保持一致的顺序,并且没有允许添加其他参数的路径。
您可以使用“站点审核”中“结构资源管理器”工具下的“深度”报告轻松找到潜在的无限路径。网站有9个以上的级别并不常见,所以这是一个强有力的指标,表明实际上可能存在无限的路径或其他一些问题。
![结构资源管理器的深度报告](https://ahrefs.com/blog/wp-content/uploads/2022/07/2-crawl-depth-report.png)
Google会进行调整,因为它会在抓取时识别无限路径或某些模式。它将尝试限制对它认为无用的URL或重复的URL的抓取。
国际化
URL 参数有时用于国际网站。这些 URL 作为特定于区域设置的 URL 的选项列出。但即使是谷歌也表示不推荐。它增加了另一层复杂性,其中更多事情可能会出错。您也无法在 Google 搜索控制台中对这些网址进行地理定位。
电子商务
在电子商务中,参数通常用于从跟踪到分页再到分面导航的所有内容。这些主题可能非常复杂,因此我建议您阅读我链接的博客文章以更好地理解它们。
JavaScript
人们使用#而不是?作为片段标识符,特别是对于被动参数,如用于跟踪的参数。这通常不是一个好主意。但在特定情况下,这样做可以替换不必要的参数。由于所有问题,我倾向于建议反对它。
问题是在服务器忽略#之后的任何事情,并且许多系统根本无法或无法识别使用#的参数。
此外,# 已经有一个指定的用例,即滚动到页面的一部分。这是在客户端完成的,JavaScript开发人员也可以使用它来“路由”到具有不同内容的页面。
审计
最好检查一下您的网站上使用了哪些参数。在站点审核的页面资源管理器工具中,您可以搜索包含问号 (?) 的 URL。
![在页面资源管理器中搜索参数](https://ahrefs.com/blog/wp-content/uploads/2022/07/3-parameter-search.png)
您可以使用高级过滤器查找具有多个参数的页面,或开始排除参数,以帮助您识别网站上使用的所有各种参数。
一旦你知道使用了哪些参数,我建议你检查一些页面,看看这些参数实际上做了什么。
您还可以检查“重复项”报告中是否有完全相同或近似重复项。通过视觉对象,可以轻松查看是否有很多相同或类似页面的版本,以及它们是否具有匹配的规范标记来选择首选版本。您可以单击每个群集以获取更多信息。
![复制内容树状图](https://ahrefs.com/blog/wp-content/uploads/2022/07/4-duplicate-content-tree-map.png)
“批量导出”下还有一个选项,可让您一次导出所有重复内容。我发现此选项更易于用于较大的数据集。
控制参数
过去,Google在Google Search Console中有一个URL参数工具,您可以在其中根据它是否更改了页面内容来选择如何处理不同的参数。该工具已于2022年初弃用。以下是谷歌对此的看法:
当URL参数工具于2009年在Search Console的前身网站站长工具中推出时,互联网是一个比今天更狂野的地方。SessionID参数非常常见,CMS在组织参数时遇到困难,浏览器经常破坏链接。借助网址参数工具,网站所有者可以通过指定某些参数如何影响其网站上的内容来精细控制 Google 抓取其网站的方式。
多年来,谷歌在猜测哪些参数在网站上是有用的,哪些参数是无用的。实际上,当前在 URL 参数工具中指定的参数配置中,只有大约 1% 可用于抓取。由于该工具对 Google 和 Search Console 用户的价值较低,我们将在 1 个月内弃用网址参数工具。
虽然没有提到,但我怀疑一些用户可能用该工具伤害了自己。我过去遇到过这种情况,有人放错了一个错误的设置,说内容没有改变,但它确实改变了。这从该网站的索引中剔除了几十万个页面。哎 呦!
您可以让Google抓取并找出如何处理参数,但您也可以利用一些控件。让我们来看看您的选择。
规范标签
规范代码有助于整合所选网址的信号,但需要抓取网页的每个附加版本。正如我之前提到的,Google可能会做出调整,因为它可以识别模式,并且随着时间的推移,这些规范化的URL可能会被抓取得更少。
这是我默认选择的。但是,如果一个网站有很多问题并且参数失控,我可能会考虑其他一些选项。
无索引
noindex 元漫游器标记会从索引中删除网页。这需要对页面进行爬网。但同样,随着时间的推移,它的爬行可能会减少。如果您需要信号来合并到其他页面,我将避免使用noindex。
机器人中的阻塞.txt
在机器人.txt中屏蔽参数意味着网页仍可能被编入索引。它们不太可能在正常搜索中显示。
问题在于,这些网页不会被抓取,也不会合并信号。如果要合并信号,请避免阻塞参数。
现场审核
在“网站审核”中设置项目时,爬网设置中有一个名为“删除 URL 参数”的开关,可用于忽略任何带有参数的 URL。
您还可以使用模式匹配在爬网设置中排除参数化 URL。
![阻止爬网设置中的参数](https://ahrefs.com/blog/wp-content/uploads/2022/07/5-block-parameter-crawling.png)
附注。
趣闻:我们只将网页的规范化版本计入您的抓取积分。
最后的思考
总而言之,URL参数有很多不同的用例,它们可能会也可能不会给您的网站带来问题。一切都是情境性的。