URL 参数或查询字符串是 URL 的一部分,通常位于问号 (?) 之后,用于随 URL 一起传递数据。它们可以是修改页面内容的主动参数,也可以是主要用于跟踪且不更改内容的被动参数。
它们由键值对组成,其中键告诉您正在传递什么数据,值是您正在传递的数据,例如标识符。它们看起来像 ?key=value 但可以用与号 (&) 分隔,如 ?key=value&key2=value2(如果有多于一对)。
URL 参数部分的说明。
在本文中将介绍您需要了解的有关 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 参数可能会导致许多不同的问题,尤其是在使用多个参数的情况下。以下是您可能遇到的一些问题。
被动参数可能会导致重复内容的问题。通常,您希望对它们进行爬网,并且每个页面都应该有一个主版本的规范集。
有时,您可能希望使用robots.txt完全阻止这些参数被抓取,但仅限于抓取预算可能存在问题的情况。我们稍后会详细介绍这一点。
Google 将在称为规范化的过程中选择要索引的页面版本,并且链接等信号将合并到该索引版本。
活动参数可能会创建具有几乎重复的内容或与其他内容非常相似的内容的页面。它们也可能是完全不同的内容。您需要检查您的参数的实际用途。
内部链接
您应该避免使用被动参数,例如用于跟踪内部链接(从网站的一个页面到另一页面的链接)的参数。
这在大型网站上仍然是一种非常常见的做法,但我想强调这是一种古老且过时的做法,您不应该这样做。
大多数分析系统都有事件跟踪功能,您可以使用它来记录数据,而无需向 URL 添加参数。
在大多数情况下,在内部链接上使用活动参数是可以的。
爬行
带有参数的无限 URL 路径或大量不同的组合可能会导致抓取问题。保持一致的顺序,并且没有允许添加其他参数的路径。
您可以使用“站点审核”中的“结构浏览器”工具下的“深度”报告轻松找到潜在的无限路径。网站具有 9 个以上级别的情况并不常见,因此这是一个强有力的指标,表明实际上可能存在无限路径或其他问题。
Structure Explorer中的深度报告。
谷歌会做出调整,因为它在抓取时识别出无限路径或某些模式。它会尝试限制对其认为无用或重复的 URL 的抓取。
国际化
URL 参数有时用于国际网站。这些被列为特定于区域设置的 URL 的选项。但就连谷歌也表示不推荐这样做。它增加了另一层复杂性,更多的事情可能会出错。您也无法在 Google Search Console 中对这些网址进行地理定位。
电子商务
参数通常用于电子商务中的所有内容,从跟踪、分页到分面导航。这些主题可能非常复杂,因此我建议阅读我链接的博客文章以更好地理解它们。
JavaScript
人们使用 # 代替 ? 的趋势越来越明显。作为片段标识符,特别是对于诸如用于跟踪的被动参数。这通常不是一个好主意。但在特定情况下,这样做来替换不必要的参数也许就可以了。由于所有问题,我倾向于建议不要这样做。
问题是服务器忽略#之后的任何内容,并且许多系统根本不会或无法识别使用#的参数。
另外,#已经有一个指定的用例,即滚动到页面的一部分。这是在客户端完成的,JavaScript 开发人员也可以使用它来“路由”到具有不同内容的页面。
审计
最好检查一下您的网站使用了哪些参数。在站点审核的 页面浏览器工具中,您可以搜索包含问号 (?) 的 URL。
在Page Explorer中搜索参数。
您可以使用高级过滤器查找具有多个参数的页面,或开始排除参数以帮助您识别网站上使用的所有各种参数。
一旦您知道使用了哪些参数,我建议您检查一些页面以了解这些参数的实际用途。
您还可以检查“重复项”报告中是否有完全相同或接近重复的项。通过视觉效果,您可以轻松查看是否有相同或相似页面的多个版本,以及它们是否具有匹配的规范标签来选择首选版本。您可以单击进入每个集群以获取更多信息。
复制内容树图视图以显示集群。
“批量导出”下还有一个选项,可让您一次导出所有重复内容。我发现此选项更容易用于较大的数据集。
控制参数
过去,Google 在 Google Search Console 中有一个 URL 参数工具,您可以根据是否更改页面内容来选择如何处理不同的参数。该工具已于 2022 年初被弃用。以下是Google 对此的说法:
当 Search Console 的前身网站站长工具于 2009 年推出 URL 参数工具时,互联网比现在更加狂野。SessionID 参数非常常见,CMS 难以组织参数,并且浏览器经常断开链接。借助 URL 参数工具,网站所有者可以通过指定某些参数如何影响其网站内容来精细控制 Google 抓取其网站的方式。
多年来,谷歌在猜测网站上哪些参数有用、哪些参数(简单地说)无用方面变得更加擅长。事实上,目前在 URL 参数工具中指定的参数配置中,只有大约 1% 对爬行有用。由于该工具对于 Google 和 Search Console 用户而言价值较低,我们将在 1 个月内弃用网址参数工具。
虽然没有提及,但我怀疑某些用户可能会使用该工具伤害自己。我过去遇到过这样的情况,有人设置了错误的设置,说内容没有改变,但它确实改变了。这从该网站的索引中删除了数十万页。哎呀!
您可以让 Google 抓取并找出如何为您处理参数。
规范标签
规范标签可以帮助将信号整合到选定的 URL,但需要对页面的每个附加版本进行爬网。正如我之前提到的,Google 可能会在识别模式时进行调整,并且随着时间的推移,这些规范化 URL 的抓取量可能会减少。
这是我默认选择的。但如果一个网站存在大量问题并且参数失控,我可能会考虑其他一些选项。
无索引
noindex元 机器人标记从索引中删除页面。这需要抓取一个页面。但同样,随着时间的推移,它的抓取量可能会减少。如果您需要信号来合并到其他页面,我将避免使用 noindex。
在 robots.txt 中阻止
阻止 robots.txt 中的参数意味着页面仍可能被索引。它们不太可能出现在正常搜索中。
问题是这些页面不会被抓取,也不会整合信号。如果要合并信号,请避免阻塞参数。
现场审核
在Site Audit中设置项目时,爬网设置中有一个名为“删除 URL 参数”的切换,您可以使用它来忽略任何带有参数的 URL。
您还可以使用模式匹配在爬网设置中排除参数化 URL。
阻止站点审核中的参数
总结
总而言之,URL 参数有很多不同的用例,它们可能会也可能不会给您的网站带来问题。一切都是视情况而定。