解密 URL 参数:如何利用它们提升网站性能和用户体验

什么是 URL 参数?

URL 参数是添加到 URL 末尾的额外信息,用于告诉网站如何自定义内容、过滤结果或跟踪浏览会话。

URL 参数如下所示:

让我们将其分解为几个部分:

  • 问号 (?) 之前的所有内容都是您的常规网站地址
  • 所有参数都位于问号 (?)
  • 每个参数都写为一个键和值,用等号分隔 (category=shoes))
  • 多个参数用 & 符号 (&)

在上面的示例中,参数会筛选商品信息,以仅显示 9 码的蓝色鞋子。

URL 参数可以帮助您为访客创建更加个性化的体验,改进网站的功能,并收集有价值的数据以进行分析。

URL 参数与查询字符串

术语 "URL parameters" 和 "query strings" 经常互换使用,这在大多数情况下是完全可以的。

但是,存在一个微妙的技术差异。

URL 参数具体来说是各个键值对:

bash 复制代码
category=shoes
color=blue
size=9

查询字符串是参数的整个字符串,包括问号和 & 符号:

bash 复制代码
?category=shoes&color=blue&size=9

请随意使用任何一个术语。大多数开发人员都明白,他们本质上指的是同一个概念。

如何使用 URL 参数?

您可以通过多种方式使用 URL 参数来增强网站的功能和用户体验。

以下是 URL 参数的一些最常见用例:

  • 筛选和排序内容:您可以使用 URL 参数动态筛选或排序内容,而无需用户重新加载整个页面。这对于具有众多产品类别和变体的电子商务网站特别有用。或者任何需要帮助用户缩小大型项目集合范围的网站。
  • 个性化:网站可以使用参数来定制体验,例如根据用户的位置向用户显示特定于区域的页面 (?region=us) 或以用户的首选语言 (?lang=en) 显示内容。尽管有更好的替代方案,我们将在后面介绍。
  • 分页:URL 参数有助于在多个页面(?page=2、?page=3、?page=4 等)中显示大量内容,以便用户能够浏览这些页面。这对于具有大量集合的网站(如博客文章和产品列表)特别有用。
  • 搜索功能:URL 参数也用于网站的搜索功能。当用户提交搜索查询时,该查询将附加到 URL (?search=running+shoes),从而允许网站显示相关的搜索结果。
  • 会话管理:某些网站使用 URL 参数来维护会话信息并跨多个页面跟踪用户活动 (?sessionid=xyz123)。但是,Cookie 在很大程度上取代了这种方法。
  • 营销活动跟踪和分析:营销人员可以使用 URL 参数来跟踪营销活动的效果。通过添加特定参数(?utm_source=facebook 或 ?campaign=summer_sale),他们可以监控流量的来源。

URL 查询参数的主要类型有哪些?

URL 参数大致可分为两种类型:主动和被动。

主动

主动参数直接影响网页的内容或功能。

当 URL 中出现活动参数时,网站会使用这些值来调整页面显示的内容或行为方式,以创建根据用户需求量身定制的动态交互式体验。

我们已经看到了一些活动参数的示例,包括:

  • 筛选商品信息
  • 从分页序列加载特定页面
  • 显示特定于区域的页面

被动

被动参数不会更改屏幕上显示的内容。相反,它们在幕后工作以支持跟踪用户行为或管理会话等功能。

这些参数可帮助开发人员和营销人员收集数据并更好地管理重要流程。

考虑如下用途:

  • 监控流量来源
  • 识别用户会话

URL 中的参数如何影响 SEO?

虽然 URL 参数很有用,但它们会影响您的 SEO 性能。

URL 参数导致的最常见的 SEO 问题是:

  • 重复内容:URL 参数可以创建同一页面的多个版本,搜索引擎可能会将其解释为重复内容。例如,"?sort=asc" 和 "?sort=desc" 可能以不同的顺序显示相同的内容。这可能会使搜索引擎对哪个版本进行排名感到困惑。
  • 抓取预算浪费:搜索引擎为每个网站分配抓取预算,限制它们在给定时间范围内抓取的页面数量。如果您的网站生成了大量带有指向类似内容的参数的 URL,则爬虫可能会在这些变体上浪费时间,而不是发现新的、独特的内容。
  • 关键词蚕食:具有不同参数的多个 URL 通常定位到同一个关键词组。这意味着你的页面在搜索结果中基本上是相互竞争的。这种内部竞争会阻止任何单个页面获得良好的排名。
  • 稀释的排名信号:URL 参数会影响链接资产(通过链接传递的排名值)在网站中的分布方式。如果外部或内部链接指向同一页面的不同参数化版本,则链接资产可能会在这些版本之间拆分,而不是合并到一个主 URL 上。这可能会削弱主页的整体排名潜力。

使用 URL 参数的 5 个 SEO 最佳实践

要缓解 URL 参数可能造成的 SEO 挑战,请遵循以下最佳实践:

1. 添加规范标签

所有参数化 URL 都应包含一个规范标签(一种 HTML 代码段),用于将不包含参数的主页标识为规范页面。

此标签如下所示:

bash 复制代码
<link rel="canonical" href="https://www.yourdomain.com/your-main-page" />

规范标签告诉搜索引擎应该为哪些 URL 编入索引(存储在数据库中)以进行排名。这将链接资产合并到主页并防止重复内容的问题。

此外,随着时间的推移,搜索引擎将优先抓取规范页面而不是参数化变体,从而提高您网站的抓取效率。

添加规范标签对于具有广泛过滤选项的网站特别有价值,包括:

  • 电子商务网站,可以按颜色、尺寸、品牌、价格等筛选产品。
  • 房地产网站,可以按位置、价格范围、便利设施等筛选房产。
  • 工作委员会具有针对行业、经验水平、地点等的众多过滤器组合。
  • 允许通过不同的参数组合访问类似内容的任何其他站点

实现规范标签相对简单。与开发人员合作,将此行添加到参数化页面的 <head> 部分和规范版本:

bash 复制代码
<link rel="canonical" href="https://www.yourdomain.com/your-main-page" />

确保将示例 URL 替换为您要指定的主页 URL。

2. 阻止包含带有 Robots.txt 的参数的 URL

在某些情况下,您可能需要通过配置 robots.txt 文件来阻止搜索引擎抓取具有特定参数的 URL。

机器人在抓取您的网站之前会检查 robots.txt 文件。他们通常会按照其指示来避免抓取哪些页面。请考虑以下场景:

  • 您的参数可以生成几乎无限的 URL,但几乎没有唯一内容
  • 您遇到了抓取预算问题,并且由于带有参数的 URL 数量庞大,搜索引擎无法抓取您的所有重要页面

在上述每种情况下,阻止某些参数都可以显著提高机器人抓取您网站的效率。并帮助搜索引擎专注于您最重要的内容。

您可以在 Google Search Console (GSC) 中检查您的抓取活动并识别有问题的参数。

转到 GSC 并导航到"Settings"选项。

找到 "Crawl stats" 报告,然后单击 "Open Report""

然后滚动到"By file type"并单击"HTML"。

您将在您的网站上看到 Google 的抓取活动。

在 "Examples" 部分下,您将看到被抓取的实际 URL。请密切注意这些 URL 中任何可能浪费您的抓取预算的重复参数。

确定有问题的参数后,请更新 robots.txt 文件以阻止它们。

喜欢这个:

bash 复制代码
User-agent: *
Disallow: /*?sort=

该指令告诉搜索引擎避免抓取任何包含 "?sort=" 的 URL,从而保留对最重要内容的抓取预算。

3. 避免使用 URL 参数进行本地化

如果您的网站为不同地区和/或语言的客户提供服务,最好避免使用 URL 参数进行本地化,因为它们不是很用户友好,并且可能会混淆搜索引擎机器人。

此外,Google 明确表示他们不建议使用 URL 参数进行本地化。

相反,最好为每个区域使用专用 URL。这种方法为搜索引擎提供了更强的地理定位信号。您可以通过以下方式实现此目的:

4. 使用一致的内部链接

内部链接是将网站上的一个页面连接到同一域中的另一个页面的超链接。

不要使用参数链接到变体,而是从导航和其他内容直接链接到每个页面的干净、规范版本。

这巩固了链接资产,并向搜索引擎发送了明确的信号,告诉搜索引擎应该优先在搜索结果中显示哪个版本。

5. 从审计中排除参数化 URL

如果您定期审核网站是否存在 SEO 问题,请务必过滤掉参数化 URL,以确保您的审核侧重于核心网站内容。

如果您使用 Semrush 的 Site Audit 工具来审核您的网站,您可以配置该工具,使其从抓取中排除参数化 URL。

以下是设置过程:

打开该工具,输入您的域名,然后单击"Start Audit"。

在设置向导中,选择"Remove URL parameters"(删除 URL 参数)。并列出要避免爬取的参数。

例如,如果要排除分页参数(?page=1、?page=2、?page=3 等),请在选项卡右侧的框中提及"page"。

这将确保该工具避免抓取 URL 参数中包含 "page" 键的 URL。

列出所有要忽略的参数后,单击 "Start Site Audit"。

该工具将生成一份报告,为您提供您网站的技术健康状况的概述。

以及它在您的网站上发现的一些主要问题。

然后,您可以查看问题。并采取措施修复它们。

相关推荐
暗暗那23 分钟前
【面试】什么是回流和重绘
前端·css·html
小宁爱Python26 分钟前
用HTML和CSS绘制佩奇:我不是佩奇
前端·css·html
weifexie1 小时前
ruby可变参数
开发语言·前端·ruby
千野竹之卫1 小时前
3D珠宝渲染用什么软件比较好?渲染100邀请码1a12
开发语言·前端·javascript·3d·3dsmax
sunbyte1 小时前
初识 Three.js:开启你的 Web 3D 世界 ✨
前端·javascript·3d
半兽先生1 小时前
WebRtc 视频流卡顿黑屏解决方案
java·前端·webrtc
南星沐2 小时前
Spring Boot 常用依赖介绍
java·前端·spring boot
孙_华鹏3 小时前
手撸一个可以语音操作高德地图的AI智能体
前端·javascript·coze
zhangxingchao3 小时前
Jetpack Compose 动画
前端
@PHARAOH3 小时前
HOW - 缓存 React 自定义 hook 的所有返回值(包括函数)
前端·react.js·缓存